X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fengineer%2Fengineer.cpp;h=19e515c2d2074a291b0ec0cf731e30f5a7eb676b;hb=4d91e3e8374cd7ad927ce0d77a60498903b6e02a;hp=d0c879c02067ebb260d841528c05cd26eafb5649;hpb=9afe42fc94eed6754da8401082e76121f8c66783;p=r2c2.git diff --git a/source/engineer/engineer.cpp b/source/engineer/engineer.cpp index d0c879c..19e515c 100644 --- a/source/engineer/engineer.cpp +++ b/source/engineer/engineer.cpp @@ -71,6 +71,7 @@ Engineer::Engineer(int argc, char **argv): DataFile::load(catalogue, "tracks.dat"); DataFile::load(catalogue, "locos.dat"); DataFile::load(catalogue, "wagons.dat"); + DataFile::load(catalogue, "terrain.dat"); DataFile::load(layout, options.layout_fn); if(layout.has_driver()) @@ -120,17 +121,15 @@ Engineer::Engineer(int argc, char **argv): Engineer::~Engineer() { - const map &trains = layout.get_trains(); - for(map::const_iterator i=trains.begin(); i!=trains.end(); ++i) - layout.get_driver().set_loco_speed(i->first, 0); - layout.get_driver().flush(); - if(!options.simulate) { layout.save_dynamic(options.state_fn+".tmp"); FS::rename(options.state_fn+".tmp", options.state_fn); } + layout.get_driver().halt(true); + layout.get_driver().flush(); + delete overlay; delete root_arrangement; delete root;