]> git.tdb.fi Git - r2c2.git/blobdiff - source/libmarklin/layout.cpp
Set correct Z coordinate to vehicle position
[r2c2.git] / source / libmarklin / layout.cpp
index e67fbc26ebc0443440900293bd72555184e439f0..1448a1d76eef08085e76f4604c29fc2586b43e04 100644 (file)
@@ -9,16 +9,17 @@ Distributed under the GPL
 #include <msp/core/refptr.h>
 #include <msp/datafile/parser.h>
 #include <msp/datafile/writer.h>
+#include <msp/io/print.h>
 #include <msp/time/utils.h>
 #include "block.h"
 #include "catalogue.h"
 #include "driver.h"
 #include "layout.h"
-#include "locotype.h"
 #include "route.h"
 #include "track.h"
 #include "tracktype.h"
 #include "train.h"
+#include "vehicletype.h"
 
 using namespace std;
 using namespace Msp;
@@ -216,6 +217,7 @@ void Layout::emergency(const string &msg)
 {
        if(driver)
                driver->halt(true);
+       IO::print("Emergency: %s\n", msg);
        signal_emergency.emit(msg);
 }
 
@@ -370,7 +372,7 @@ void Layout::sensor_event(unsigned addr, bool state)
                        if((*i)->get_sensor_id()==addr)
                        {
                                if(!(*i)->get_train())
-                                       emergency("Unreserved sensor triggered");
+                                       emergency(format("Unreserved sensor %d triggered", addr));
                                break;
                        }
        }
@@ -412,7 +414,7 @@ void Layout::Loader::track(unsigned art_nr)
 
 void Layout::Loader::train(unsigned art_nr, unsigned addr)
 {
-       Train *trn = new Train(obj, obj.catalogue.get_locomotive(art_nr), addr);
+       Train *trn = new Train(obj, obj.catalogue.get_vehicle(art_nr), addr);
        load_sub(*trn);
 }