mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-24 02:30:46 +00:00
Crosshair color support... not done yet
git-svn-id: https://svn.eduke32.com/eduke32@938 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
563f0d81ae
commit
abc0aeb07c
3 changed files with 65 additions and 5 deletions
|
@ -3363,6 +3363,40 @@ static void drawoverheadmap(int cposx, int cposy, int czoom, short cang)
|
|||
}
|
||||
}
|
||||
|
||||
int crosshair_red = 255;
|
||||
int crosshair_green = 255;
|
||||
int crosshair_blue = 0;
|
||||
#define CROSSHAIR_PAL (MAXPALOOKUPS>>1)
|
||||
|
||||
void SetCrosshairColor(int r, int g, int b)
|
||||
{
|
||||
/* TODO: turn this into something useful */
|
||||
char *ptr = (char *)waloff[CROSSHAIR];
|
||||
int i, ii;
|
||||
extern int getclosestcol(int r, int g, int b);
|
||||
|
||||
hictinting[CROSSHAIR_PAL].r = crosshair_red = r;
|
||||
hictinting[CROSSHAIR_PAL].g = crosshair_green = g;
|
||||
hictinting[CROSSHAIR_PAL].b = crosshair_blue = b;
|
||||
hictinting[CROSSHAIR_PAL].f = 0;
|
||||
invalidatetile(CROSSHAIR, -1, -1);
|
||||
|
||||
if (waloff[CROSSHAIR] == 0) return;
|
||||
|
||||
ii = 0;
|
||||
i = getclosestcol(crosshair_red>>2, crosshair_green>>2, crosshair_blue>>2);
|
||||
while (ii < tilesizx[CROSSHAIR]*tilesizy[CROSSHAIR])
|
||||
{
|
||||
if (*ptr != 255)
|
||||
*ptr = i;
|
||||
ptr++;
|
||||
ii++;
|
||||
}
|
||||
for (i = 0; i < 256; i++)
|
||||
tempbuf[i] = i;
|
||||
makepalookup(CROSSHAIR_PAL,tempbuf,crosshair_red>>2, crosshair_green>>2, crosshair_blue>>2,1);
|
||||
}
|
||||
|
||||
void palto(int r,int g,int b,int e)
|
||||
{
|
||||
int tc;
|
||||
|
@ -3646,7 +3680,7 @@ void displayrest(int smoothratio)
|
|||
SetGameVarID(g_iReturnVarID,0,g_player[screenpeek].ps->i,screenpeek);
|
||||
OnEvent(EVENT_DISPLAYCROSSHAIR, g_player[screenpeek].ps->i, screenpeek, -1);
|
||||
if (GetGameVarID(g_iReturnVarID,g_player[screenpeek].ps->i,screenpeek) == 0)
|
||||
rotatesprite((160L-(g_player[myconnectindex].ps->look_ang>>1))<<16,100L<<16,scale(65536,ud.crosshairscale,100),0,CROSSHAIR,0,0,2+1,windowx1,windowy1,windowx2,windowy2);
|
||||
rotatesprite((160L-(g_player[myconnectindex].ps->look_ang>>1))<<16,100L<<16,scale(65536,ud.crosshairscale,100),0,CROSSHAIR,0,CROSSHAIR_PAL,2+1,windowx1,windowy1,windowx2,windowy2);
|
||||
}
|
||||
#if 0
|
||||
if (gametype_flags[ud.coop] & GAMETYPE_FLAG_TDM)
|
||||
|
@ -8024,11 +8058,7 @@ static void nonsharedkeys(void)
|
|||
CONTROL_ClearButton(gamefunc_Toggle_Crosshair);
|
||||
ud.crosshair = !ud.crosshair;
|
||||
if (ud.crosshair)
|
||||
{
|
||||
// Bsprintf(fta_quotes[122],"%s [%d%%]",fta_quotes[20],size[ud.crosshair-1]);
|
||||
// FTA(122,g_player[screenpeek].ps);
|
||||
FTA(20,g_player[screenpeek].ps);
|
||||
}
|
||||
else FTA(21,g_player[screenpeek].ps);
|
||||
}
|
||||
|
||||
|
|
|
@ -1320,6 +1320,27 @@ static int osdcmd_setcrosshairscale(const osdfuncparm_t *parm)
|
|||
return OSDCMD_OK;
|
||||
}
|
||||
|
||||
extern void SetCrosshairColor(int r, int g, int b);
|
||||
extern int crosshair_red;
|
||||
extern int crosshair_green;
|
||||
extern int crosshair_blue;
|
||||
|
||||
static int osdcmd_crosshaircolor(const osdfuncparm_t *parm)
|
||||
{
|
||||
int r, g, b;
|
||||
|
||||
if (parm->numparms != 3)
|
||||
{
|
||||
OSD_Printf("\"crosshaircolor\" : r:%d g:%d b:%d\n",crosshair_red,crosshair_green,crosshair_blue);
|
||||
return OSDCMD_SHOWHELP;
|
||||
}
|
||||
r = atol(parm->parms[0]);
|
||||
g = atol(parm->parms[1]);
|
||||
b = atol(parm->parms[2]);
|
||||
SetCrosshairColor(r,g,b);
|
||||
return OSDCMD_OK;
|
||||
}
|
||||
|
||||
static int osdcmd_visibility(const osdfuncparm_t *parm)
|
||||
{
|
||||
float f;
|
||||
|
@ -1361,6 +1382,7 @@ int registerosdcommands(void)
|
|||
|
||||
OSD_RegisterFunction("cl_statusbarscale","cl_statusbarscale: changes the status bar scale", osdcmd_setstatusbarscale);
|
||||
OSD_RegisterFunction("cl_crosshairscale","cl_crosshairscale: changes the crosshair scale", osdcmd_setcrosshairscale);
|
||||
OSD_RegisterFunction("crosshaircolor","crosshaircolor: changes crosshair color", osdcmd_crosshaircolor);
|
||||
OSD_RegisterFunction("cmenu","cmenu <#>: jumps to menu", osdcmd_cmenu);
|
||||
|
||||
OSD_RegisterFunction("echo","echo [text]: echoes text to the console", osdcmd_echo);
|
||||
|
|
|
@ -399,6 +399,11 @@ static void dofrontscreens(char *statustext)
|
|||
}
|
||||
}
|
||||
|
||||
extern void SetCrosshairColor(int r, int g, int b);
|
||||
extern int crosshair_red;
|
||||
extern int crosshair_green;
|
||||
extern int crosshair_blue;
|
||||
|
||||
void cacheit(void)
|
||||
{
|
||||
int i,j,pc=0;
|
||||
|
@ -497,6 +502,9 @@ void cacheit(void)
|
|||
}
|
||||
}
|
||||
|
||||
loadtile(CROSSHAIR);
|
||||
SetCrosshairColor(crosshair_red, crosshair_green, crosshair_blue);
|
||||
|
||||
clearbufbyte(gotpic,sizeof(gotpic),0L);
|
||||
|
||||
endtime = getticks();
|
||||
|
|
Loading…
Reference in a new issue