16
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-07-22 17:29:18 +02:00

Fixed BrakeHandle type MHZ_EN57 and brake operation mode selector

This commit is contained in:
Królik Uszasty
2018-04-17 22:42:26 +02:00
committed by tmj-fstate
parent bb87a63eed
commit fc1f57a5d4
6 changed files with 47 additions and 1 deletions

View File

@@ -3025,7 +3025,7 @@ bool TDynamicObject::Update(double dt, double dt1)
} }
auto FzadED { 0.0 }; auto FzadED { 0.0 };
if( ( MoverParameters->EpFuse ) if( ( MoverParameters->EpFuse && (MoverParameters->BrakeHandle != MHZ_EN57))
|| ( ( MoverParameters->BrakeHandle == MHZ_EN57 ) || ( ( MoverParameters->BrakeHandle == MHZ_EN57 )
&& ( MoverParameters->BrakeOpModeFlag & bom_MED ) ) ) { && ( MoverParameters->BrakeOpModeFlag & bom_MED ) ) ) {
FzadED = std::min( Fzad, FmaxED ); FzadED = std::min( Fzad, FmaxED );

View File

@@ -193,6 +193,8 @@ TTrain::commandhandler_map const TTrain::m_commandhandlers = {
{ user_command::wheelspinbrakeactivate, &TTrain::OnCommand_wheelspinbrakeactivate }, { user_command::wheelspinbrakeactivate, &TTrain::OnCommand_wheelspinbrakeactivate },
{ user_command::sandboxactivate, &TTrain::OnCommand_sandboxactivate }, { user_command::sandboxactivate, &TTrain::OnCommand_sandboxactivate },
{ user_command::epbrakecontroltoggle, &TTrain::OnCommand_epbrakecontroltoggle }, { user_command::epbrakecontroltoggle, &TTrain::OnCommand_epbrakecontroltoggle },
{ user_command::brakeoperationmodeincrease, &TTrain::OnCommand_brakeoperationmodeincrease },
{ user_command::brakeoperationmodedecrease, &TTrain::OnCommand_brakeoperationmodedecrease },
{ user_command::brakeactingspeedincrease, &TTrain::OnCommand_brakeactingspeedincrease }, { user_command::brakeactingspeedincrease, &TTrain::OnCommand_brakeactingspeedincrease },
{ user_command::brakeactingspeeddecrease, &TTrain::OnCommand_brakeactingspeeddecrease }, { user_command::brakeactingspeeddecrease, &TTrain::OnCommand_brakeactingspeeddecrease },
{ user_command::brakeactingspeedsetcargo, &TTrain::OnCommand_brakeactingspeedsetcargo }, { user_command::brakeactingspeedsetcargo, &TTrain::OnCommand_brakeactingspeedsetcargo },
@@ -1264,6 +1266,40 @@ void TTrain::OnCommand_epbrakecontroltoggle( TTrain *Train, command_data const &
} }
} }
void TTrain::OnCommand_brakeoperationmodeincrease(TTrain *Train, command_data const &Command) {
if (Command.action == GLFW_PRESS) {
// only reacting to press, so the switch doesn't flip back and forth if key is held down
if (0 < (Train->mvOccupied->BrakeOpModeFlag * 2) & Train->mvOccupied->BrakeOpModes) {
// next mode
Train->mvOccupied->BrakeOpModeFlag *= 2;
// audio feedback
Train->dsbPneumaticSwitch.play();
// visual feedback
// NOTE: there's no button for brake operation mode switch
// TBD, TODO: add brake operation mode switch?
}
}
}
void TTrain::OnCommand_brakeoperationmodedecrease(TTrain *Train, command_data const &Command) {
if (Command.action == GLFW_PRESS) {
// only reacting to press, so the switch doesn't flip back and forth if key is held down
if (0 < (Train->mvOccupied->BrakeOpModeFlag / 2) & Train->mvOccupied->BrakeOpModes) {
// previous mode
Train->mvOccupied->BrakeOpModeFlag /= 2;
// audio feedback
Train->dsbPneumaticSwitch.play();
// visual feedback
// NOTE: there's no button for brake operation mode switch
// TBD, TODO: add brake operation mode switch?
}
}
}
void TTrain::OnCommand_brakeactingspeedincrease( TTrain *Train, command_data const &Command ) { void TTrain::OnCommand_brakeactingspeedincrease( TTrain *Train, command_data const &Command ) {
if( Command.action == GLFW_PRESS ) { if( Command.action == GLFW_PRESS ) {

View File

@@ -184,6 +184,8 @@ class TTrain
static void OnCommand_wheelspinbrakeactivate( TTrain *Train, command_data const &Command ); static void OnCommand_wheelspinbrakeactivate( TTrain *Train, command_data const &Command );
static void OnCommand_sandboxactivate( TTrain *Train, command_data const &Command ); static void OnCommand_sandboxactivate( TTrain *Train, command_data const &Command );
static void OnCommand_epbrakecontroltoggle( TTrain *Train, command_data const &Command ); static void OnCommand_epbrakecontroltoggle( TTrain *Train, command_data const &Command );
static void OnCommand_brakeoperationmodeincrease(TTrain *Train, command_data const &Command);
static void OnCommand_brakeoperationmodedecrease(TTrain *Train, command_data const &Command);
static void OnCommand_brakeactingspeedincrease( TTrain *Train, command_data const &Command ); static void OnCommand_brakeactingspeedincrease( TTrain *Train, command_data const &Command );
static void OnCommand_brakeactingspeeddecrease( TTrain *Train, command_data const &Command ); static void OnCommand_brakeactingspeeddecrease( TTrain *Train, command_data const &Command );
static void OnCommand_brakeactingspeedsetcargo( TTrain *Train, command_data const &Command ); static void OnCommand_brakeactingspeedsetcargo( TTrain *Train, command_data const &Command );

View File

@@ -102,6 +102,8 @@ commanddescription_sequence Commands_descriptions = {
{ "motoroverloadrelayreset", command_target::vehicle }, { "motoroverloadrelayreset", command_target::vehicle },
{ "notchingrelaytoggle", command_target::vehicle }, { "notchingrelaytoggle", command_target::vehicle },
{ "epbrakecontroltoggle", command_target::vehicle }, { "epbrakecontroltoggle", command_target::vehicle },
{ "brakeoperationmodeincrease", command_target::vehicle },
{ "brakeoperationmodedecrease", command_target::vehicle },
{ "brakeactingspeedincrease", command_target::vehicle }, { "brakeactingspeedincrease", command_target::vehicle },
{ "brakeactingspeeddecrease", command_target::vehicle }, { "brakeactingspeeddecrease", command_target::vehicle },
{ "brakeactingspeedsetcargo", command_target::vehicle }, { "brakeactingspeedsetcargo", command_target::vehicle },

View File

@@ -96,6 +96,8 @@ enum class user_command {
motoroverloadrelayreset, motoroverloadrelayreset,
notchingrelaytoggle, notchingrelaytoggle,
epbrakecontroltoggle, epbrakecontroltoggle,
brakeoperationmodeincrease,
brakeoperationmodedecrease,
brakeactingspeedincrease, brakeactingspeedincrease,
brakeactingspeeddecrease, brakeactingspeeddecrease,
brakeactingspeedsetcargo, brakeactingspeedsetcargo,

View File

@@ -333,6 +333,10 @@ keyboard_input::default_bindings() {
{ GLFW_KEY_G }, { GLFW_KEY_G },
// epbrakecontroltoggle // epbrakecontroltoggle
{ GLFW_KEY_Z | keymodifier::control }, { GLFW_KEY_Z | keymodifier::control },
// brakeoperationmodeincrease
{ GLFW_KEY_L | keymodifier::shift },
// brakeoperationmodedecrease
{ GLFW_KEY_L},
// brakeactingspeedincrease // brakeactingspeedincrease
{ GLFW_KEY_B | keymodifier::shift }, { GLFW_KEY_B | keymodifier::shift },
// brakeactingspeeddecrease // brakeactingspeeddecrease