forked from speed-dreams/speed-dreams-code
- Update skilling for Shadow's driver
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@6372 30fe4595-0a0c-4342-8851-515496e4dcbd Former-commit-id: fc4abd7649db4e121c35b445a7152132bcf98563 Former-commit-id: 60f6bad08cdf632a7d4b6e80f9effb4f4b3d6a21
This commit is contained in:
parent
f191794922
commit
8609c66c8a
2 changed files with 22 additions and 17 deletions
|
@ -416,6 +416,7 @@ void TDriver::GetSkillingParameters()
|
||||||
LogSHADOW.debug("#DriverAggression: %g\n", DriverAggression);
|
LogSHADOW.debug("#DriverAggression: %g\n", DriverAggression);
|
||||||
|
|
||||||
SkillDriver = (float)((SkillGlobal + SkillDriver * 2) * (1.0 + SkillDriver));
|
SkillDriver = (float)((SkillGlobal + SkillDriver * 2) * (1.0 + SkillDriver));
|
||||||
|
Skill = (float)((SkillGlobal + SkillDriver * 2) * (1.0 + SkillDriver));
|
||||||
}
|
}
|
||||||
|
|
||||||
GfParmReleaseHandle(SkillHandle);
|
GfParmReleaseHandle(SkillHandle);
|
||||||
|
@ -1522,6 +1523,8 @@ void TDriver::Drive( tSituation* s )
|
||||||
m_avoidTVel = 0;
|
m_avoidTVel = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CurrSimTime = s->currentTime;
|
||||||
|
|
||||||
double carFuel = car->_fuel;
|
double carFuel = car->_fuel;
|
||||||
|
|
||||||
if(HasTYC)
|
if(HasTYC)
|
||||||
|
@ -1781,14 +1784,21 @@ void TDriver::Drive( tSituation* s )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CalcSkill();
|
||||||
|
|
||||||
|
|
||||||
if (!HasESP)
|
if (!HasESP)
|
||||||
//brk = filterBrake(car, brk);
|
//brk = filterBrake(car, brk);
|
||||||
//oBrake = FilterBrakeSpeed(oBrake);
|
//oBrake = FilterBrakeSpeed(oBrake);
|
||||||
if (!HasABS)
|
if (!HasABS)
|
||||||
brk = ApplyAbs(car, brk);
|
brk = ApplyAbs(car, brk);
|
||||||
//brk = ApplyAbs(car, brk);
|
|
||||||
steer = FlightControl(steer);
|
steer = FlightControl(steer);
|
||||||
|
|
||||||
|
brk *= BrakeAdjustPerc;
|
||||||
|
|
||||||
|
//acc *= BrakeAdjustPerc;
|
||||||
|
|
||||||
acc = filterDrifting(acc);
|
acc = filterDrifting(acc);
|
||||||
|
|
||||||
if (!HasTCL)
|
if (!HasTCL)
|
||||||
|
@ -3306,12 +3316,12 @@ double TDriver::CalcFriction_shadow_REF(const double Crv)
|
||||||
//==========================================================================*
|
//==========================================================================*
|
||||||
// Skilling
|
// Skilling
|
||||||
//--------------------------------------------------------------------------*
|
//--------------------------------------------------------------------------*
|
||||||
double TDriver::CalcSkill(tSituation *s, double TargetSpeed)
|
void TDriver::CalcSkill()
|
||||||
{
|
{
|
||||||
if (Skilling && (RM_TYPE_PRACTICE != s->_raceType)
|
if (Skilling && (RM_TYPE_PRACTICE != m_Situation->_raceType)
|
||||||
&& m_Strategy->OutOfPitlane())
|
&& m_Strategy->OutOfPitlane())
|
||||||
{
|
{
|
||||||
if ((SkillAdjustTimer == -1.0) || (TDriver::CurrSimTime - SkillAdjustTimer > SkillAdjustLimit))
|
if ((SkillAdjustTimer == -1.0) || (CurrSimTime - SkillAdjustTimer > SkillAdjustLimit))
|
||||||
{
|
{
|
||||||
double Rand1 = (double) getRandom() / 65536.0;
|
double Rand1 = (double) getRandom() / 65536.0;
|
||||||
double Rand2 = (double) getRandom() / 65536.0;
|
double Rand2 = (double) getRandom() / 65536.0;
|
||||||
|
@ -3321,31 +3331,26 @@ double TDriver::CalcSkill(tSituation *s, double TargetSpeed)
|
||||||
DecelAdjustTarget = (Skill / 4 * Rand1);
|
DecelAdjustTarget = (Skill / 4 * Rand1);
|
||||||
|
|
||||||
// brake to use
|
// brake to use
|
||||||
BrakeAdjustTarget = MAX(0.7, 1.0 - MAX(0.0, Skill/10 * (Rand2 - 0.7)));
|
BrakeAdjustTarget = MAX(0.85, 1.0 - MAX(0.0, Skill/15 * (Rand2 - 0.85)));
|
||||||
LogSHADOW.debug("Brake Adjust Target = %.2f\n", BrakeAdjustTarget);
|
LogSHADOW.debug("Brake Adjust Target = %.2f\n", BrakeAdjustTarget);
|
||||||
|
|
||||||
// how long this skill mode to last for
|
// how long this skill mode to last for
|
||||||
SkillAdjustLimit = 5.0 + Rand3 * 50.0;
|
SkillAdjustLimit = 5.0 + Rand3 * 50.0;
|
||||||
SkillAdjustTimer = TDriver::CurrSimTime;
|
SkillAdjustTimer = CurrSimTime;
|
||||||
|
|
||||||
if (DecelAdjustPerc < DecelAdjustTarget)
|
if (DecelAdjustPerc < DecelAdjustTarget)
|
||||||
DecelAdjustPerc += MIN(s->deltaTime*4, DecelAdjustTarget - DecelAdjustPerc);
|
DecelAdjustPerc += MIN(m_Situation->deltaTime*4, DecelAdjustTarget - DecelAdjustPerc);
|
||||||
else
|
else
|
||||||
DecelAdjustPerc -= MIN(s->deltaTime*4, DecelAdjustPerc - DecelAdjustTarget);
|
DecelAdjustPerc -= MIN(m_Situation->deltaTime*4, DecelAdjustPerc - DecelAdjustTarget);
|
||||||
|
|
||||||
if (BrakeAdjustPerc < BrakeAdjustTarget)
|
if (BrakeAdjustPerc < BrakeAdjustTarget)
|
||||||
BrakeAdjustPerc += MIN(s->deltaTime*2, BrakeAdjustTarget - BrakeAdjustPerc);
|
BrakeAdjustPerc += MIN(m_Situation->deltaTime*2, BrakeAdjustTarget - BrakeAdjustPerc);
|
||||||
else
|
else
|
||||||
BrakeAdjustPerc -= MIN(s->deltaTime*2, BrakeAdjustPerc - BrakeAdjustTarget);
|
BrakeAdjustPerc -= MIN(m_Situation->deltaTime*2, BrakeAdjustPerc - BrakeAdjustTarget);
|
||||||
}
|
}
|
||||||
LogSHADOW.debug("#TS: %g DAP: %g (%g)", TargetSpeed, DecelAdjustPerc,(1 - DecelAdjustPerc/10));
|
LogSHADOW.debug("CalcSkill DAP: %g (%g)\n ", DecelAdjustPerc,(1 - DecelAdjustPerc/10));
|
||||||
TargetSpeed *= (1 - Skill/SkillMax * DecelAdjustPerc/20);
|
|
||||||
LogSHADOW.debug("#TS: %g\n", TargetSpeed);
|
|
||||||
|
|
||||||
LogSHADOW.debug("#%g %g\n", DecelAdjustPerc,(1 - DecelAdjustPerc/10));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return TargetSpeed;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//==========================================================================*
|
//==========================================================================*
|
||||||
|
|
|
@ -237,7 +237,7 @@ public:
|
||||||
double (TDriver::*CalcCrvFoo)(double Crv);
|
double (TDriver::*CalcCrvFoo)(double Crv);
|
||||||
double (TDriver::*CalcHairpinFoo)(double Speed, double AbsCrv);
|
double (TDriver::*CalcHairpinFoo)(double Speed, double AbsCrv);
|
||||||
|
|
||||||
double CalcSkill(tSituation *s, double TargetSpeed);
|
void CalcSkill();
|
||||||
void CalcSkilling_shadow();
|
void CalcSkilling_shadow();
|
||||||
void CalcSkilling_shadow_LS1();
|
void CalcSkilling_shadow_LS1();
|
||||||
void CalcSkilling_shadow_LS2();
|
void CalcSkilling_shadow_LS2();
|
||||||
|
|
Loading…
Reference in a new issue