Port Charles' GF3 fixes
This commit is contained in:
parent
338d299280
commit
86dd8cffdd
3 changed files with 43 additions and 10 deletions
17
gl_bumparb.c
17
gl_bumparb.c
|
@ -748,7 +748,7 @@ void ARB_SetupSimpleStage(stage_t *s)
|
||||||
ARB_SetupTcMod(&s->tcmods[i]);
|
ARB_SetupTcMod(&s->tcmods[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (s->src_blend > 0)
|
if (s->src_blend > -1)
|
||||||
{
|
{
|
||||||
glBlendFunc(s->src_blend, s->dst_blend);
|
glBlendFunc(s->src_blend, s->dst_blend);
|
||||||
glEnable(GL_BLEND);
|
glEnable(GL_BLEND);
|
||||||
|
@ -869,6 +869,11 @@ void ARB_drawTriangleListBase (vertexdef_t *verts, int *indecies,
|
||||||
glTexCoordPointer(2, GL_FLOAT, verts->texcoordstride, verts->texcoords);
|
glTexCoordPointer(2, GL_FLOAT, verts->texcoordstride, verts->texcoords);
|
||||||
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
|
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||||
|
|
||||||
|
if (!shader->cull)
|
||||||
|
{
|
||||||
|
glDisable(GL_CULL_FACE);
|
||||||
|
}
|
||||||
|
|
||||||
for ( i = 0; i < shader->numstages; i++)
|
for ( i = 0; i < shader->numstages; i++)
|
||||||
{
|
{
|
||||||
ARB_SetupSimpleStage(&shader->stages[i]);
|
ARB_SetupSimpleStage(&shader->stages[i]);
|
||||||
|
@ -877,7 +882,7 @@ void ARB_drawTriangleListBase (vertexdef_t *verts, int *indecies,
|
||||||
}
|
}
|
||||||
glMatrixMode(GL_MODELVIEW);
|
glMatrixMode(GL_MODELVIEW);
|
||||||
|
|
||||||
if (verts->colors)
|
if (verts->colors && (shader->flags & SURF_PPLIGHT))
|
||||||
{
|
{
|
||||||
glColorPointer(3, GL_UNSIGNED_BYTE, verts->colorstride, verts->colors);
|
glColorPointer(3, GL_UNSIGNED_BYTE, verts->colorstride, verts->colors);
|
||||||
glEnableClientState(GL_COLOR_ARRAY);
|
glEnableClientState(GL_COLOR_ARRAY);
|
||||||
|
@ -920,7 +925,7 @@ void ARB_drawTriangleListBase (vertexdef_t *verts, int *indecies,
|
||||||
|
|
||||||
glDisableClientState(GL_COLOR_ARRAY);
|
glDisableClientState(GL_COLOR_ARRAY);
|
||||||
}
|
}
|
||||||
else
|
else if (shader->flags & SURF_PPLIGHT)
|
||||||
{
|
{
|
||||||
glColor3f(0,0,0);
|
glColor3f(0,0,0);
|
||||||
glDisable(GL_TEXTURE_2D);
|
glDisable(GL_TEXTURE_2D);
|
||||||
|
@ -928,9 +933,15 @@ void ARB_drawTriangleListBase (vertexdef_t *verts, int *indecies,
|
||||||
glEnable(GL_TEXTURE_2D);
|
glEnable(GL_TEXTURE_2D);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!shader->cull)
|
||||||
|
{
|
||||||
|
glEnable(GL_CULL_FACE);
|
||||||
|
}
|
||||||
|
|
||||||
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
|
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||||
glDisableClientState(GL_VERTEX_ARRAY);
|
glDisableClientState(GL_VERTEX_ARRAY);
|
||||||
glDisable(GL_BLEND);
|
glDisable(GL_BLEND);
|
||||||
|
glDisable(GL_ALPHA_TEST);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*************************
|
/*************************
|
||||||
|
|
|
@ -1122,7 +1122,7 @@ void Parhelia_SetupSimpleStage(stage_t *s)
|
||||||
Parhelia_SetupTcMod(&s->tcmods[i]);
|
Parhelia_SetupTcMod(&s->tcmods[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (s->src_blend > 0)
|
if (s->src_blend > -1)
|
||||||
{
|
{
|
||||||
glBlendFunc(s->src_blend, s->dst_blend);
|
glBlendFunc(s->src_blend, s->dst_blend);
|
||||||
glEnable(GL_BLEND);
|
glEnable(GL_BLEND);
|
||||||
|
@ -1267,6 +1267,11 @@ void Parhelia_drawTriangleListBase (vertexdef_t *verts, int *indecies,
|
||||||
glTexCoordPointer(2, GL_FLOAT, verts->texcoordstride, verts->texcoords);
|
glTexCoordPointer(2, GL_FLOAT, verts->texcoordstride, verts->texcoords);
|
||||||
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
|
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||||
|
|
||||||
|
if (!shader->cull)
|
||||||
|
{
|
||||||
|
glDisable(GL_CULL_FACE);
|
||||||
|
}
|
||||||
|
|
||||||
for ( i = 0; i < shader->numstages; i++)
|
for ( i = 0; i < shader->numstages; i++)
|
||||||
{
|
{
|
||||||
Parhelia_SetupSimpleStage(&shader->stages[i]);
|
Parhelia_SetupSimpleStage(&shader->stages[i]);
|
||||||
|
@ -1275,7 +1280,7 @@ void Parhelia_drawTriangleListBase (vertexdef_t *verts, int *indecies,
|
||||||
}
|
}
|
||||||
glMatrixMode(GL_MODELVIEW);
|
glMatrixMode(GL_MODELVIEW);
|
||||||
|
|
||||||
if (verts->colors)
|
if (verts->colors && (shader->flags & SURF_PPLIGHT))
|
||||||
{
|
{
|
||||||
glColorPointer(3, GL_UNSIGNED_BYTE, verts->colorstride, verts->colors);
|
glColorPointer(3, GL_UNSIGNED_BYTE, verts->colorstride, verts->colors);
|
||||||
glEnableClientState(GL_COLOR_ARRAY);
|
glEnableClientState(GL_COLOR_ARRAY);
|
||||||
|
@ -1295,7 +1300,7 @@ void Parhelia_drawTriangleListBase (vertexdef_t *verts, int *indecies,
|
||||||
glBlendFunc(GL_ONE, GL_ONE);
|
glBlendFunc(GL_ONE, GL_ONE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
glDisable(GL_BLEND);
|
glDisable(GL_BLEND);
|
||||||
}
|
}
|
||||||
|
@ -1318,7 +1323,7 @@ void Parhelia_drawTriangleListBase (vertexdef_t *verts, int *indecies,
|
||||||
|
|
||||||
glDisableClientState(GL_COLOR_ARRAY);
|
glDisableClientState(GL_COLOR_ARRAY);
|
||||||
}
|
}
|
||||||
else
|
else if (shader->flags & SURF_PPLIGHT)
|
||||||
{
|
{
|
||||||
glColor3f(0,0,0);
|
glColor3f(0,0,0);
|
||||||
glDisable(GL_TEXTURE_2D);
|
glDisable(GL_TEXTURE_2D);
|
||||||
|
@ -1326,9 +1331,15 @@ void Parhelia_drawTriangleListBase (vertexdef_t *verts, int *indecies,
|
||||||
glEnable(GL_TEXTURE_2D);
|
glEnable(GL_TEXTURE_2D);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!shader->cull)
|
||||||
|
{
|
||||||
|
glEnable(GL_CULL_FACE);
|
||||||
|
}
|
||||||
|
|
||||||
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
|
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||||
glDisableClientState(GL_VERTEX_ARRAY);
|
glDisableClientState(GL_VERTEX_ARRAY);
|
||||||
glDisable(GL_BLEND);
|
glDisable(GL_BLEND);
|
||||||
|
glDisable(GL_ALPHA_TEST);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*************************
|
/*************************
|
||||||
|
|
|
@ -1007,7 +1007,7 @@ void Radeon_SetupSimpleStage(stage_t *s)
|
||||||
Radeon_SetupTcMod(&s->tcmods[i]);
|
Radeon_SetupTcMod(&s->tcmods[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (s->src_blend > 0)
|
if (s->src_blend > -1)
|
||||||
{
|
{
|
||||||
glBlendFunc(s->src_blend, s->dst_blend);
|
glBlendFunc(s->src_blend, s->dst_blend);
|
||||||
glEnable(GL_BLEND);
|
glEnable(GL_BLEND);
|
||||||
|
@ -1128,6 +1128,11 @@ void Radeon_drawTriangleListBase (vertexdef_t *verts, int *indecies,
|
||||||
glTexCoordPointer(2, GL_FLOAT, verts->texcoordstride, verts->texcoords);
|
glTexCoordPointer(2, GL_FLOAT, verts->texcoordstride, verts->texcoords);
|
||||||
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
|
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||||
|
|
||||||
|
if (!shader->cull)
|
||||||
|
{
|
||||||
|
glDisable(GL_CULL_FACE);
|
||||||
|
}
|
||||||
|
|
||||||
for ( i = 0; i < shader->numstages; i++)
|
for ( i = 0; i < shader->numstages; i++)
|
||||||
{
|
{
|
||||||
Radeon_SetupSimpleStage(&shader->stages[i]);
|
Radeon_SetupSimpleStage(&shader->stages[i]);
|
||||||
|
@ -1136,7 +1141,7 @@ void Radeon_drawTriangleListBase (vertexdef_t *verts, int *indecies,
|
||||||
}
|
}
|
||||||
glMatrixMode(GL_MODELVIEW);
|
glMatrixMode(GL_MODELVIEW);
|
||||||
|
|
||||||
if (verts->colors)
|
if (verts->colors && (shader->flags & SURF_PPLIGHT))
|
||||||
{
|
{
|
||||||
glColorPointer(3, GL_UNSIGNED_BYTE, verts->colorstride, verts->colors);
|
glColorPointer(3, GL_UNSIGNED_BYTE, verts->colorstride, verts->colors);
|
||||||
glEnableClientState(GL_COLOR_ARRAY);
|
glEnableClientState(GL_COLOR_ARRAY);
|
||||||
|
@ -1179,7 +1184,7 @@ void Radeon_drawTriangleListBase (vertexdef_t *verts, int *indecies,
|
||||||
|
|
||||||
glDisableClientState(GL_COLOR_ARRAY);
|
glDisableClientState(GL_COLOR_ARRAY);
|
||||||
}
|
}
|
||||||
else
|
else if (shader->flags & SURF_PPLIGHT)
|
||||||
{
|
{
|
||||||
glColor3f(0,0,0);
|
glColor3f(0,0,0);
|
||||||
glDisable(GL_TEXTURE_2D);
|
glDisable(GL_TEXTURE_2D);
|
||||||
|
@ -1187,9 +1192,15 @@ void Radeon_drawTriangleListBase (vertexdef_t *verts, int *indecies,
|
||||||
glEnable(GL_TEXTURE_2D);
|
glEnable(GL_TEXTURE_2D);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!shader->cull)
|
||||||
|
{
|
||||||
|
glEnable(GL_CULL_FACE);
|
||||||
|
}
|
||||||
|
|
||||||
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
|
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
|
||||||
glDisableClientState(GL_VERTEX_ARRAY);
|
glDisableClientState(GL_VERTEX_ARRAY);
|
||||||
glDisable(GL_BLEND);
|
glDisable(GL_BLEND);
|
||||||
|
glDisable(GL_ALPHA_TEST);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*************************
|
/*************************
|
||||||
|
|
Loading…
Reference in a new issue