summaryrefslogtreecommitdiffstats
path: root/src/core/Ropes.cpp
diff options
context:
space:
mode:
authoreray orçunus <erayorcunus@gmail.com>2020-07-27 15:04:05 +0200
committereray orçunus <erayorcunus@gmail.com>2020-07-28 16:04:34 +0200
commit429f6b03c44fe1df791865d976b456321b273859 (patch)
treed6086ec4cd97d717d1b43dbf69be7e085dbab1cc /src/core/Ropes.cpp
parentMerge pull request #664 from aap/miami (diff)
downloadre3-429f6b03c44fe1df791865d976b456321b273859.tar
re3-429f6b03c44fe1df791865d976b456321b273859.tar.gz
re3-429f6b03c44fe1df791865d976b456321b273859.tar.bz2
re3-429f6b03c44fe1df791865d976b456321b273859.tar.lz
re3-429f6b03c44fe1df791865d976b456321b273859.tar.xz
re3-429f6b03c44fe1df791865d976b456321b273859.tar.zst
re3-429f6b03c44fe1df791865d976b456321b273859.zip
Diffstat (limited to '')
-rw-r--r--src/core/Ropes.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/core/Ropes.cpp b/src/core/Ropes.cpp
index 4c57f190..dbae9ee3 100644
--- a/src/core/Ropes.cpp
+++ b/src/core/Ropes.cpp
@@ -31,14 +31,14 @@ CRope::Update(void)
for(i = 1; i < ARRAY_SIZE(m_pos); i++){
CVector prevPos = m_pos[i];
m_pos[i] += m_speed[i]*step*CTimer::GetTimeStep();
- m_pos[0].z -= 0.05f*CTimer::GetTimeStep();
+ m_pos[i].z -= 0.05f*CTimer::GetTimeStep();
CVector dist = m_pos[i] - m_pos[i-1];
- m_pos[i] = m_pos[i-1] + dist/dist.Magnitude()*0.625f;
+ m_pos[i] = m_pos[i-1] + (0.625f/dist.Magnitude())*dist;
m_speed[i] = (m_pos[i] - prevPos)/CTimer::GetTimeStep();
}
if(!m_bWasRegistered && m_pos[0].z < 0.0f)
m_bActive = false;
- m_bWasRegistered = true;
+ m_bWasRegistered = false;
}
void
@@ -60,7 +60,11 @@ CRope::Render(void)
RwRenderStateSet(rwRENDERSTATETEXTURERASTER, nil);
if(RwIm3DTransform(TempBufferRenderVertices, ARRAY_SIZE(m_pos), nil, rwIM3D_VERTEXXYZ|rwIM3D_VERTEXRGBA)){
+#ifdef FIX_BUGS
RwIm3DRenderIndexedPrimitive(rwPRIMTYPELINELIST, RopeIndices, 2*(ARRAY_SIZE(m_pos)-1));
+#else
+ RwIm3DRenderIndexedPrimitive(rwPRIMTYPEPOLYLINE, RopeIndices, 2*(ARRAY_SIZE(m_pos)-1));
+#endif
RwIm3DEnd();
}
}
@@ -159,7 +163,7 @@ CRopes::CreateRopeWithSwatComingDown(CVector pos)
if(!CStreaming::HasModelLoaded(MI_SWAT) || !RegisterRope(ropeId+100, pos, true))
return false;
- CCopPed *swat = (CCopPed*)CPopulation::AddPed(PEDTYPE_COP, COP_ARMY, pos);
+ CCopPed *swat = (CCopPed*)CPopulation::AddPed(PEDTYPE_COP, COP_HELI_SWAT, pos);
swat->bUsesCollision = false;
swat->m_pRopeEntity = (CEntity*)1;
swat->m_nRopeID = 100 + ropeId;