forked from speed-dreams/speed-dreams-code
- Update Shadow's driver
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@6016 30fe4595-0a0c-4342-8851-515496e4dcbd Former-commit-id: 7ee8586444b73b1ffcbe594d41fcaeabe62df004 Former-commit-id: a999a9d1dfba1b6e618c4388bc314d8fa3796719
This commit is contained in:
parent
66d7be4a38
commit
01419ba47c
2 changed files with 43 additions and 0 deletions
|
@ -2067,6 +2067,8 @@ int TDriver::CalcGear( tCarElt* car, double& acc )
|
||||||
// Compute the clutch value.
|
// Compute the clutch value.
|
||||||
float TDriver::getClutch()
|
float TDriver::getClutch()
|
||||||
{
|
{
|
||||||
|
float m_Clutch;
|
||||||
|
#if 0
|
||||||
float speedr;
|
float speedr;
|
||||||
float omega;
|
float omega;
|
||||||
float wr = wheelRadius;
|
float wr = wheelRadius;
|
||||||
|
@ -2128,6 +2130,46 @@ float TDriver::getClutch()
|
||||||
return clutcht;
|
return clutcht;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if(m_Clutch > 0)
|
||||||
|
{
|
||||||
|
if (car->_gear < 2)
|
||||||
|
m_Clutch = startAutomatic();
|
||||||
|
|
||||||
|
m_Clutch = MIN(m_ClutchMax, m_Clutch);
|
||||||
|
if(m_Clutch == m_ClutchMax)
|
||||||
|
{
|
||||||
|
if((car->_gear + car->_gearOffset)* car->_speed_x
|
||||||
|
/ (wheelRadius * car->_enginerpm) > m_ClutchRange)
|
||||||
|
{
|
||||||
|
m_Clutch = m_ClutchMax - 0.01;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
m_Clutch -= m_ClutchDelta / 10;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_Clutch -= m_ClutchDelta;
|
||||||
|
m_Clutch = MAX(0.0, m_Clutch);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return m_Clutch;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
float TDriver::startAutomatic()
|
||||||
|
{
|
||||||
|
float m_Clutch;
|
||||||
|
if ((car->_gearCmd == 1) && (TDriver::CurrSimTime < 20))
|
||||||
|
{
|
||||||
|
if (car->_enginerpm < 0.94)
|
||||||
|
m_Clutch += m_ClutchDelta;
|
||||||
|
else if (car->_enginerpm > 1.1 * 0.94)
|
||||||
|
m_Clutch -= m_ClutchDelta * m_ClutchRelease;
|
||||||
|
}
|
||||||
|
|
||||||
|
return m_Clutch;
|
||||||
}
|
}
|
||||||
|
|
||||||
double TDriver::filterBrake(double Brake)
|
double TDriver::filterBrake(double Brake)
|
||||||
|
|
|
@ -277,6 +277,7 @@ private:
|
||||||
void AvoidOtherCars( int index, tCarElt* car, double k, double& carTargetSpd, tSituation* s, bool& inTraffic, bool& lapper );
|
void AvoidOtherCars( int index, tCarElt* car, double k, double& carTargetSpd, tSituation* s, bool& inTraffic, bool& lapper );
|
||||||
int CalcGear( tCarElt* car, double& acc );
|
int CalcGear( tCarElt* car, double& acc );
|
||||||
float getClutch();
|
float getClutch();
|
||||||
|
float startAutomatic();
|
||||||
double ApplyAbs( tCarElt* car, double brake );
|
double ApplyAbs( tCarElt* car, double brake );
|
||||||
double filterBrake(double Brake);
|
double filterBrake(double Brake);
|
||||||
void Meteorology();
|
void Meteorology();
|
||||||
|
|
Loading…
Reference in a new issue