]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/route.cpp
Read MFX locomotive name
[r2c2.git] / source / libr2c2 / route.cpp
index 7458cc66e2eb87f57a08373d6dfc04041bc5680b..5ee30e033161030fa31a8f558f50e7f4a3b9aaea 100644 (file)
@@ -215,10 +215,10 @@ int Route::get_turnout(unsigned id) const
 
 unsigned Route::get_path(Track &trk) const
 {
-       if(unsigned taddr = trk.get_turnout_address())
+       if(trk.get_type().is_turnout())
        {
-               map<unsigned, int>::const_iterator i = turnouts.find(taddr);
-               if(i!=turnouts.end())
+               map<unsigned, int>::const_iterator i = turnouts.find(trk.get_turnout_address());
+               if(i!=turnouts.end() && i->second>=0)
                        return i->second;
        }
        return trk.get_active_path();
@@ -257,6 +257,11 @@ void Route::save(list<DataFile::Statement> &st) const
                st.push_back((DataFile::Statement("turnout"), i->first, i->second));
 }
 
+DataFile::Statement Route::save_reference() const
+{
+       return (DataFile::Statement("route"), name);
+}
+
 Route *Route::find(const TrackIter &from, Track &to)
 {
        return create_route(from, TrackMatch(to));