]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/layout.cpp
Make the simulation independent of wall clock time
[r2c2.git] / source / libr2c2 / layout.cpp
index efc1e0f74cbc97627de661b40caa4cc09dd6ac8e..46a43a8353fffd8cccc266f418dbaa7bb117bcd3 100644 (file)
@@ -39,7 +39,9 @@ Layout::Layout(Catalogue &c, Driver *d):
        catalogue(c),
        driver(d),
        next_turnout_id(0x800)
-{ }
+{
+       clock.set_rate(60);
+}
 
 Layout::~Layout()
 {
@@ -343,13 +345,15 @@ void Layout::tick()
                dt = t-last_tick;
        last_tick = t;
 
+       clock.tick(dt);
+
        for(set<Sensor *>::iterator i=sensors.get().begin(); i!=sensors.get().end(); ++i)
                (*i)->tick(dt);
        const set<Signal *> &signals = objects.get<Signal>();
        for(set<Signal *>::iterator i=signals.begin(); i!=signals.end(); ++i)
                (*i)->tick(dt);
        for(map<unsigned, Train *>::iterator i=trains.begin(); i!=trains.end(); ++i)
-               i->second->tick(t, dt);
+               i->second->tick(dt);
 }
 
 void Layout::emergency(const string &msg)