mirror of
https://git.rip/DMCA_FUCKER/re3.git
synced 2024-12-23 09:10:01 +00:00
CPlane fixes
This commit is contained in:
parent
f760696a9f
commit
2cfd3a9e92
|
@ -86,7 +86,7 @@ CPlane::CPlane(int32 id, uint8 CreatedBy)
|
||||||
m_level = LEVEL_GENERIC;
|
m_level = LEVEL_GENERIC;
|
||||||
|
|
||||||
#ifdef FIX_BUGS
|
#ifdef FIX_BUGS
|
||||||
m_isFarAway = true;
|
m_isFarAway = false;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -154,7 +154,7 @@ CPlane::ProcessControl(void)
|
||||||
int f = ++nFrameGen & 3;
|
int f = ++nFrameGen & 3;
|
||||||
CParticle::AddParticle(PARTICLE_HELI_DEBRIS, GetMatrix() * CVector(0.0f, 0.0f, 0.0f), dir,
|
CParticle::AddParticle(PARTICLE_HELI_DEBRIS, GetMatrix() * CVector(0.0f, 0.0f, 0.0f), dir,
|
||||||
nil, CGeneral::GetRandomNumberInRange(0.1f, 1.0f),
|
nil, CGeneral::GetRandomNumberInRange(0.1f, 1.0f),
|
||||||
colors[nFrameGen], rotSpeed, 0, f, 0);
|
colors[nFrameGen&7], rotSpeed, 0, f, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(frm >= 40 && frm <= 80 && frm & 1){
|
if(frm >= 40 && frm <= 80 && frm & 1){
|
||||||
|
@ -197,17 +197,18 @@ CPlane::ProcessControl(void)
|
||||||
colors[6] = CRGBA(0, 0, 0, 255);
|
colors[6] = CRGBA(0, 0, 0, 255);
|
||||||
colors[7] = CRGBA(252, 66, 66, 255);
|
colors[7] = CRGBA(252, 66, 66, 255);
|
||||||
|
|
||||||
|
CVector dir;
|
||||||
for(i = 0; i < 40; i++){
|
for(i = 0; i < 40; i++){
|
||||||
|
dir.x = CGeneral::GetRandomNumberInRange(-2.0f, 2.0f);
|
||||||
|
dir.y = CGeneral::GetRandomNumberInRange(-2.0f, 2.0f);
|
||||||
|
dir.z = CGeneral::GetRandomNumberInRange(0.0f, 2.0f);
|
||||||
int rotSpeed = CGeneral::GetRandomNumberInRange(30.0f, 20.0f);
|
int rotSpeed = CGeneral::GetRandomNumberInRange(30.0f, 20.0f);
|
||||||
if(CGeneral::GetRandomNumber() & 1)
|
if(CGeneral::GetRandomNumber() & 1)
|
||||||
rotSpeed = -rotSpeed;
|
rotSpeed = -rotSpeed;
|
||||||
int f = ++nFrameGen & 3;
|
int f = ++nFrameGen & 3;
|
||||||
CParticle::AddParticle(PARTICLE_HELI_DEBRIS, GetMatrix() * CVector(0.0f, 0.0f, 0.0f),
|
CParticle::AddParticle(PARTICLE_HELI_DEBRIS, GetMatrix() * CVector(0.0f, 0.0f, 0.0f), dir,
|
||||||
CVector(CGeneral::GetRandomNumberInRange(-2.0f, 2.0f),
|
|
||||||
CGeneral::GetRandomNumberInRange(-2.0f, 2.0f),
|
|
||||||
CGeneral::GetRandomNumberInRange(0.0f, 2.0f)),
|
|
||||||
nil, CGeneral::GetRandomNumberInRange(0.1f, 1.0f),
|
nil, CGeneral::GetRandomNumberInRange(0.1f, 1.0f),
|
||||||
colors[nFrameGen], rotSpeed, 0, f, 0);
|
colors[nFrameGen&7], rotSpeed, 0, f, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(frm >= 40 && frm <= 60 && frm & 1){
|
if(frm >= 40 && frm <= 60 && frm & 1){
|
||||||
|
@ -226,7 +227,7 @@ CPlane::ProcessControl(void)
|
||||||
}
|
}
|
||||||
if(frm == 30)
|
if(frm == 30)
|
||||||
bRenderScorched = true;
|
bRenderScorched = true;
|
||||||
if(frm == 61){
|
if(frm == 62){
|
||||||
TheCamera.SetFadeColour(200, 200, 200);
|
TheCamera.SetFadeColour(200, 200, 200);
|
||||||
TheCamera.Fade(0.0f, FADE_OUT);
|
TheCamera.Fade(0.0f, FADE_OUT);
|
||||||
TheCamera.ProcessFade();
|
TheCamera.ProcessFade();
|
||||||
|
@ -363,7 +364,7 @@ CPlane::ProcessControl(void)
|
||||||
CVector posFront2 = (1.0f - f)*pPathNodes[curPathNodeFront2].p + f*pPathNodes[nextPathNodeFront2].p;
|
CVector posFront2 = (1.0f - f)*pPathNodes[curPathNodeFront2].p + f*pPathNodes[nextPathNodeFront2].p;
|
||||||
|
|
||||||
// Now set matrix
|
// Now set matrix
|
||||||
GetMatrix().GetPosition() = (posRear + posFront) / 2.0f;
|
GetMatrix().SetTranslateOnly((posRear + posFront) / 2.0f);
|
||||||
GetMatrix().GetPosition().z += 4.3f;
|
GetMatrix().GetPosition().z += 4.3f;
|
||||||
CVector fwd = posFront - posRear;
|
CVector fwd = posFront - posRear;
|
||||||
fwd.Normalise();
|
fwd.Normalise();
|
||||||
|
@ -388,7 +389,7 @@ CPlane::ProcessControl(void)
|
||||||
m_fSpeed = PlanePathSpeed[m_nPlaneId]/60.0f;
|
m_fSpeed = PlanePathSpeed[m_nPlaneId]/60.0f;
|
||||||
m_vecTurnSpeed = CVector(0.0f, 0.0f, 0.0f);
|
m_vecTurnSpeed = CVector(0.0f, 0.0f, 0.0f);
|
||||||
|
|
||||||
m_isFarAway = !((posFront - TheCamera.GetPosition()).Magnitude2D() < sq(300.0f));
|
m_isFarAway = !((posFront - TheCamera.GetPosition()).MagnitudeSqr2D() < sq(300.0f));
|
||||||
}else{
|
}else{
|
||||||
float planePathPosition;
|
float planePathPosition;
|
||||||
float totalLengthOfFlightPath;
|
float totalLengthOfFlightPath;
|
||||||
|
@ -484,7 +485,7 @@ CPlane::ProcessControl(void)
|
||||||
f = (pathPositionFront - pathNodes[curPathNodeFront].t)/dist;
|
f = (pathPositionFront - pathNodes[curPathNodeFront].t)/dist;
|
||||||
CVector posFront = (1.0f - f)*pathNodes[curPathNodeFront].p + f*pathNodes[nextPathNodeFront].p;
|
CVector posFront = (1.0f - f)*pathNodes[curPathNodeFront].p + f*pathNodes[nextPathNodeFront].p;
|
||||||
|
|
||||||
// And for another point 60 units in front of the plane, used to calculate roll
|
// And for another point 30 units in front of the plane, used to calculate roll
|
||||||
float pathPositionFront2 = pathPositionFront + 30.0f;
|
float pathPositionFront2 = pathPositionFront + 30.0f;
|
||||||
if(pathPositionFront2 > totalLengthOfFlightPath)
|
if(pathPositionFront2 > totalLengthOfFlightPath)
|
||||||
pathPositionFront2 -= totalLengthOfFlightPath;
|
pathPositionFront2 -= totalLengthOfFlightPath;
|
||||||
|
@ -515,7 +516,7 @@ CPlane::ProcessControl(void)
|
||||||
CVector posFront2 = (1.0f - f)*pathNodes[curPathNodeFront2].p + f*pathNodes[nextPathNodeFront2].p;
|
CVector posFront2 = (1.0f - f)*pathNodes[curPathNodeFront2].p + f*pathNodes[nextPathNodeFront2].p;
|
||||||
|
|
||||||
// Now set matrix
|
// Now set matrix
|
||||||
GetMatrix().GetPosition() = (posRear + posFront) / 2.0f;
|
GetMatrix().SetTranslateOnly((posRear + posFront) / 2.0f);
|
||||||
GetMatrix().GetPosition().z += 1.0f;
|
GetMatrix().GetPosition().z += 1.0f;
|
||||||
CVector fwd = posFront - posRear;
|
CVector fwd = posFront - posRear;
|
||||||
fwd.Normalise();
|
fwd.Normalise();
|
||||||
|
@ -535,7 +536,7 @@ CPlane::ProcessControl(void)
|
||||||
m_fSpeed = planePathSpeed/60.0f;
|
m_fSpeed = planePathSpeed/60.0f;
|
||||||
m_vecTurnSpeed = CVector(0.0f, 0.0f, 0.0f);
|
m_vecTurnSpeed = CVector(0.0f, 0.0f, 0.0f);
|
||||||
|
|
||||||
m_isFarAway = !((posFront - TheCamera.GetPosition()).Magnitude2D() < sq(300.0f));
|
m_isFarAway = !((posFront - TheCamera.GetPosition()).MagnitudeSqr2D() < sq(300.0f));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue