diff --git a/Train.cpp b/Train.cpp index 184c1e4d..c02fc004 100644 --- a/Train.cpp +++ b/Train.cpp @@ -1043,10 +1043,11 @@ void TTrain::OnCommand_secondcontrollerset( TTrain *Train, command_data const &C void TTrain::OnCommand_independentbrakeincrease( TTrain *Train, command_data const &Command ) { - if( Command.action == GLFW_REPEAT ) { - - if( Train->mvOccupied->LocalBrake != TLocalBrake::ManualBrake ) { - Train->mvOccupied->IncLocalBrakeLevel( Global.brake_speed * Command.time_delta * LocalBrakePosNo ); + if( Command.action != GLFW_RELEASE ) { + if( Train->mvOccupied->LocalBrake != TLocalBrake::ManualBrake ) { + Train->mvOccupied->IncLocalBrakeLevel( + (Train->ggJointCtrl.SubModel == nullptr) ? + (Global.brake_speed * Command.time_delta * LocalBrakePosNo) : 1); } } } @@ -1063,13 +1064,15 @@ void TTrain::OnCommand_independentbrakeincreasefast( TTrain *Train, command_data void TTrain::OnCommand_independentbrakedecrease( TTrain *Train, command_data const &Command ) { - if( Command.action == GLFW_REPEAT ) { + if( Command.action != GLFW_RELEASE ) { if( ( Train->mvOccupied->LocalBrake != TLocalBrake::ManualBrake ) // Ra 1014-06: AI potrafi zahamować pomocniczym mimo jego braku - odhamować jakoś trzeba // TODO: sort AI out so it doesn't do things it doesn't have equipment for || ( Train->mvOccupied->LocalBrakePosA > 0 ) ) { - Train->mvOccupied->DecLocalBrakeLevel( Global.brake_speed * Command.time_delta * LocalBrakePosNo ); + Train->mvOccupied->DecLocalBrakeLevel( + (Train->ggJointCtrl.SubModel == nullptr) ? + (Global.brake_speed * Command.time_delta * LocalBrakePosNo) : 1); } } }