mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2025-02-02 05:01:27 +00:00
Merge branch 'master' of https://github.com/rheit/zdoom
This commit is contained in:
commit
2709391ce9
4 changed files with 15 additions and 4 deletions
|
@ -620,7 +620,7 @@ void P_TranslatePortalVXVY(line_t* src, double &velx, double &vely)
|
|||
double orig_velx = velx;
|
||||
double orig_vely = vely;
|
||||
velx = orig_velx * port->mCosRot - orig_vely * port->mSinRot;
|
||||
vely = orig_vely * port->mCosRot - orig_velx * port->mSinRot;
|
||||
vely = orig_vely * port->mCosRot + orig_velx * port->mSinRot;
|
||||
}
|
||||
|
||||
//============================================================================
|
||||
|
|
|
@ -58,6 +58,7 @@
|
|||
#include "v_font.h"
|
||||
#include "r_data/colormaps.h"
|
||||
#include "farchive.h"
|
||||
#include "p_maputl.h"
|
||||
|
||||
// MACROS ------------------------------------------------------------------
|
||||
|
||||
|
@ -687,7 +688,7 @@ void R_EnterPortal (PortalDrawseg* pds, int depth)
|
|||
P_TranslatePortalXY(pds->src, ViewPath[0].X, ViewPath[0].Y);
|
||||
P_TranslatePortalXY(pds->src, ViewPath[1].X, ViewPath[1].Y);
|
||||
|
||||
if (!r_showviewer && camera)
|
||||
if (!r_showviewer && camera && P_PointOnLineSidePrecise(ViewPath[0], pds->dst) != P_PointOnLineSidePrecise(ViewPath[1], pds->dst))
|
||||
{
|
||||
double distp = (ViewPath[0] - ViewPath[1]).Length();
|
||||
if (distp > EQUAL_EPSILON)
|
||||
|
|
|
@ -433,14 +433,14 @@ void R_InterpolateView (player_t *player, double Frac, InterpolationViewer *ivie
|
|||
}
|
||||
InterpolationPath.Pop();
|
||||
ViewPath[0] = iview->Old.Pos;
|
||||
ViewPath[1] = ViewPath[0] + (InterpolationPath[0].pos - ViewPath[0]).XY().MakeResize(pathlen);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
DVector2 disp = Displacements.getOffset(oldgroup, newgroup);
|
||||
ViewPos = iview->Old.Pos + (iview->New.Pos - iview->Old.Pos - disp) * Frac;
|
||||
ViewPath[1] = iview->New.Pos;
|
||||
ViewPath[0] = iview->Old.Pos;
|
||||
ViewPath[0] = ViewPath[1] = iview->New.Pos;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
|
@ -260,6 +260,16 @@ struct TVector2
|
|||
return len;
|
||||
}
|
||||
|
||||
// Resizes this vector to be the specified length (if it is not 0)
|
||||
TVector2 &MakeResize(double len)
|
||||
{
|
||||
double scale = len / Length();
|
||||
X = vec_t(X * scale);
|
||||
Y = vec_t(Y * scale);
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
// Dot product
|
||||
double operator | (const TVector2 &other) const
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue