diff --git a/src/drivers/shadow/src/Driver.cpp b/src/drivers/shadow/src/Driver.cpp index 7f1ecdaf3..2a2bc3611 100644 --- a/src/drivers/shadow/src/Driver.cpp +++ b/src/drivers/shadow/src/Driver.cpp @@ -616,7 +616,7 @@ void TDriver::InitTrack( tTrack* pTrack, void* pCarHandle, void** ppCarParmHandl LogSHADOW.debug( "SIDE MOD %d %d %d\n", sideMod.side, sideMod.start, sideMod.end ); LogSHADOW.debug( "STAY_TOGETHER %g\n", STAY_TOGETHER ); - m_track.NewTrack( track, false, &sideMod ); + m_track.NewTrack( track, NULL, false, &sideMod ); m_Situation = pS; @@ -2136,10 +2136,12 @@ void TDriver::AvoidOtherCars(int index, tCarElt* car, const tSituation* s, doubl int carIdx = m_track.IndexFromPos(m_track.CalcPos(car)); ai.k = m_path[PATH_NORMAL].GetAt(carIdx).k; int NSEG = m_track.GetSize(); + for( int i = 1; i < NSEG; i++ ) { int idx = (carIdx + i) % NSEG; double thisK = m_path[PATH_NORMAL].GetAt(idx).k; + if( fabs(thisK) > 0.01 ) { ai.nextK = thisK; diff --git a/src/drivers/shadow/src/MyTrack.h b/src/drivers/shadow/src/MyTrack.h index 0915e5ab4..aeb89972f 100644 --- a/src/drivers/shadow/src/MyTrack.h +++ b/src/drivers/shadow/src/MyTrack.h @@ -43,7 +43,7 @@ public: ~MyTrack(); void Clear(); - void NewTrack(tTrack* pNewTrack, const std::vector *pInnerMod, bool pit = false, SideMod* pSideMod = 0 ); + void NewTrack(tTrack* pNewTrack, const std::vector *pInnerMod = NULL, bool pit = false, SideMod* pSideMod = 0 ); tTrack* GetTrack(); const tTrack* GetTrack() const;