Skip to content

Commit

Permalink
Fixed automap render path when number of texture units < 2 (Voodoo2?).
Browse files Browse the repository at this point in the history
  • Loading branch information
danij committed May 24, 2007
1 parent 5d1fb7e commit f6130dc
Showing 1 changed file with 23 additions and 7 deletions.
30 changes: 23 additions & 7 deletions doomsday/plugins/common/src/am_rendlist.c
Expand Up @@ -533,7 +533,7 @@ void AM_RenderList(uint tex, boolean texIsPatchLumpNum, blendmode_t blend,
else
{
AM_SelectTexUnits(2);
gl.SetInteger(DGL_MODULATE_TEXTURE, 4);
gl.SetInteger(DGL_MODULATE_TEXTURE, 1);

AM_BindTo(0, tex);
AM_BindTo(1, amMaskTexture);
Expand Down Expand Up @@ -709,34 +709,50 @@ void AM_RenderList(uint tex, boolean texIsPatchLumpNum, blendmode_t blend,
p->data.quad.rgba[2],
p->data.quad.rgba[3] * alpha);
// V1
if(tex)
if(tex && maskID == 0)
gl.MultiTexCoord2f(normal,
p->data.quad.verts[0].pos[0],
p->data.quad.verts[0].pos[1]);
else
gl.MultiTexCoord2f(normal,
p->data.quad.verts[0].tex[0],
p->data.quad.verts[0].tex[1]);

gl.Vertex2f(p->data.quad.verts[0].pos[0],
p->data.quad.verts[0].pos[1]);
// V2
if(tex)
if(tex && maskID == 0)
gl.MultiTexCoord2f(normal,
p->data.quad.verts[1].pos[0],
p->data.quad.verts[1].pos[1]);
else
gl.MultiTexCoord2f(normal,
p->data.quad.verts[1].tex[0],
p->data.quad.verts[1].tex[1]);

gl.Vertex2f(p->data.quad.verts[1].pos[0],
p->data.quad.verts[1].pos[1]);
// V3
if(tex)
if(tex && maskID == 0)
gl.MultiTexCoord2f(normal,
p->data.quad.verts[2].pos[0],
p->data.quad.verts[2].pos[1]);
else
gl.MultiTexCoord2f(normal,
p->data.quad.verts[2].tex[0],
p->data.quad.verts[2].tex[1]);

gl.Vertex2f(p->data.quad.verts[2].pos[0],
p->data.quad.verts[2].pos[1]);
// V4
if(tex)
if(tex && maskID == 0)
gl.MultiTexCoord2f(normal,
p->data.quad.verts[3].pos[0],
p->data.quad.verts[3].pos[1]);
else
gl.MultiTexCoord2f(normal,
p->data.quad.verts[3].tex[0],
p->data.quad.verts[3].tex[1]);

gl.Vertex2f(p->data.quad.verts[3].pos[0],
p->data.quad.verts[3].pos[1]);
Expand All @@ -761,10 +777,10 @@ void AM_RenderList(uint tex, boolean texIsPatchLumpNum, blendmode_t blend,
p->data.line.coldata.f4color.rgba[3] * alpha);
}

if(tex)
if(tex && maskID == 0)
gl.MultiTexCoord2f(normal, p->data.line.a.pos[0], p->data.line.a.pos[1]);
gl.Vertex2f(p->data.line.a.pos[0], p->data.line.a.pos[1]);
if(tex)
if(tex && maskID == 0)
gl.MultiTexCoord2f(normal, p->data.line.b.pos[0], p->data.line.b.pos[1]);
gl.Vertex2f(p->data.line.b.pos[0], p->data.line.b.pos[1]);

Expand Down

0 comments on commit f6130dc

Please sign in to comment.