remove obsolete code
parent
0870dfba2e
commit
7fcd77c295
|
@ -249,17 +249,10 @@ void CL_Record_f(void)
|
|||
return;
|
||||
}
|
||||
|
||||
if(c == 2 && cls.state == ca_connected)
|
||||
if(c == 2 && cls.state == ca_connected && cls.signon < 2)
|
||||
{
|
||||
#if 0
|
||||
Con_Printf("Can not record - already connected to server\nClient demo recording must be started before connecting\n");
|
||||
Con_Printf("Can't record - try again when connected\n");
|
||||
return;
|
||||
#endif
|
||||
if(cls.signon < 2)
|
||||
{
|
||||
Con_Printf("Can't record - try again when connected\n");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// write the forced cd track number, or -1
|
||||
|
|
|
@ -768,16 +768,6 @@ void CL_Viewpos_f(void)
|
|||
{
|
||||
if(cls.state != ca_connected)
|
||||
return;
|
||||
#if 0
|
||||
//camera position
|
||||
Con_Printf("Viewpos: (%" PRIi32 " %" PRIi32 " %" PRIi32 ") %" PRIi32 " %" PRIi32 " %" PRIi32 "\n",
|
||||
(int32_t)r_refdef.vieworg[0],
|
||||
(int32_t)r_refdef.vieworg[1],
|
||||
(int32_t)r_refdef.vieworg[2],
|
||||
(int32_t)r_refdef.viewangles[PITCH],
|
||||
(int32_t)r_refdef.viewangles[YAW],
|
||||
(int32_t)r_refdef.viewangles[ROLL]);
|
||||
#else
|
||||
//player position
|
||||
Con_Printf("Viewpos: (%" PRIi32 " %" PRIi32 " %" PRIi32 ") %" PRIi32 " %" PRIi32 " %" PRIi32 "\n",
|
||||
(int32_t)cl_entities[cl.viewentity].origin[0],
|
||||
|
@ -786,7 +776,6 @@ void CL_Viewpos_f(void)
|
|||
(int32_t)cl.viewangles[PITCH],
|
||||
(int32_t)cl.viewangles[YAW],
|
||||
(int32_t)cl.viewangles[ROLL]);
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -1125,32 +1125,6 @@ void COM_FileBase(const char *in, char *out, size_t outsize)
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
==================
|
||||
COM_DefaultExtension
|
||||
if path doesn't have a .EXT, append extension
|
||||
(extension should include the leading ".")
|
||||
==================
|
||||
*/
|
||||
#if 0 /* can be dangerous */
|
||||
void COM_DefaultExtension(char *path, const char *extension, size_t len)
|
||||
{
|
||||
char *src;
|
||||
|
||||
if(!*path) return;
|
||||
src = path + strlen(path) - 1;
|
||||
|
||||
while(*src != '/' && *src != '\\' && src != path)
|
||||
{
|
||||
if(*src == '.')
|
||||
return; // it has an extension
|
||||
src--;
|
||||
}
|
||||
|
||||
q_strlcat(path, extension, len);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
==================
|
||||
COM_AddExtension
|
||||
|
|
|
@ -170,9 +170,6 @@ const char *COM_SkipPath(const char *pathname);
|
|||
void COM_StripExtension(const char *in, char *out, size_t outsize);
|
||||
void COM_FileBase(const char *in, char *out, size_t outsize);
|
||||
void COM_AddExtension(char *path, const char *extension, size_t len);
|
||||
#if 0 /* COM_DefaultExtension can be dangerous */
|
||||
void COM_DefaultExtension(char *path, const char *extension, size_t len);
|
||||
#endif
|
||||
const char *COM_FileGetExtension(const char *in); /* doesn't return NULL */
|
||||
void COM_ExtractExtension(const char *in, char *out, size_t outsize);
|
||||
void COM_CreatePath(char *path);
|
||||
|
|
|
@ -951,12 +951,6 @@ void Mod_LoadTexinfo(lump_t *l)
|
|||
out->mipadjust = 2;
|
||||
else
|
||||
out->mipadjust = 1;
|
||||
#if 0
|
||||
if(len1 + len2 < 0.001)
|
||||
out->mipadjust = 1; // don't crash
|
||||
else
|
||||
out->mipadjust = 1 / floor((len1 + len2) / 2 + 0.1);
|
||||
#endif
|
||||
|
||||
miptex = LittleLong(in->miptex);
|
||||
out->flags = LittleLong(in->flags);
|
||||
|
|
|
@ -92,12 +92,6 @@ void PerpendicularVector(vec3_t dst, const vec3_t src)
|
|||
|
||||
float anglemod(float a)
|
||||
{
|
||||
#if 0
|
||||
if(a >= 0)
|
||||
a -= 360 * (int32_t)(a / 360);
|
||||
else
|
||||
a += 360 * (1 + (int32_t)(-a / 360));
|
||||
#endif
|
||||
a = (360.0 / 65536) * ((int32_t)(a * (65536 / 360.0)) & 65535);
|
||||
return a;
|
||||
}
|
||||
|
@ -115,19 +109,6 @@ int32_t BoxOnPlaneSide(vec3_t emins, vec3_t emaxs, mplane_t *p)
|
|||
float dist1, dist2;
|
||||
int32_t sides;
|
||||
|
||||
#if 0 // this is done by the BOX_ON_PLANE_SIDE macro before calling this
|
||||
// function
|
||||
// fast axial cases
|
||||
if(p->type < 3)
|
||||
{
|
||||
if(p->dist <= emins[p->type])
|
||||
return 1;
|
||||
if(p->dist >= emaxs[p->type])
|
||||
return 2;
|
||||
return 3;
|
||||
}
|
||||
#endif
|
||||
|
||||
// general case
|
||||
switch(p->signbits)
|
||||
{
|
||||
|
@ -169,32 +150,6 @@ int32_t BoxOnPlaneSide(vec3_t emins, vec3_t emaxs, mplane_t *p)
|
|||
break;
|
||||
}
|
||||
|
||||
#if 0
|
||||
int32_t i;
|
||||
vec3_t corners[2];
|
||||
|
||||
for(i = 0 ; i < 3 ; i++)
|
||||
{
|
||||
if(plane->normal[i] < 0)
|
||||
{
|
||||
corners[0][i] = emins[i];
|
||||
corners[1][i] = emaxs[i];
|
||||
}
|
||||
else
|
||||
{
|
||||
corners[1][i] = emins[i];
|
||||
corners[0][i] = emaxs[i];
|
||||
}
|
||||
}
|
||||
dist = DotProduct(plane->normal, corners[0]) - plane->dist;
|
||||
dist2 = DotProduct(plane->normal, corners[1]) - plane->dist;
|
||||
sides = 0;
|
||||
if(dist1 >= 0)
|
||||
sides = 1;
|
||||
if(dist2 < 0)
|
||||
sides |= 2;
|
||||
#endif
|
||||
|
||||
sides = 0;
|
||||
if(dist1 >= p->dist)
|
||||
sides = 1;
|
||||
|
|
|
@ -1146,12 +1146,6 @@ void M_DrawSlider(int32_t x, int32_t y, float range)
|
|||
|
||||
void M_DrawCheckbox(int32_t x, int32_t y, int32_t on)
|
||||
{
|
||||
#if 0
|
||||
if(on)
|
||||
M_DrawCharacter(x, y, 131);
|
||||
else
|
||||
M_DrawCharacter(x, y, 129);
|
||||
#endif
|
||||
if(on)
|
||||
M_Print(x, y, "on");
|
||||
else
|
||||
|
|
|
@ -719,22 +719,6 @@ static void PF_traceline(void)
|
|||
pr_global_struct->trace_ent = EDICT_TO_PROG(sv.edicts);
|
||||
}
|
||||
|
||||
/*
|
||||
=================
|
||||
PF_checkpos
|
||||
|
||||
Returns true if the given entity can move to the given position from it's
|
||||
current position by walking or rolling.
|
||||
FIXME: make work...
|
||||
scalar checkpos (entity, vector)
|
||||
=================
|
||||
*/
|
||||
#if 0
|
||||
static void PF_checkpos(void)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
//============================================================================
|
||||
|
||||
static byte *checkpvs; //ericw -- changed to malloc
|
||||
|
|
|
@ -1253,33 +1253,16 @@ int32_t PR_SetEngineString(const char *s)
|
|||
|
||||
if(!s)
|
||||
return 0;
|
||||
#if 0 /* can't: sv.model_precache & sv.sound_precache points to pr_strings */
|
||||
if(s >= pr_strings && s <= pr_strings + pr_stringssize)
|
||||
Host_Error("PR_SetEngineString: \"%s\" in pr_strings area\n", s);
|
||||
#else
|
||||
if(s >= pr_strings && s <= pr_strings + pr_stringssize - 2)
|
||||
return (int32_t)(s - pr_strings);
|
||||
#endif
|
||||
for(i = 0; i < pr_numknownstrings; i++)
|
||||
{
|
||||
if(pr_knownstrings[i] == s)
|
||||
return -1 - i;
|
||||
}
|
||||
// new unknown engine string
|
||||
//Con_DPrintf ("PR_SetEngineString: new engine string %p\n", s);
|
||||
#if 0
|
||||
for(i = 0; i < pr_numknownstrings; i++)
|
||||
{
|
||||
if(!pr_knownstrings[i])
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
// if (i >= pr_numknownstrings)
|
||||
// {
|
||||
if(i >= pr_maxknownstrings)
|
||||
PR_AllocStringSlots();
|
||||
pr_numknownstrings++;
|
||||
// }
|
||||
pr_knownstrings[i] = s;
|
||||
return -1 - i;
|
||||
}
|
||||
|
|
372
source/r_brush.c
372
source/r_brush.c
|
@ -135,378 +135,6 @@ void DrawGLTriangleFan(glpoly_t *p)
|
|||
=============================================================
|
||||
*/
|
||||
|
||||
#if 0
|
||||
/*
|
||||
================
|
||||
R_DrawSequentialPoly -- johnfitz -- rewritten
|
||||
================
|
||||
*/
|
||||
void R_DrawSequentialPoly(msurface_t *s)
|
||||
{
|
||||
glpoly_t *p;
|
||||
texture_t *t;
|
||||
float *v;
|
||||
float entalpha;
|
||||
int32_t i;
|
||||
|
||||
t = R_TextureAnimation(s->texinfo->texture, currententity->frame);
|
||||
entalpha = ENTALPHA_DECODE(currententity->alpha);
|
||||
|
||||
// drawflat
|
||||
if(r_drawflat_cheatsafe)
|
||||
{
|
||||
if((s->flags & SURF_DRAWTURB) && r_oldwater.value)
|
||||
{
|
||||
for(p = s->polys->next; p; p = p->next)
|
||||
{
|
||||
srand((uint32_t)(uintptr_t) p);
|
||||
glColor3f(rand() % 256 / 255.0, rand() % 256 / 255.0, rand() % 256 / 255.0);
|
||||
DrawGLPoly(p);
|
||||
rs_brushpasses++;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
srand((uint32_t)(uintptr_t) s->polys);
|
||||
glColor3f(rand() % 256 / 255.0, rand() % 256 / 255.0, rand() % 256 / 255.0);
|
||||
DrawGLPoly(s->polys);
|
||||
rs_brushpasses++;
|
||||
return;
|
||||
}
|
||||
|
||||
// fullbright
|
||||
if((r_fullbright_cheatsafe) && !(s->flags & SURF_DRAWTILED))
|
||||
{
|
||||
if(entalpha < 1)
|
||||
{
|
||||
glDepthMask(GL_FALSE);
|
||||
glEnable(GL_BLEND);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
glColor4f(1, 1, 1, entalpha);
|
||||
}
|
||||
|
||||
if(s->flags & SURF_DRAWFENCE)
|
||||
glEnable(GL_ALPHA_TEST); // Flip on alpha test
|
||||
|
||||
GL_Bind(t->gltexture);
|
||||
DrawGLPoly(s->polys);
|
||||
rs_brushpasses++;
|
||||
|
||||
if(s->flags & SURF_DRAWFENCE)
|
||||
glDisable(GL_ALPHA_TEST); // Flip alpha test back off
|
||||
|
||||
if(entalpha < 1)
|
||||
{
|
||||
glDepthMask(GL_TRUE);
|
||||
glDisable(GL_BLEND);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
||||
glColor3f(1, 1, 1);
|
||||
}
|
||||
goto fullbrights;
|
||||
}
|
||||
|
||||
// r_lightmap
|
||||
if(r_lightmap_cheatsafe)
|
||||
{
|
||||
if(s->flags & SURF_DRAWTILED)
|
||||
{
|
||||
glDisable(GL_TEXTURE_2D);
|
||||
DrawGLPoly(s->polys);
|
||||
glEnable(GL_TEXTURE_2D);
|
||||
rs_brushpasses++;
|
||||
return;
|
||||
}
|
||||
|
||||
R_RenderDynamicLightmaps(s);
|
||||
GL_Bind(lightmap_textures[s->lightmaptexturenum]);
|
||||
if(!gl_overbright.value)
|
||||
{
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
glColor3f(0.5, 0.5, 0.5);
|
||||
}
|
||||
glBegin(GL_POLYGON);
|
||||
v = s->polys->verts[0];
|
||||
for(i = 0 ; i < s->polys->numverts ; i++, v += VERTEXSIZE)
|
||||
{
|
||||
glTexCoord2f(v[5], v[6]);
|
||||
glVertex3fv(v);
|
||||
}
|
||||
glEnd();
|
||||
if(!gl_overbright.value)
|
||||
{
|
||||
glColor3f(1, 1, 1);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
||||
}
|
||||
rs_brushpasses++;
|
||||
return;
|
||||
}
|
||||
|
||||
// sky poly -- skip it, already handled in gl_sky.c
|
||||
if(s->flags & SURF_DRAWSKY)
|
||||
return;
|
||||
|
||||
// water poly
|
||||
if(s->flags & SURF_DRAWTURB)
|
||||
{
|
||||
if(currententity->alpha == ENTALPHA_DEFAULT)
|
||||
entalpha = CLAMP(0.0, GL_WaterAlphaForSurface(s), 1.0);
|
||||
|
||||
if(entalpha < 1)
|
||||
{
|
||||
glDepthMask(GL_FALSE);
|
||||
glEnable(GL_BLEND);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
glColor4f(1, 1, 1, entalpha);
|
||||
}
|
||||
if(r_oldwater.value)
|
||||
{
|
||||
GL_Bind(s->texinfo->texture->gltexture);
|
||||
for(p = s->polys->next; p; p = p->next)
|
||||
{
|
||||
DrawWaterPoly(p);
|
||||
rs_brushpasses++;
|
||||
}
|
||||
rs_brushpasses++;
|
||||
}
|
||||
else
|
||||
{
|
||||
GL_Bind(s->texinfo->texture->warpimage);
|
||||
s->texinfo->texture->update_warp = true; // FIXME: one frame too late!
|
||||
DrawGLPoly(s->polys);
|
||||
rs_brushpasses++;
|
||||
}
|
||||
if(entalpha < 1)
|
||||
{
|
||||
glDepthMask(GL_TRUE);
|
||||
glDisable(GL_BLEND);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
||||
glColor3f(1, 1, 1);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// missing texture
|
||||
if(s->flags & SURF_NOTEXTURE)
|
||||
{
|
||||
if(entalpha < 1)
|
||||
{
|
||||
glDepthMask(GL_FALSE);
|
||||
glEnable(GL_BLEND);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
glColor4f(1, 1, 1, entalpha);
|
||||
}
|
||||
GL_Bind(t->gltexture);
|
||||
DrawGLPoly(s->polys);
|
||||
rs_brushpasses++;
|
||||
if(entalpha < 1)
|
||||
{
|
||||
glDepthMask(GL_TRUE);
|
||||
glDisable(GL_BLEND);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
||||
glColor3f(1, 1, 1);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// lightmapped poly
|
||||
if(entalpha < 1)
|
||||
{
|
||||
glDepthMask(GL_FALSE);
|
||||
glEnable(GL_BLEND);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
glColor4f(1, 1, 1, entalpha);
|
||||
}
|
||||
else
|
||||
glColor3f(1, 1, 1);
|
||||
|
||||
if(s->flags & SURF_DRAWFENCE)
|
||||
glEnable(GL_ALPHA_TEST); // Flip on alpha test
|
||||
|
||||
if(gl_overbright.value)
|
||||
{
|
||||
if(gl_texture_env_combine && gl_mtexable) //case 1: texture and lightmap in one pass, overbright using texture combiners
|
||||
{
|
||||
GL_DisableMultitexture(); // selects TEXTURE0
|
||||
GL_Bind(t->gltexture);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
GL_EnableMultitexture(); // selects TEXTURE1
|
||||
GL_Bind(lightmap_textures[s->lightmaptexturenum]);
|
||||
R_RenderDynamicLightmaps(s);
|
||||
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE_EXT);
|
||||
glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_RGB_EXT, GL_MODULATE);
|
||||
glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_RGB_EXT, GL_PREVIOUS_EXT);
|
||||
glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE1_RGB_EXT, GL_TEXTURE);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_RGB_SCALE_EXT, 2.0f);
|
||||
glBegin(GL_POLYGON);
|
||||
v = s->polys->verts[0];
|
||||
for(i = 0 ; i < s->polys->numverts ; i++, v += VERTEXSIZE)
|
||||
{
|
||||
GL_MTexCoord2fFunc(GL_TEXTURE0_ARB, v[3], v[4]);
|
||||
GL_MTexCoord2fFunc(GL_TEXTURE1_ARB, v[5], v[6]);
|
||||
glVertex3fv(v);
|
||||
}
|
||||
glEnd();
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_RGB_SCALE_EXT, 1.0f);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
GL_DisableMultitexture();
|
||||
rs_brushpasses++;
|
||||
}
|
||||
else if(entalpha < 1 || (s->flags & SURF_DRAWFENCE)) //case 2: can't do multipass if entity has alpha, so just draw the texture
|
||||
{
|
||||
GL_Bind(t->gltexture);
|
||||
DrawGLPoly(s->polys);
|
||||
rs_brushpasses++;
|
||||
}
|
||||
else //case 3: texture in one pass, lightmap in second pass using 2x modulation blend func, fog in third pass
|
||||
{
|
||||
//first pass -- texture with no fog
|
||||
Fog_DisableGFog();
|
||||
GL_Bind(t->gltexture);
|
||||
DrawGLPoly(s->polys);
|
||||
Fog_EnableGFog();
|
||||
rs_brushpasses++;
|
||||
|
||||
//second pass -- lightmap with black fog, modulate blended
|
||||
R_RenderDynamicLightmaps(s);
|
||||
GL_Bind(lightmap_textures[s->lightmaptexturenum]);
|
||||
glDepthMask(GL_FALSE);
|
||||
glEnable(GL_BLEND);
|
||||
glBlendFunc(GL_DST_COLOR, GL_SRC_COLOR); //2x modulate
|
||||
Fog_StartAdditive();
|
||||
glBegin(GL_POLYGON);
|
||||
v = s->polys->verts[0];
|
||||
for(i = 0 ; i < s->polys->numverts ; i++, v += VERTEXSIZE)
|
||||
{
|
||||
glTexCoord2f(v[5], v[6]);
|
||||
glVertex3fv(v);
|
||||
}
|
||||
glEnd();
|
||||
Fog_StopAdditive();
|
||||
rs_brushpasses++;
|
||||
|
||||
//third pass -- black geo with normal fog, additive blended
|
||||
if(Fog_GetDensity() > 0)
|
||||
{
|
||||
glBlendFunc(GL_ONE, GL_ONE); //add
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
glColor3f(0, 0, 0);
|
||||
DrawGLPoly(s->polys);
|
||||
glColor3f(1, 1, 1);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
||||
rs_brushpasses++;
|
||||
}
|
||||
|
||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||
glDisable(GL_BLEND);
|
||||
glDepthMask(GL_TRUE);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(gl_mtexable) //case 4: texture and lightmap in one pass, regular modulation
|
||||
{
|
||||
GL_DisableMultitexture(); // selects TEXTURE0
|
||||
GL_Bind(t->gltexture);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
GL_EnableMultitexture(); // selects TEXTURE1
|
||||
GL_Bind(lightmap_textures[s->lightmaptexturenum]);
|
||||
R_RenderDynamicLightmaps(s);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
glBegin(GL_POLYGON);
|
||||
v = s->polys->verts[0];
|
||||
for(i = 0 ; i < s->polys->numverts ; i++, v += VERTEXSIZE)
|
||||
{
|
||||
GL_MTexCoord2fFunc(GL_TEXTURE0_ARB, v[3], v[4]);
|
||||
GL_MTexCoord2fFunc(GL_TEXTURE1_ARB, v[5], v[6]);
|
||||
glVertex3fv(v);
|
||||
}
|
||||
glEnd();
|
||||
GL_DisableMultitexture();
|
||||
rs_brushpasses++;
|
||||
}
|
||||
else if(entalpha < 1 || (s->flags & SURF_DRAWFENCE)) //case 5: can't do multipass if entity has alpha, so just draw the texture
|
||||
{
|
||||
GL_Bind(t->gltexture);
|
||||
DrawGLPoly(s->polys);
|
||||
rs_brushpasses++;
|
||||
}
|
||||
else //case 6: texture in one pass, lightmap in a second pass, fog in third pass
|
||||
{
|
||||
//first pass -- texture with no fog
|
||||
Fog_DisableGFog();
|
||||
GL_Bind(t->gltexture);
|
||||
DrawGLPoly(s->polys);
|
||||
Fog_EnableGFog();
|
||||
rs_brushpasses++;
|
||||
|
||||
//second pass -- lightmap with black fog, modulate blended
|
||||
R_RenderDynamicLightmaps(s);
|
||||
GL_Bind(lightmap_textures[s->lightmaptexturenum]);
|
||||
glDepthMask(GL_FALSE);
|
||||
glEnable(GL_BLEND);
|
||||
glBlendFunc(GL_ZERO, GL_SRC_COLOR); //modulate
|
||||
Fog_StartAdditive();
|
||||
glBegin(GL_POLYGON);
|
||||
v = s->polys->verts[0];
|
||||
for(i = 0 ; i < s->polys->numverts ; i++, v += VERTEXSIZE)
|
||||
{
|
||||
glTexCoord2f(v[5], v[6]);
|
||||
glVertex3fv(v);
|
||||
}
|
||||
glEnd();
|
||||
Fog_StopAdditive();
|
||||
rs_brushpasses++;
|
||||
|
||||
//third pass -- black geo with normal fog, additive blended
|
||||
if(Fog_GetDensity() > 0)
|
||||
{
|
||||
glBlendFunc(GL_ONE, GL_ONE); //add
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
glColor3f(0, 0, 0);
|
||||
DrawGLPoly(s->polys);
|
||||
glColor3f(1, 1, 1);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
||||
rs_brushpasses++;
|
||||
}
|
||||
|
||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||
glDisable(GL_BLEND);
|
||||
glDepthMask(GL_TRUE);
|
||||
|
||||
}
|
||||
}
|
||||
if(entalpha < 1)
|
||||
{
|
||||
glDepthMask(GL_TRUE);
|
||||
glDisable(GL_BLEND);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
||||
glColor3f(1, 1, 1);
|
||||
}
|
||||
|
||||
if(s->flags & SURF_DRAWFENCE)
|
||||
glDisable(GL_ALPHA_TEST); // Flip alpha test back off
|
||||
|
||||
fullbrights:
|
||||
if(gl_fullbrights.value && t->fullbright)
|
||||
{
|
||||
glDepthMask(GL_FALSE);
|
||||
glEnable(GL_BLEND);
|
||||
glBlendFunc(GL_ONE, GL_ONE);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
||||
glColor3f(entalpha, entalpha, entalpha);
|
||||
GL_Bind(t->fullbright);
|
||||
Fog_StartAdditive();
|
||||
DrawGLPoly(s->polys);
|
||||
Fog_StopAdditive();
|
||||
glColor3f(1, 1, 1);
|
||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE);
|
||||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||
glDisable(GL_BLEND);
|
||||
glDepthMask(GL_TRUE);
|
||||
rs_brushpasses++;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
/*
|
||||
=================
|
||||
R_DrawBrushModel
|
||||
|
|
|
@ -228,25 +228,6 @@ static void FindChunk(const char *name)
|
|||
FindNextChunk(name);
|
||||
}
|
||||
|
||||
#if 0
|
||||
static void DumpChunks(void)
|
||||
{
|
||||
char str[5];
|
||||
|
||||
str[4] = 0;
|
||||
data_p = iff_data;
|
||||
do
|
||||
{
|
||||
memcpy(str, data_p, 4);
|
||||
data_p += 4;
|
||||
iff_chunk_len = GetLittleLong();
|
||||
Con_Printf("0x%x : %s (%" PRIi32 ")\n", (int32_t)(data_p - 4), str, iff_chunk_len);
|
||||
data_p += (iff_chunk_len + 1) & ~1;
|
||||
}
|
||||
while(data_p < iff_end);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
============
|
||||
GetWavinfo
|
||||
|
@ -277,9 +258,6 @@ wavinfo_t GetWavinfo(const char *name, byte *wav, int32_t wavlength)
|
|||
|
||||
// get "fmt " chunk
|
||||
iff_data = data_p + 12;
|
||||
#if 0
|
||||
DumpChunks();
|
||||
#endif
|
||||
|
||||
FindChunk("fmt ");
|
||||
if(!data_p)
|
||||
|
|
|
@ -138,10 +138,6 @@ STBIWDEF int32_t stbi_write_jpg(char const *filename, int32_t x, int32_t y, int3
|
|||
|
||||
typedef void stbi_write_func(void *context, void *data, int32_t size);
|
||||
|
||||
#if 0 /* not used in QuakeSpasm */
|
||||
STBIWDEF int32_t stbi_write_jpg_to_func(stbi_write_func *func, void *context, int32_t x, int32_t y, int32_t comp, const void *data, int32_t quality);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#if defined(STB_IMAGE_WRITE_IMPLEMENTATION)
|
||||
|
@ -611,16 +607,6 @@ static int32_t stbi_write_jpg_core(stbi__write_context *s, int32_t width, int32_
|
|||
return 1;
|
||||
}
|
||||
|
||||
#if 0 /* not used in QuakeSpasm */
|
||||
STBIWDEF int32_t stbi_write_jpg_to_func(stbi_write_func *func, void *context, int32_t x, int32_t y, int32_t comp, const void *data, int32_t quality)
|
||||
{
|
||||
stbi__write_context s;
|
||||
stbi__start_write_callbacks(&s, func, context);
|
||||
return stbi_write_jpg_core(&s, x, y, comp, (void *) data, quality);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#if !defined(STBI_WRITE_NO_STDIO)
|
||||
STBIWDEF int32_t stbi_write_jpg(char const *filename, int32_t x, int32_t y, int32_t comp, const void *data, int32_t quality)
|
||||
{
|
||||
|
|
|
@ -864,11 +864,6 @@ SV_MoveBounds
|
|||
*/
|
||||
void SV_MoveBounds(vec3_t start, vec3_t mins, vec3_t maxs, vec3_t end, vec3_t boxmins, vec3_t boxmaxs)
|
||||
{
|
||||
#if 0
|
||||
// debug to test against everything
|
||||
boxmins[0] = boxmins[1] = boxmins[2] = -9999;
|
||||
boxmaxs[0] = boxmaxs[1] = boxmaxs[2] = 9999;
|
||||
#else
|
||||
int32_t i;
|
||||
|
||||
for(i = 0 ; i < 3 ; i++)
|
||||
|
@ -884,7 +879,6 @@ void SV_MoveBounds(vec3_t start, vec3_t mins, vec3_t maxs, vec3_t end, vec3_t bo
|
|||
boxmaxs[i] = start[i] + maxs[i] + 1;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue