cvar_t crosshair_flashspeed = {"crosshair_flashspeed", "2", true};
cvar_t crosshair_flashrange = {"crosshair_flashrange", "0.1", true};
-#define NUMCROSSHAIRS 1
+#define NUMCROSSHAIRS 5
-int crosshairtex[NUMCROSSHAIRS];
+rtexture_t *crosshairtex[NUMCROSSHAIRS];
-char crosshairtex1[16*16] =
+byte *crosshairtexdata[NUMCROSSHAIRS] =
+{
+ "0000000000000000"
+ "0000000000000000"
+ "0000000000000000"
+ "0003300000033000"
+ "0003550000553000"
+ "0000577007750000"
+ "0000077007700000"
+ "0000000000000000"
+ "0000000000000000"
+ "0000077007700000"
+ "0000577007750000"
+ "0003550000553000"
+ "0003300000033000"
+ "0000000000000000"
+ "0000000000000000"
+ "0000000000000000"
+ ,
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
"0000000000000000"
-;
+ ,
+ "0000000000000000"
+ "0000000770000000"
+ "0000000770000000"
+ "0000000000000000"
+ "0000000000000000"
+ "0000000440000000"
+ "0000000440000000"
+ "0770044004400770"
+ "0770044004400770"
+ "0000000440000000"
+ "0000000440000000"
+ "0000000000000000"
+ "0000000770000000"
+ "0000000770000000"
+ "0000000000000000"
+ "0000000000000000"
+ ,
+ "0000000000000000"
+ "0000000000000000"
+ "0000000000000000"
+ "0000000000000000"
+ "0000000000000000"
+ "0000000000000000"
+ "0000000000000000"
+ "0000000000000000"
+ "0000000077777770"
+ "0000000075200000"
+ "0000000072000000"
+ "0000000070000000"
+ "0000000070000000"
+ "0000000070000000"
+ "0000000000000000"
+ "0000000000000000"
+ ,
+ "0000000000000000"
+ "0000000000000000"
+ "0000000000000000"
+ "0000000000000000"
+ "0000000000000000"
+ "0000000070000000"
+ "0000000000000000"
+ "0000000040000000"
+ "0000070404070000"
+ "0000000040000000"
+ "0000000000000000"
+ "0000000070000000"
+ "0000000000000000"
+ "0000000000000000"
+ "0000000000000000"
+ "0000000000000000"
+};
-void r_crosshairs_start()
+void crosshairload(int num, byte *in)
{
int i;
- byte data[64*64][4];
+ byte data[16*16][4];
for (i = 0;i < 16*16;i++)
{
data[i][0] = data[i][1] = data[i][2] = 255;
- data[i][3] = (crosshairtex1[i] - '0') * 255 / 7;
+ data[i][3] = (in[i] - '0') * 255 / 7;
}
- crosshairtex[0] = GL_LoadTexture("crosshair0", 16, 16, &data[0][0], false, true, 4);
+ crosshairtex[num] = R_LoadTexture(va("crosshair%02d", num), 16, 16, &data[0][0], TEXF_ALPHA | TEXF_RGBA | TEXF_PRECACHE);
+}
+
+void r_crosshairs_start(void)
+{
+ int i;
+ for (i = 0;i < NUMCROSSHAIRS;i++)
+ crosshairload(i, crosshairtexdata[i]);
+// crosshairtex[1] = crosshairload(crosshairtex2);
+}
+
+void r_crosshairs_shutdown(void)
+{
}
-void r_crosshairs_shutdown()
+void r_crosshairs_newmap(void)
{
}
-void R_Crosshairs_Init()
+void R_Crosshairs_Init(void)
{
Cvar_RegisterVariable(&crosshair_brightness);
Cvar_RegisterVariable(&crosshair_alpha);
Cvar_RegisterVariable(&crosshair_flashspeed);
Cvar_RegisterVariable(&crosshair_flashrange);
- R_RegisterModule("R_Crosshairs", r_crosshairs_start, r_crosshairs_shutdown);
+ R_RegisterModule("R_Crosshairs", r_crosshairs_start, r_crosshairs_shutdown, r_crosshairs_newmap);
}
void DrawCrosshair(int num)