// Setup railroad control
DataFile::load(catalogue, "tracks.dat");
DataFile::load(catalogue, "locos.dat");
+ DataFile::load(catalogue, "wagons.dat");
DataFile::load(layout, options.layout_fn);
layout.signal_train_added.connect(sigc::mem_fun(this, &Engineer::train_added));
layout.signal_block_reserved.connect(sigc::mem_fun(this, &Engineer::block_reserved));
+ layout.signal_emergency.connect(sigc::mem_fun(this, &Engineer::set_status));
layout.get_driver().signal_sensor.connect(sigc::mem_fun(this, &Engineer::sensor_event));
if(FS::exists("engineer.state"))
DataFile::load(layout, "engineer.state");
{
const map<unsigned, Train *> &trains = layout.get_trains();
for(map<unsigned, Train *>::const_iterator i=trains.begin(); i!=trains.end(); ++i)
- i->second->set_speed(0);
+ layout.get_driver().set_loco_speed(i->first, 0);
layout.get_driver().flush();
if(!options.simulate)
camera.set_position(pos);
camera.set_up_direction(up);
camera.set_look_direction(GL::Vector3(0, 0, -1));
+ camera.set_aspect(float(window.get_width())/window.get_height());
camera.set_depth_clip(pos.z*0.5, pos.z*1.5);
}
IO::print(IO::cerr, "Fatal signal received, terminating\n");
const map<unsigned, Train *> &trains = layout.get_trains();
for(map<unsigned, Train *>::const_iterator i=trains.begin(); i!=trains.end(); ++i)
- i->second->set_speed(0);
+ layout.get_driver().set_loco_speed(i->first, 0);
layout.get_driver().flush();
raise(sig);
}