diff --git a/src/drivers/simplix/src/unitdriver.cpp b/src/drivers/simplix/src/unitdriver.cpp index 6f62e71b5..882ca2746 100644 --- a/src/drivers/simplix/src/unitdriver.cpp +++ b/src/drivers/simplix/src/unitdriver.cpp @@ -564,12 +564,14 @@ void TDriver::AdjustDriving( Param.oCarParam.oScaleBump; Param.oCarParam.oScaleBumpRight = Param.oCarParam.oScaleBump; - LogSimplix.debug("#Scale Bump: %g\n",Param.oCarParam.oScaleBump); + LogSimplix.error("#-------------------------------------------\n"); + LogSimplix.error("#Scale Bump: %g\n",Param.oCarParam.oScaleBump); Param.oCarParam.oScaleBumpOuter = GfParmGetNum(Handle,TDriver::SECT_PRIV,PRV_SCALE_BUMPOUTER,NULL, (float) Param.oCarParam.oScaleBump); - LogSimplix.debug("#Scale Bump Outer: %g\n",Param.oCarParam.oScaleBumpOuter); + LogSimplix.error("#Scale Bump Outer: %g\n",Param.oCarParam.oScaleBumpOuter); + LogSimplix.error("#-------------------------------------------\n"); Param.oCarParam.oLimitSideUse = GfParmGetNum(Handle,TDriver::SECT_PRIV,PRV_LIMIT_SIDE_USE,NULL, @@ -850,7 +852,7 @@ void TDriver::AdjustPitting(PCarHandle Handle) LogSimplix.debug("#oExitLong %g\n",Param.Pit.oExitLong); Param.Pit.oExitLength = - GfParmGetNum(Handle,TDriver::SECT_PRIV,PRV_PIT_EXIT_LEN,0,0); + -GfParmGetNum(Handle,TDriver::SECT_PRIV,PRV_PIT_EXIT_LEN,0,0); LogSimplix.debug("#oExitLength %g\n",Param.Pit.oExitLength); Param.Pit.oLatOffset = @@ -1213,7 +1215,7 @@ void TDriver::InitTrack // Get the private parameters now. oBrakeRep = // Bremsdruckverteilung GfParmGetNum(Handle, (char*) SECT_BRKSYST, - PRM_BRKREP, (char*)NULL, 0.6); + PRM_BRKREP, (char*)NULL, 0.6f); float Press = GfParmGetNum(Handle, (char*) SECT_BRKSYST, @@ -2727,9 +2729,13 @@ void TDriver::GetLanePoint(int Path, double Pos, TLanePoint& LanePoint) { //LogSimplix.debug("+"); oStrategy->oPit->oPitLane[Path].GetLanePoint(Pos, LanePoint); - oLookScale = 0.05; +// oLookScale = 0.05; +// oOmegaScale = 0.2; +// oLookBase = Param.Fix.oLength / 4; +// oOmegaBase = Param.Fix.oLength / 2; + oLookScale = 0.02; oOmegaScale = 0.2; - oLookBase = Param.Fix.oLength / 4; + oLookBase = Param.Fix.oLength / 10; oOmegaBase = Param.Fix.oLength / 2; oGoToPit = true; } @@ -3474,7 +3480,7 @@ void TDriver::AvoidOtherCars(double K, bool& IsClose, bool& IsLapper) { if (!oDoAvoid) // If no avoiding needed { - Target = - Ratio * PitSide(); // Bring us to the correct + Target = - Ratio * PitSide(); // Bring us to the correct oDoAvoid = true; // side to make pit stop } } @@ -3482,7 +3488,7 @@ void TDriver::AvoidOtherCars(double K, bool& IsClose, bool& IsLapper) { if (!oDoAvoid) // If no avoiding needed { - Target = - PitSide(); // Bring us to the correct + Target = - PitSide(); // Bring us to the correct oDoAvoid = true; // side to make pit stop } } diff --git a/src/drivers/simplix/src/unitfixcarparam.cpp b/src/drivers/simplix/src/unitfixcarparam.cpp index c1c776c0b..07845309b 100644 --- a/src/drivers/simplix/src/unitfixcarparam.cpp +++ b/src/drivers/simplix/src/unitfixcarparam.cpp @@ -339,7 +339,7 @@ double TFixCarParam::CalcBrakingPit double Acc = CarParam.oScaleBrakePit * Ftanroad / oTmpCarParam->oMass; - if (TDriver::UseBrakeLimit) + //if (TDriver::UseBrakeLimit) { double Radius = 1.0 / fabs(Crv); double factor = MIN(1.0,MAX(0.39, (Radius - 190.0) / 100.0)); diff --git a/src/drivers/simplix/src/unitlane.cpp b/src/drivers/simplix/src/unitlane.cpp index 8f849cda7..977ba9889 100644 --- a/src/drivers/simplix/src/unitlane.cpp +++ b/src/drivers/simplix/src/unitlane.cpp @@ -578,7 +578,7 @@ void TLane::PropagatePitBreaking { /*const float base = 0.5f; */ int Step = 1; - int L = 30; + int L = 10; const int N = oTrack->Count(); const int M = Step * ((Len - 1) / Step); @@ -604,7 +604,7 @@ void TLane::PropagatePitBreaking double Factor = MIN(1.0,fabs(oPathPoints[Q].Dist() - PitStopPos) / oFixCarParam.oPitBrakeDist); double Friction = oTrack->Friction(P) * (Factor * ScaleMu + (1 - Factor) * oCarParam.oScaleBrakePit * ScaleMu); if (L) - Friction *= 0.9; + Friction *= 0.5; //LogSimplix.debug("F %g: %g/%g )",Factor,oTrack->Friction(P),Friction); //LogSimplix.debug("SQ %g )",oPathPoints[Q].Speed); @@ -632,8 +632,9 @@ void TLane::PropagatePitBreaking if (oPathPoints[P].Speed > U) oPathPoints[P].Speed = oPathPoints[P].AccSpd = U; - if (oPathPoints[P].FlyHeight > 0.1) - oPathPoints[P].Speed = oPathPoints[Q].Speed; + if (!L) + if (oPathPoints[P].FlyHeight > 0.1) + oPathPoints[P].Speed = oPathPoints[Q].Speed; //LogSimplix.debug("SP %g\n)",oPathPoints[P].Speed); //LogSimplix.debug("I:%d P:%d Q:%d F:%.3f U:%.2f S:%.2f\n",I,P,Q,Factor,U*3.6,oPathPoints[P].Speed*3.6); diff --git a/src/drivers/simplix/src/unitpit.cpp b/src/drivers/simplix/src/unitpit.cpp index a1c8ebf01..3fd799232 100644 --- a/src/drivers/simplix/src/unitpit.cpp +++ b/src/drivers/simplix/src/unitpit.cpp @@ -369,7 +369,7 @@ void TPitLane::MakePath // braking parameters. The simplix allows a manual fine tuning using some // additional parameters. oStoppingDist = Param.Pit.oStoppingDist; // Distance to brake - oPitStopOffset = Param.Pit.oLongOffset; // Offset for fine tuning + oPitStopOffset = -Param.Pit.oLongOffset; // Offset for fine tuning oCarParam.oScaleBrake = // Limit brake to be used MAX(0.10f,CarParam.oScaleBrake); // in pitlane oCarParam.oScaleMu = // Scale friction estimation @@ -932,7 +932,7 @@ void TPitLane::MakePath // Section at pit stop oStopIdx = Idx0 = oTrack->IndexFromPos(StopPos); - +/* // Set speed to restart faster or at Aalborg for (I = 0; I < 15; I++) { @@ -941,7 +941,7 @@ void TPitLane::MakePath oPathPoints[Idx0].Speed = PitInfo->speedLimit - 0.5; } - +*/ // This is where we stop in track coordinates oPitStopPos = oPathPoints[oStopIdx].Dist();