mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-25 03:00:46 +00:00
Lost, in a dream of mirrors, lost, in a paradox...
git-svn-id: https://svn.eduke32.com/eduke32@702 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
e872a59fa5
commit
1db4ea8f36
2 changed files with 11 additions and 9 deletions
|
@ -151,7 +151,7 @@ static int polymer_initwall(short wallnum);
|
|||
static void polymer_updatewall(short wallnum);
|
||||
static void polymer_drawwall(short sectnum, short wallnum);
|
||||
// HSR
|
||||
static void polymer_buffertoplane(GLfloat* buffer, GLushort* indices, GLdouble* plane);
|
||||
static void polymer_buffertoplane(GLfloat* buffer, GLushort* indices, int indicecount, GLdouble* plane);
|
||||
static void polymer_crossproduct(GLfloat* in_a, GLfloat* in_b, GLdouble* out);
|
||||
static void polymer_pokesector(short sectnum);
|
||||
static void polymer_extractfrustum(GLdouble* modelview, GLdouble* projection, float* frustum);
|
||||
|
|
|
@ -678,7 +678,8 @@ static void polymer_displayrooms(short dacursectnum)
|
|||
static void polymer_drawplane(short sectnum, short wallnum, GLuint glpic, GLfloat* color, GLfloat* buffer, GLushort* indices, int indicecount, GLdouble* plane)
|
||||
{
|
||||
|
||||
if ((depth < 1) && (plane != NULL) && 1) // insert mirror condition here
|
||||
if ((depth < 1) && (plane != NULL) &&
|
||||
(wallnum >= 0) && (wall[wallnum].overpicnum == 560)) // insert mirror condition here
|
||||
{
|
||||
int gx, gy, gz, px, py, pz;
|
||||
float coeff;
|
||||
|
@ -776,7 +777,7 @@ static void polymer_drawplane(short sectnum, short wallnum, GLuint glpic
|
|||
bglMatrixMode(GL_MODELVIEW);
|
||||
bglPopMatrix();
|
||||
|
||||
bglColor4f(color[0], color[1], color[2], 0.5f);
|
||||
bglColor4f(color[0], color[1], color[2], 0.0f);
|
||||
}
|
||||
else
|
||||
bglColor4f(color[0], color[1], color[2], color[3]);
|
||||
|
@ -784,7 +785,8 @@ static void polymer_drawplane(short sectnum, short wallnum, GLuint glpic
|
|||
bglBindTexture(GL_TEXTURE_2D, glpic);
|
||||
OMGDRAWSHIT;
|
||||
|
||||
if ((depth < 1) && (plane != NULL) && 1) // insert mirror condition here
|
||||
if ((depth < 1) && (plane != NULL) &&
|
||||
(wallnum >= 0) && (wall[wallnum].overpicnum == 560)) // insert mirror condition here
|
||||
{
|
||||
bglDisable(GL_STENCIL_TEST);
|
||||
bglClear(GL_STENCIL_BUFFER_BIT);
|
||||
|
@ -1088,8 +1090,8 @@ finish:
|
|||
if (wallinvalidate)
|
||||
{
|
||||
s->invalidid++;
|
||||
polymer_buffertoplane(s->floorbuffer, s->floorindices, s->floorplane);
|
||||
polymer_buffertoplane(s->ceilbuffer, s->ceilindices, s->ceilplane);
|
||||
polymer_buffertoplane(s->floorbuffer, s->floorindices, s->indicescount, s->floorplane);
|
||||
polymer_buffertoplane(s->ceilbuffer, s->ceilindices, s->indicescount, s->ceilplane);
|
||||
}
|
||||
|
||||
s->controlstate = 1;
|
||||
|
@ -1662,7 +1664,7 @@ static void polymer_updatewall(short wallnum)
|
|||
memcpy(&w->bigportal[6], &s->ceilbuffer[(wal->point2 - sec->wallptr) * 5], sizeof(GLfloat) * 3);
|
||||
memcpy(&w->bigportal[9], &s->ceilbuffer[(wallnum - sec->wallptr) * 5], sizeof(GLfloat) * 3);
|
||||
|
||||
polymer_buffertoplane(w->bigportal, NULL, w->plane);
|
||||
polymer_buffertoplane(w->bigportal, NULL, 4, w->plane);
|
||||
|
||||
w->controlstate = 1;
|
||||
|
||||
|
@ -1695,7 +1697,7 @@ static void polymer_drawwall(short sectnum, short wallnum)
|
|||
#define INDICE(n) ((indices) ? (indices[i+n]*5) : ((i+n)*3))
|
||||
|
||||
// HSR
|
||||
static void polymer_buffertoplane(GLfloat* buffer, GLushort* indices, GLdouble* plane)
|
||||
static void polymer_buffertoplane(GLfloat* buffer, GLushort* indices, int indicecount, GLdouble* plane)
|
||||
{
|
||||
GLfloat vec1[3], vec2[3];
|
||||
int i;
|
||||
|
@ -1716,7 +1718,7 @@ static void polymer_buffertoplane(GLfloat* buffer, GLushort* indices, GL
|
|||
vec1[0] = plane[0] * plane[0] + plane[1] * plane[1] + plane[2] * plane[2];
|
||||
i+= 3;
|
||||
}
|
||||
while (vec1[0] == 0);
|
||||
while ((i < indicecount) && (vec1[0] == 0));
|
||||
|
||||
vec1[0] = sqrt(vec1[0]);
|
||||
plane[0] /= vec1[0];
|
||||
|
|
Loading…
Reference in a new issue