2005-06-15 04:40:33 +00:00
|
|
|
//Config for Crosshairs
|
|
|
|
//crosshairs can be altered or added by editing only this file
|
|
|
|
|
|
|
|
//winquake calls this every frame.
|
|
|
|
//gl calls when changed or animating (that's the diference in animated and non animated)
|
|
|
|
|
|
|
|
//don't use a point more than 8 units away from the centre.
|
|
|
|
//default must be non animated
|
|
|
|
|
|
|
|
#ifdef NUMCROSSHAIRS
|
|
|
|
|
|
|
|
//case 0 is no cursor
|
|
|
|
//case 1 is the console text '+'
|
|
|
|
//neither use this file.
|
|
|
|
|
|
|
|
case 2:
|
|
|
|
Pix(0 - 1, 0, c);
|
|
|
|
Pix(0 - 3, 0, c2);
|
|
|
|
Pix(0 + 1, 0, c);
|
|
|
|
Pix(0 + 3, 0, c2);
|
|
|
|
Pix(0, 0 - 1, c);
|
|
|
|
Pix(0, 0 - 3, c2);
|
|
|
|
Pix(0, 0 + 1, c);
|
|
|
|
Pix(0, 0 + 3, c2);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 3:
|
|
|
|
Pix(0 - 1, 0, c);
|
|
|
|
Pix(0 - 2, 0, c2);
|
|
|
|
Pix(0 + 1, 0, c);
|
|
|
|
Pix(0 + 2, 0, c2);
|
|
|
|
Pix(0, 0 - 1, c);
|
|
|
|
Pix(0, 0 - 2, c2);
|
|
|
|
Pix(0, 0 + 1, c);
|
|
|
|
Pix(0, 0 + 2, c2);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 4:
|
|
|
|
Pix(0-1, 0-1, c);
|
|
|
|
Pix(0-2, 0-2, c2);
|
|
|
|
Pix(0+1, 0+1, c);
|
|
|
|
Pix(0+2, 0+2, c2);
|
|
|
|
Pix(0-1, 0+1, c);
|
|
|
|
Pix(0-2, 0+2, c2);
|
|
|
|
Pix(0+1, 0-1, c);
|
|
|
|
Pix(0+2, 0-2, c2);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 5:
|
|
|
|
Pix(0-1, 0-1, c);
|
|
|
|
Pix(0-3, 0-3, c2);
|
|
|
|
Pix(0+1, 0+1, c);
|
|
|
|
Pix(0+3, 0+3, c2);
|
|
|
|
Pix(0-1, 0+1, c);
|
|
|
|
Pix(0-3, 0+3, c2);
|
|
|
|
Pix(0+1, 0-1, c);
|
|
|
|
Pix(0+3, 0-3, c2);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 6:
|
|
|
|
Pix(0-1, 0-2, c2);
|
|
|
|
Pix(0+1, 0-2, c2);
|
|
|
|
Pix(0-1, 0+2, c2);
|
|
|
|
Pix(0+1, 0+2, c2);
|
|
|
|
Pix(0-2, 0+1, c);
|
|
|
|
Pix(0-2, 0-1, c);
|
|
|
|
Pix(0+2, 0+1, c);
|
|
|
|
Pix(0+2, 0-1, c);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 7:
|
|
|
|
Pix(0 , 0+2, c);
|
|
|
|
Pix(0+1, 0+1, c2);
|
|
|
|
Pix(0+2, 0 , c);
|
|
|
|
Pix(0+1, 0-1, c2);
|
|
|
|
Pix(0 , 0-2, c);
|
|
|
|
Pix(0-1, 0-1, c2);
|
|
|
|
Pix(0-2, 0 , c);
|
|
|
|
Pix(0-1, 0+1, c2);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 8:
|
|
|
|
Pix(0 , 0+2, c);
|
|
|
|
Pix(0 , 0-2, c);
|
|
|
|
Pix(0+2, 0 , c2);
|
|
|
|
Pix(0-2, 0 , c2);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 9:
|
|
|
|
Pix(0 , 0-1, c);
|
|
|
|
Pix(0-2, 0+1, c2);
|
|
|
|
Pix(0+2, 0+1, c2);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 10:
|
|
|
|
Pix(0 , 0-3, c);
|
|
|
|
Pix(0-2, 0-2, c2);
|
|
|
|
Pix(0 , 0-2, c);
|
|
|
|
Pix(0+2, 0-2, c2);
|
|
|
|
Pix(0-3, 0 , c);
|
|
|
|
Pix(0-2, 0 , c);
|
|
|
|
Pix(0+2, 0 , c);
|
|
|
|
Pix(0+3, 0 , c);
|
|
|
|
Pix(0 , 0+3, c);
|
|
|
|
Pix(0-2, 0+2, c2);
|
|
|
|
Pix(0 , 0+2, c);
|
|
|
|
Pix(0+2, 0+2, c2);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 11:
|
|
|
|
Pix(0-3, 0-3, c2);
|
|
|
|
Pix(0 , 0-3, c);
|
|
|
|
Pix(0+3, 0-3, c2);
|
|
|
|
Pix(0-2, 0-2, c2);
|
|
|
|
Pix(0 , 0-2, c);
|
|
|
|
Pix(0+2, 0-2, c2);
|
|
|
|
Pix(0-3, 0 , c);
|
|
|
|
Pix(0-2, 0 , c);
|
|
|
|
Pix(0+2, 0 , c);
|
|
|
|
Pix(0+3, 0 , c);
|
|
|
|
Pix(0 , 0+3, c);
|
|
|
|
Pix(0-2, 0+2, c2);
|
|
|
|
Pix(0 , 0+2, c);
|
|
|
|
Pix(0-3, 0+3, c2);
|
|
|
|
Pix(0+2, 0+2, c2);
|
|
|
|
Pix(0+3, 0+3, c2);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 12:
|
|
|
|
Pix(0-4, 0 , c2);
|
|
|
|
Pix(0-3, 0 , c2);
|
|
|
|
Pix(0-2, 0 , c);
|
|
|
|
Pix(0-1, 0 , c);
|
|
|
|
Pix(0+1, 0 , c);
|
|
|
|
Pix(0+2, 0 , c);
|
|
|
|
Pix(0+3, 0 , c2);
|
|
|
|
Pix(0+4, 0 , c2);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 13:
|
|
|
|
Pix(0 , 0-4, c2);
|
|
|
|
Pix(0 , 0-3, c2);
|
|
|
|
Pix(0 , 0-2, c);
|
|
|
|
Pix(0 , 0-1, c);
|
|
|
|
Pix(0 , 0+1, c);
|
|
|
|
Pix(0 , 0+2, c);
|
|
|
|
Pix(0 , 0+3, c2);
|
|
|
|
Pix(0 , 0+4, c2);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 14:
|
|
|
|
Pix(0-4, 0 , c2);
|
|
|
|
Pix(0-3, 0 , c2);
|
|
|
|
Pix(0-2, 0 , c);
|
|
|
|
Pix(0-1, 0 , c);
|
|
|
|
Pix(0+1, 0 , c);
|
|
|
|
Pix(0+2, 0 , c);
|
|
|
|
Pix(0+3, 0 , c2);
|
|
|
|
Pix(0+4, 0 , c2);
|
|
|
|
|
|
|
|
Pix(0 , 0-4, c2);
|
|
|
|
Pix(0 , 0-3, c2);
|
|
|
|
Pix(0 , 0-2, c);
|
|
|
|
Pix(0 , 0-1, c);
|
|
|
|
Pix(0 , 0+1, c);
|
|
|
|
Pix(0 , 0+2, c);
|
|
|
|
Pix(0 , 0+3, c2);
|
|
|
|
Pix(0 , 0+4, c2);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 15:
|
|
|
|
Pix(0 , 0-4, c);
|
|
|
|
Pix(0-3, 0-3, c2);
|
|
|
|
Pix(0 , 0-3, c);
|
|
|
|
Pix(0+3, 0-3, c2);
|
|
|
|
Pix(0-2, 0-2, c2);
|
|
|
|
Pix(0 , 0-2, c);
|
|
|
|
Pix(0+2, 0-2, c2);
|
|
|
|
Pix(0-4, 0 , c);
|
|
|
|
Pix(0-3, 0 , c);
|
|
|
|
Pix(0-2, 0 , c);
|
|
|
|
Pix(0+2, 0 , c);
|
|
|
|
Pix(0+3, 0 , c);
|
|
|
|
Pix(0+4, 0 , c);
|
|
|
|
Pix(0 , 0+3, c);
|
|
|
|
Pix(0-2, 0+2, c2);
|
|
|
|
Pix(0 , 0+2, c);
|
|
|
|
Pix(0-3, 0+3, c2);
|
|
|
|
Pix(0+2, 0+2, c2);
|
|
|
|
Pix(0+3, 0+3, c2);
|
|
|
|
Pix(0 , 0+4, c);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 16:
|
|
|
|
Pix(0 , 0 , c2);
|
|
|
|
Pix(0+1, 0+1, c);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 17:
|
|
|
|
Pix(0 , 0 , c);
|
|
|
|
Pix(0 , 1, c2);
|
|
|
|
Pix(0 , 2, c2);
|
|
|
|
Pix( 1, 3, c);
|
|
|
|
Pix( 1, 0 , c2);
|
|
|
|
Pix( 2, 0 , c2);
|
|
|
|
Pix( 3, 1, c);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 18:
|
|
|
|
Pix(0 , 0 , c);
|
|
|
|
Pix(-2, 0 , c2);
|
|
|
|
Pix(-3, 0 , c2);
|
|
|
|
Pix( 2, 0 , c2);
|
|
|
|
Pix( 3, 0 , c2);
|
|
|
|
Pix(-3, 1 , c2);
|
|
|
|
Pix( 3, 1 , c2);
|
|
|
|
Pix(-3, 2 , c2);
|
|
|
|
Pix( 3, 2 , c2);
|
|
|
|
Pix(-2, 2 , c2);
|
|
|
|
Pix( 2, 2 , c2);
|
|
|
|
Pix(-2, 3 , c2);
|
|
|
|
Pix( 2, 3 , c2);
|
|
|
|
Pix(-1, 3 , c2);
|
|
|
|
Pix( 1, 3 , c2);
|
|
|
|
Pix( 0, 3 , c2);
|
|
|
|
Pix( 0, 4 , c2);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 19: //tripointer
|
|
|
|
Pix(0 , -1, c); //north
|
|
|
|
Pix(0 , -2, c);
|
|
|
|
Pix(0 , -3, c);
|
|
|
|
|
|
|
|
Pix(1 , 1 , c);
|
|
|
|
Pix(2 , 2 , c);//east
|
|
|
|
Pix(3 , 3 , c);
|
|
|
|
|
|
|
|
Pix(-1, 1 , c);//west
|
|
|
|
Pix(-2, 2 , c);
|
|
|
|
Pix(-3, 3 , c);
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 20: //twin circles
|
|
|
|
{
|
|
|
|
#define DEG(a) (a * (3.14 / 180))
|
|
|
|
#define SCLE 8 //don't let it get bigger than 16 wide (+-8)
|
|
|
|
#define SCLE2 4
|
|
|
|
|
|
|
|
int a;
|
|
|
|
#ifndef GLQUAKE
|
|
|
|
for (a = 0; a < 360; a+=5) //softquake doesn't draw as many pixels.
|
|
|
|
#else
|
|
|
|
for (a = 0; a < 360; a+=1) //glquake gets high precision - done less, ya see
|
|
|
|
#endif
|
|
|
|
{
|
|
|
|
Pix((int)(sin(DEG(a)) * SCLE ), (int)(cos(DEG(a)) * SCLE ) , c );
|
|
|
|
Pix((int)(cos(DEG(a)) * SCLE2), (int)(sin(DEG(a)) * SCLE2) , c2);
|
|
|
|
}
|
|
|
|
|
|
|
|
#undef SCLE
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
#else
|
|
|
|
//what's the next?
|
|
|
|
#define FIRSTANIMATEDCROSHAIR 21
|
|
|
|
#endif
|
|
|
|
#ifdef NUMCROSSHAIRS
|
|
|
|
|
|
|
|
case FIRSTANIMATEDCROSHAIR: //spinners
|
|
|
|
{
|
|
|
|
#define DEG(a) (a * (3.14 / 180))
|
|
|
|
#define SPEED 6
|
|
|
|
#define SCLE 8 //don't let it get bigger than 16 wide (+-8)
|
|
|
|
#define SCLE2 4
|
|
|
|
#define TIMER realtime
|
|
|
|
Pix((int)(sin(TIMER*SPEED ) * SCLE ), (int)(cos(TIMER*SPEED ) * SCLE ) , c );
|
|
|
|
Pix((int)(sin(TIMER*SPEED+DEG(90 )) * SCLE ), (int)(cos(TIMER*SPEED+DEG(90 )) * SCLE ) , c );
|
|
|
|
Pix((int)(sin(TIMER*SPEED+DEG(180)) * SCLE ), (int)(cos(TIMER*SPEED+DEG(180)) * SCLE ) , c );
|
|
|
|
Pix((int)(sin(TIMER*SPEED+DEG(270)) * SCLE ), (int)(cos(TIMER*SPEED+DEG(270)) * SCLE ) , c );
|
|
|
|
|
|
|
|
Pix((int)(cos(TIMER*SPEED ) * SCLE2), (int)(sin(TIMER*SPEED ) * SCLE2) , c2);
|
|
|
|
Pix((int)(cos(TIMER*SPEED+DEG(90 )) * SCLE2), (int)(sin(TIMER*SPEED+DEG(90 )) * SCLE2) , c2);
|
|
|
|
Pix((int)(cos(TIMER*SPEED+DEG(180)) * SCLE2), (int)(sin(TIMER*SPEED+DEG(180)) * SCLE2) , c2);
|
|
|
|
Pix((int)(cos(TIMER*SPEED+DEG(270)) * SCLE2), (int)(sin(TIMER*SPEED+DEG(270)) * SCLE2) , c2);
|
|
|
|
|
|
|
|
#undef SCLE
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case (FIRSTANIMATEDCROSHAIR+1):
|
|
|
|
{
|
|
|
|
#define DEG(a) (a * (3.14 / 180))
|
|
|
|
#define SPEED 6
|
|
|
|
#define SCLE 4 //don't let it get bigger than 16 wide (+-8)
|
|
|
|
#define TIMER realtime
|
|
|
|
|
|
|
|
Pix((int)(sin(TIMER*SPEED ) * SCLE), (int)(sin(TIMER*SPEED ) * -SCLE) , c );
|
|
|
|
Pix((int)(sin(TIMER*SPEED+DEG(180)) * SCLE), (int)(sin(TIMER*SPEED+DEG(180)) * -SCLE) , c2);
|
|
|
|
|
|
|
|
Pix((int)(cos(TIMER*SPEED ) * SCLE), (int)(cos(TIMER*SPEED ) * SCLE ) , c );
|
|
|
|
Pix((int)(cos(TIMER*SPEED+DEG(180)) * SCLE), (int)(cos(TIMER*SPEED+DEG(180)) * SCLE ) , c2);
|
|
|
|
|
|
|
|
#undef SCLE
|
|
|
|
#undef SPEED
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case (FIRSTANIMATEDCROSHAIR+2):
|
|
|
|
{
|
|
|
|
#define DEG(a) (a * (3.14 / 180))
|
|
|
|
#define SPEED 6
|
|
|
|
#define SCLE 4 //don't let it get bigger than 16 wide (+-8)
|
|
|
|
#define TIMER realtime
|
|
|
|
|
|
|
|
Pix((int)(sin(TIMER*SPEED ) * SCLE), (int)(sin(TIMER*SPEED ) * -SCLE) , c );
|
|
|
|
Pix((int)(sin(TIMER*SPEED+DEG(90)) * SCLE), (int)(sin(TIMER*SPEED+DEG(90)) * -SCLE) , c2);
|
|
|
|
Pix((int)(sin(TIMER*SPEED+DEG(180)) * SCLE), (int)(sin(TIMER*SPEED+DEG(180)) * -SCLE) , c);
|
|
|
|
Pix((int)(sin(TIMER*SPEED+DEG(270)) * SCLE), (int)(sin(TIMER*SPEED+DEG(270)) * -SCLE) , c2);
|
|
|
|
|
|
|
|
Pix((int)(cos(TIMER*SPEED ) * SCLE), (int)(cos(TIMER*SPEED ) * SCLE ) , c );
|
|
|
|
Pix((int)(sin(TIMER*SPEED+DEG(90)) * SCLE), (int)(sin(TIMER*SPEED+DEG(90)) * SCLE) , c2);
|
|
|
|
Pix((int)(cos(TIMER*SPEED+DEG(180)) * SCLE), (int)(cos(TIMER*SPEED+DEG(180)) * SCLE ) , c);
|
|
|
|
Pix((int)(sin(TIMER*SPEED+DEG(270)) * SCLE), (int)(sin(TIMER*SPEED+DEG(270)) * SCLE) , c2);
|
|
|
|
|
|
|
|
#undef SCLE
|
|
|
|
#undef SPEED
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case (FIRSTANIMATEDCROSHAIR+3):
|
|
|
|
{
|
|
|
|
int a;
|
|
|
|
#define DEG(a) (a * (3.14 / 180))
|
|
|
|
#define SPEED 9
|
|
|
|
#define SPEED2 4
|
|
|
|
#define SIZE 8 //don't let it get bigger than 16 wide (+-8)
|
|
|
|
#define SCLE 8
|
|
|
|
#define TIMER realtime
|
|
|
|
|
|
|
|
for (a = -SIZE; a < SIZE; a+=2)
|
|
|
|
{
|
|
|
|
Pix(a, (int)(sin(TIMER*SPEED2) * SCLE), c);
|
|
|
|
Pix((int)(sin(TIMER*SPEED) * SCLE), a, c2);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
#else
|
|
|
|
|
|
|
|
//what did we reach
|
|
|
|
#define NUMCROSSHAIRS FIRSTANIMATEDCROSHAIR+3
|
|
|
|
#define CROSSHAIR_H
|
|
|
|
|
2004-08-23 00:15:46 +00:00
|
|
|
#endif
|