- if(v && !train.is_active())
- train.set_active(true);
-
- target_speed.set(v);
- if(!blocked)
- {
- float approach_speed = 5*train.get_layout().get_catalogue().get_scale();
- if(approach && target_speed.value>approach_speed)
- next_ctrl->set_control("speed", approach_speed);
- else
- next_ctrl->set_control("speed", target_speed.value);
- }
-
- signal_control_changed.emit(target_speed);
+ reverse = r;
+ train.set_control("reverse", reverse);
+ signal_event.emit(Message("reverse-changed", reverse));