summaryrefslogtreecommitdiffstats
path: root/src/render
diff options
context:
space:
mode:
authorRoman Masanin <36927roma@gmail.com>2020-09-14 20:47:15 +0200
committerRoman Masanin <36927roma@gmail.com>2020-09-14 20:47:15 +0200
commit97550b4fd90cf1c3e9704ac03295475a3a21b01c (patch)
tree2f415a4829c705e6a2cdfb033ad861bf448aa7e5 /src/render
parentfinish work on ProcessPlayerVehicleEngine and cleanup (diff)
parentMove a bunch of math to cpp files + small fixes (diff)
downloadre3-97550b4fd90cf1c3e9704ac03295475a3a21b01c.tar
re3-97550b4fd90cf1c3e9704ac03295475a3a21b01c.tar.gz
re3-97550b4fd90cf1c3e9704ac03295475a3a21b01c.tar.bz2
re3-97550b4fd90cf1c3e9704ac03295475a3a21b01c.tar.lz
re3-97550b4fd90cf1c3e9704ac03295475a3a21b01c.tar.xz
re3-97550b4fd90cf1c3e9704ac03295475a3a21b01c.tar.zst
re3-97550b4fd90cf1c3e9704ac03295475a3a21b01c.zip
Diffstat (limited to 'src/render')
-rw-r--r--src/render/Glass.cpp2
-rw-r--r--src/render/Skidmarks.cpp7
-rw-r--r--src/render/WaterCannon.cpp3
3 files changed, 6 insertions, 6 deletions
diff --git a/src/render/Glass.cpp b/src/render/Glass.cpp
index ee36bad3..c52d49bd 100644
--- a/src/render/Glass.cpp
+++ b/src/render/Glass.cpp
@@ -700,7 +700,7 @@ CGlass::WindowRespondsToExplosion(CEntity *entity, CVector point)
if ( fDistToGlass < 10.0f )
{
- distToGlass.Normalise(0.3f);
+ distToGlass *= (0.3f / fDistToGlass); // normalise
WindowRespondsToCollision(object, 10000.0f, distToGlass, object->GetPosition(), true);
}
else
diff --git a/src/render/Skidmarks.cpp b/src/render/Skidmarks.cpp
index f2a66db1..0251878a 100644
--- a/src/render/Skidmarks.cpp
+++ b/src/render/Skidmarks.cpp
@@ -215,10 +215,11 @@ CSkidmarks::RegisterOne(uintptr id, const CVector &pos, float fwdX, float fwdY,
aSkidmarks[i].m_pos[aSkidmarks[i].m_last] = pos;
- CVector2D dist = aSkidmarks[i].m_pos[aSkidmarks[i].m_last] - aSkidmarks[i].m_pos[aSkidmarks[i].m_last-1];
- dist.Normalise();
+ CVector2D right(aSkidmarks[i].m_pos[aSkidmarks[i].m_last].y - aSkidmarks[i].m_pos[aSkidmarks[i].m_last - 1].y,
+ aSkidmarks[i].m_pos[aSkidmarks[i].m_last - 1].x - aSkidmarks[i].m_pos[aSkidmarks[i].m_last].x);
+
+ right.Normalise();
fwd.Normalise();
- CVector2D right(dist.y, -dist.x);
float turn = DotProduct2D(fwd, right);
turn = Abs(turn) + 1.0f;
aSkidmarks[i].m_sideX[aSkidmarks[i].m_last] = right.x * turn * 0.125f;
diff --git a/src/render/WaterCannon.cpp b/src/render/WaterCannon.cpp
index 2ef10d77..2b34db37 100644
--- a/src/render/WaterCannon.cpp
+++ b/src/render/WaterCannon.cpp
@@ -140,8 +140,7 @@ void CWaterCannon::Render(void)
if ( !bInit )
{
CVector cp = CrossProduct(m_avecPos[pointB] - m_avecPos[pointA], TheCamera.GetForward());
- cp.Normalise(0.05f);
- norm = cp;
+ norm = cp * (0.05f / cp.Magnitude());
bInit = true;
}