void Train::set_speed(unsigned speed)
{
+ if(speed==target_speed)
+ return;
if(!target_speed && speed)
travel_speed = static_cast<int>(round(speed*speed_scale*87*3.6/5))*5;
else
reserve_more();
+ signal_target_speed_changed.emit(target_speed);
+
update_speed();
pure_speed = false;
}