- //picname = va("gfx/crosshair%i.tga", num + 1);
- //pic = Draw_CachePic(picname);
- //if (pic)
- // DrawQ_Pic((vid.conwidth - pic->width * crosshair_size.value) * 0.5f, (vid.conheight - pic->height * crosshair_size.value) * 0.5f, picname, pic->width * crosshair_size.value, pic->height * crosshair_size.value, color[0] * scale + base, color[1] * scale + base, color[2] * scale + base, crosshair_alpha.value, 0);
- {
- // trace the shot path up to a certain distance
- VectorCopy(cl_entities[cl.viewentity].render.origin, v1);
- v1[2] += 16; // HACK: this depends on the QC
- // get the forward vector for the gun (not the view)
- AngleVectors(cl.viewangles, v2, NULL, NULL);
- //VectorCopy(r_origin, v1);
- VectorMA(v1, 8192, v2, v2);
- spritescale = 4.0f + (CL_TraceLine(v1, v2, spriteorigin, NULL, 0, true) * 8192.0f) * (1.0f / 48.0f);
- spritescale = bound(0.0f, spritescale, 32.0f);
- //VectorMA(spriteorigin, -4, vpn, spriteorigin);
-
- cr = color[0] * scale + base;
- cg = color[1] * scale + base;
- cb = color[2] * scale + base;
- ca = crosshair_alpha.value;
+ out[0] = color[0] * scale + base;
+ out[1] = color[1] * scale + base;
+ out[2] = color[2] * scale + base;
+ out[3] = crosshair_alpha.value;
+
+ // clamp the colors and alpha
+ out[0] = bound(0, out[0], 1);
+ out[1] = bound(0, out[1], 1);
+ out[2] = bound(0, out[2], 1);
+ out[3] = bound(0, out[3], 1.0f);
+}