Trying to fix bugs.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/branches/wip@3797 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
parent
646fd03f44
commit
ccc0750de0
6 changed files with 41 additions and 24 deletions
|
@ -396,26 +396,23 @@ void QCBUILTIN PF_CL_drawcolouredstring (progfuncs_t *prinst, struct globalvars_
|
|||
void QCBUILTIN PF_CL_stringwidth(progfuncs_t *prinst, struct globalvars_s *pr_globals)
|
||||
{
|
||||
char *text = PR_GetStringOfs(prinst, OFS_PARM0);
|
||||
qboolean usecolours = G_FLOAT(OFS_PARM1);
|
||||
int usecolours = G_FLOAT(OFS_PARM1);
|
||||
float fontsize;
|
||||
if (*prinst->callargc > 2)
|
||||
fontsize = G_FLOAT(OFS_PARM2);
|
||||
else
|
||||
fontsize = 1;
|
||||
|
||||
if (mp_globs.drawfontscale)
|
||||
fontsize *= mp_globs.drawfontscale[1];
|
||||
if (usecolours)
|
||||
{
|
||||
conchar_t buffer[2048], *str;
|
||||
conchar_t buffer[2048], *end;
|
||||
float px, py;
|
||||
COM_ParseFunString(CON_WHITEMASK, text, buffer, sizeof(buffer), false);
|
||||
str = buffer;
|
||||
end = COM_ParseFunString(CON_WHITEMASK, text, buffer, sizeof(buffer), false);
|
||||
|
||||
Font_BeginScaledString(font_conchar, 0, 0, &px, &py);
|
||||
while(*str)
|
||||
{
|
||||
px += Font_CharWidth(*str++);
|
||||
}
|
||||
px = Font_LineWidth(buffer, end);
|
||||
Font_EndString(font_conchar);
|
||||
|
||||
if (mp_globs.drawfontscale)
|
||||
|
|
|
@ -58,28 +58,18 @@ extern cvar_t r_stainfadeammount;
|
|||
static int lightmap_shift;
|
||||
int Surf_LightmapShift (model_t *model)
|
||||
{
|
||||
extern cvar_t gl_overbright_all, gl_lightmap_shift;
|
||||
extern cvar_t gl_overbright_all, gl_overbright, gl_lightmap_shift;
|
||||
|
||||
if (gl_overbright_all.ival || (model->engineflags & MDLF_NEEDOVERBRIGHT))
|
||||
lightmap_shift = bound(0, gl_lightmap_shift.ival, 2);
|
||||
lightmap_shift = bound(0, gl_lightmap_shift.ival + gl_overbright.ival, 2);
|
||||
else
|
||||
lightmap_shift = 0;
|
||||
return lightmap_shift;
|
||||
}
|
||||
|
||||
void Surf_RebuildLightmap (void)
|
||||
{
|
||||
int i;
|
||||
msurface_t *surf;
|
||||
|
||||
if (cl.worldmodel)
|
||||
for (i=0, surf = cl.worldmodel->surfaces; i<cl.worldmodel->numsurfaces ; i++, surf++)
|
||||
surf->cached_dlight=-1;//force it
|
||||
}
|
||||
|
||||
void Surf_RebuildLightmap_Callback (struct cvar_s *var, char *oldvalue)
|
||||
{
|
||||
Surf_RebuildLightmap();
|
||||
Mod_RebuildLightmaps();
|
||||
}
|
||||
|
||||
//radius, x y z, r g b
|
||||
|
|
|
@ -344,6 +344,7 @@ struct model_s *RMod_ForName (char *name, qboolean crash);
|
|||
struct model_s *RMod_FindName (char *name);
|
||||
void *RMod_Extradata (struct model_s *mod); // handles caching
|
||||
void RMod_TouchModel (char *name);
|
||||
void Mod_RebuildLightmaps (void);
|
||||
|
||||
struct mleaf_s *RMod_PointInLeaf (struct model_s *model, float *p);
|
||||
|
||||
|
|
|
@ -258,8 +258,9 @@ cvar_t gl_mindist = SCVARF ("gl_mindist", "4",
|
|||
cvar_t gl_motionblur = SCVARF ("gl_motionblur", "0",
|
||||
CVAR_ARCHIVE);
|
||||
cvar_t gl_motionblurscale = SCVAR ("gl_motionblurscale", "1");
|
||||
cvar_t gl_overbright = SCVARF ("gl_overbright", "1",
|
||||
CVAR_ARCHIVE);
|
||||
cvar_t gl_overbright = CVARFC ("gl_overbright", "1",
|
||||
CVAR_ARCHIVE,
|
||||
Surf_RebuildLightmap_Callback);
|
||||
cvar_t gl_overbright_all = SCVARF ("gl_overbright_all", "0",
|
||||
CVAR_ARCHIVE);
|
||||
cvar_t gl_picmip = SCVAR ("gl_picmip", "0");
|
||||
|
|
|
@ -285,6 +285,24 @@ void RMod_Think (void)
|
|||
#endif
|
||||
}
|
||||
|
||||
void Mod_RebuildLightmaps (void)
|
||||
{
|
||||
int i, j;
|
||||
msurface_t *surf;
|
||||
model_t *mod;
|
||||
|
||||
for (i=0 , mod=mod_known ; i<mod_numknown ; i++, mod++)
|
||||
{
|
||||
if (mod->needload)
|
||||
continue;
|
||||
|
||||
if (mod->type == mod_brush)
|
||||
{
|
||||
for (j=0, surf = mod->surfaces; j<mod->numsurfaces ; j++, surf++)
|
||||
surf->cached_dlight=-1;//force it
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
===================
|
||||
|
|
|
@ -359,7 +359,17 @@ void GL_CheckExtensions (void *(*getglfunction) (char *name), float ver)
|
|||
{
|
||||
/*in gl3.0 things are depricated but not removed*/
|
||||
/*in gl3.1 depricated things are removed unless compatibility is present*/
|
||||
if (gl_config.glversion >= 3.1)
|
||||
/*in gl3.2 there's a profile flag we can query*/
|
||||
if (gl_config.glversion > 3.1)
|
||||
{
|
||||
GLint profile = 0;
|
||||
#define GL_CONTEXT_PROFILE_MASK 0x9126
|
||||
#define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002
|
||||
qglGetIntegerv(GL_CONTEXT_PROFILE_MASK, &profile);
|
||||
|
||||
gl_config.nofixedfunc = !(profile & GL_CONTEXT_COMPATIBILITY_PROFILE_BIT);
|
||||
}
|
||||
else if (gl_config.glversion == 3.1)
|
||||
gl_config.nofixedfunc = !GL_CheckExtension("GL_ARB_compatibility");
|
||||
else
|
||||
gl_config.nofixedfunc = false;
|
||||
|
|
Loading…
Reference in a new issue