X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibr2c2%2Ftrain.cpp;h=6ba868461b6da2eb5e995673053eada3f55a6369;hb=81ee4fbd16b472892b67b35ea85956423a2247ed;hp=98553e3c611540aef90dc34477315ec3c8f6ea48;hpb=42a5c6606e82b1a27cb6d4d7afa630c75c869f97;p=r2c2.git diff --git a/source/libr2c2/train.cpp b/source/libr2c2/train.cpp index 98553e3..6ba8684 100644 --- a/source/libr2c2/train.cpp +++ b/source/libr2c2/train.cpp @@ -68,6 +68,7 @@ Train::Train(Layout &l, const VehicleType &t, unsigned a, const string &p): controller->signal_control_changed.connect(sigc::mem_fun(this, &Train::control_changed)); allocator.signal_advanced.connect(sigc::mem_fun(this, &Train::advanced)); + allocator.signal_rear_advanced.connect(signal_rear_advanced); } Train::~Train() @@ -384,9 +385,10 @@ void Train::save(list &st) const { st.push_back((DataFile::Statement("name"), name)); + const Catalogue &cat = layout.get_catalogue(); for(vector::const_iterator i=vehicles.begin(); i!=vehicles.end(); ++i) if(i!=vehicles.begin()) - st.push_back((DataFile::Statement("vehicle"), (*i)->get_type().get_article_number())); + st.push_back((DataFile::Statement("vehicle"), cat.get_name(&(*i)->get_type()))); if(speed_quantizer) { @@ -622,9 +624,9 @@ void Train::Loader::timetable() load_sub(*ttbl, obj.layout); } -void Train::Loader::vehicle(ArticleNumber art_nr) +void Train::Loader::vehicle(const string &n) { - const VehicleType &vtype = obj.layout.get_catalogue().get(art_nr); + const VehicleType &vtype = obj.layout.get_catalogue().get(n); Vehicle *veh = new Vehicle(obj.layout, vtype); obj.vehicles.back()->attach_back(*veh); obj.vehicles.push_back(veh);