- fixed compilation.

This commit is contained in:
Christoph Oelckers 2016-03-04 10:39:10 +01:00
parent ec4b3da93d
commit 7ceb6d86dd

View file

@ -952,16 +952,7 @@ void GLMirrorPortal::DrawContents()
int GLMirrorPortal::ClipSeg(seg_t *seg) int GLMirrorPortal::ClipSeg(seg_t *seg)
{ {
//we cannot use P_PointOnLineSide here because it loses the special meaning of 0 == 'on the line'. return P_ClipLineToPortal(seg->linedef, linedef, viewx, viewy) ? PClip_InFront : PClip_Inside;
int side1 = DMulScale32(seg->v1->y - linedef->v1->y, linedef->dx, linedef->v1->x - seg->v1->x, linedef->dy);
int side2 = DMulScale32(seg->v2->y - linedef->v1->y, linedef->dx, linedef->v1->x - seg->v2->x, linedef->dy);
if (side1 >= 0 && side2 >= 0)
// this seg is completely behind the mirror.
{
return PClip_InFront;
}
return PClip_Inside;
} }
int GLMirrorPortal::ClipSubsector(subsector_t *sub) int GLMirrorPortal::ClipSubsector(subsector_t *sub)
@ -994,25 +985,6 @@ int GLMirrorPortal::ClipPoint(fixed_t x, fixed_t y)
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
static void glTranslatePortal(line_t* src, line_t* dst, fixed_t& x, fixed_t& y, angle_t & angle)
{
// Get the angle between the two linedefs, for rotating
// orientation and velocity. Rotate 180 degrees, and flip
// the position across the exit linedef, if reversed.
double xangle = atan2(double(dst->dy), double(dst->dx)) - atan2(double(src->dy), double(src->dx)) + M_PI;
double s = sin(xangle);
double c = cos(xangle);
fixed_t nposx = x - src->v1->x;
fixed_t nposy = y - src->v1->y;
// Rotate position along normal to match exit linedef
x = xs_RoundToInt(nposx * c - nposy * s) + dst->v2->x;
y = xs_RoundToInt(nposy * c + nposx * s) + dst->v2->y;
angle += xs_CRoundToInt(xangle * (ANGLE_180 / M_PI));
}
void GLLineToLineInfo::init(line_t *line) void GLLineToLineInfo::init(line_t *line)
{ {
static const divline_t divlx = { 0, 0, 128 * FRACUNIT, 0 }; static const divline_t divlx = { 0, 0, 128 * FRACUNIT, 0 };
@ -1030,8 +1002,9 @@ void GLLineToLineInfo::init(line_t *line)
viewy = ::viewy; viewy = ::viewy;
viewz = ::viewz; viewz = ::viewz;
viewangle = ::viewangle; viewangle = ::viewangle;
glTranslatePortal(line, line->getPortalDestination(), viewx, viewy, viewangle); P_TranslatePortalXY(line, viewx, viewy);
P_TranslatePortalZ(line, line->getPortalDestination(), viewz); P_TranslatePortalAngle(line, viewangle);
P_TranslatePortalZ(line, viewz);
} }