]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/train.cpp
Better sequence syncing on route change
[r2c2.git] / source / libr2c2 / train.cpp
index 6ba868461b6da2eb5e995673053eada3f55a6369..858cbbc9e8c8d093971af814a3acb049717ffc37 100644 (file)
@@ -5,13 +5,11 @@
 #include <msp/strings/format.h>
 #include <msp/time/units.h>
 #include <msp/time/utils.h>
-#include "aicontrol.h"
 #include "beamgate.h"
 #include "block.h"
 #include "catalogue.h"
 #include "driver.h"
 #include "layout.h"
-#include "route.h"
 #include "simplecontroller.h"
 #include "speedquantizer.h"
 #include "timetable.h"
@@ -22,7 +20,6 @@
 #include "trainrouter.h"
 #include "vehicle.h"
 #include "vehicletype.h"
-#include "zone.h"
 
 using namespace std;
 using namespace Msp;
@@ -301,12 +298,9 @@ void Train::tick(const Time::TimeDelta &dt)
 {
        if(stop_timeout)
        {
-               stop_timeout -= dt;
+               stop_timeout = max(stop_timeout-dt, Time::zero);
                if(stop_timeout<=Time::zero)
-               {
                        allocator.set_active(false);
-                       stop_timeout = Time::TimeDelta();
-               }
        }
 
        travel_time += dt;