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

Fix lightsset command so bot wont affect it

This commit is contained in:
2025-09-19 01:58:40 +02:00
parent da8e0c8dd0
commit b969a55533
2 changed files with 11 additions and 10 deletions

View File

@@ -1237,7 +1237,7 @@ class TMoverParameters
int LightsPosNo = 0; int LightsPosNo = 0;
int LightsDefPos = 1; int LightsDefPos = 1;
bool LightsWrap = false; bool LightsWrap = false;
int Lights[2][17]; // pozycje świateł, przód - tył, 1 .. 16 int Lights[2][18]; // pozycje świateł, przód - tył, 1 .. 16 (17 do lightsset)
int ScndInMain{0}; /*zaleznosc bocznika od nastawnika*/ int ScndInMain{0}; /*zaleznosc bocznika od nastawnika*/
bool MBrake = false; /*Czy jest hamulec reczny*/ bool MBrake = false; /*Czy jest hamulec reczny*/
double maxTachoSpeed = {0.0}; // maksymalna predkosc na tarczce predkosciomierza analogowego double maxTachoSpeed = {0.0}; // maksymalna predkosc na tarczce predkosciomierza analogowego

View File

@@ -4354,7 +4354,7 @@ void TTrain::OnCommand_lightspresetactivatenext( TTrain *Train, command_data con
if( ( Train->mvOccupied->LightsPos < Train->mvOccupied->LightsPosNo ) if( ( Train->mvOccupied->LightsPos < Train->mvOccupied->LightsPosNo )
|| ( true == Train->mvOccupied->LightsWrap ) ) { || ( true == Train->mvOccupied->LightsWrap ) ) {
// active light preset is stored as value in range 1-LigthPosNo // active light preset is stored as value in range 1-LigthPosNo
auto const restartcycle { Train->mvOccupied->LightsPos == Train->mvOccupied->LightsPosNo }; auto const restartcycle { Train->mvOccupied->LightsPos >= Train->mvOccupied->LightsPosNo };
Train->mvOccupied->LightsPos = ( Train->mvOccupied->LightsPos = (
false == restartcycle ? false == restartcycle ?
Train->mvOccupied->LightsPos + 1 : Train->mvOccupied->LightsPos + 1 :
@@ -4388,7 +4388,7 @@ void TTrain::OnCommand_lightspresetactivateprevious( TTrain *Train, command_data
if( ( Train->mvOccupied->LightsPos > 1 ) if( ( Train->mvOccupied->LightsPos > 1 )
|| ( true == Train->mvOccupied->LightsWrap ) ) { || ( true == Train->mvOccupied->LightsWrap ) ) {
// active light preset is stored as value in range 1-LigthPosNo // active light preset is stored as value in range 1-LigthPosNo
auto const restartcycle { Train->mvOccupied->LightsPos == 1 }; auto const restartcycle { Train->mvOccupied->LightsPos <= 1 };
Train->mvOccupied->LightsPos = ( Train->mvOccupied->LightsPos = (
false == restartcycle ? false == restartcycle ?
Train->mvOccupied->LightsPos - 1 : Train->mvOccupied->LightsPos - 1 :
@@ -4429,6 +4429,12 @@ void TTrain::OnCommand_lightsset(TTrain *Train, command_data const &Command)
{ {
Train->mvOccupied->iLights[end::front] = Command.param1; Train->mvOccupied->iLights[end::front] = Command.param1;
Train->mvOccupied->iLights[end::rear] = Command.param2; Train->mvOccupied->iLights[end::rear] = Command.param2;
// set custom item in Lights inventory
Train->mvOccupied->Lights[end::front][17] = Command.param1;
Train->mvOccupied->Lights[end::rear][17] = Command.param2;
Train->mvOccupied->LightsPos = 18; // nasza custom pozycja
} }
void TTrain::OnCommand_headlightenableleft( TTrain *Train, command_data const &Command ) { void TTrain::OnCommand_headlightenableleft( TTrain *Train, command_data const &Command ) {
@@ -5191,9 +5197,7 @@ void TTrain::OnCommand_headlightsdimenable( TTrain *Train, command_data const &C
Train->DynamicObject->DimHeadlights = true; Train->DynamicObject->DimHeadlights = true;
*/ */
Train->DynamicObject->MoverParameters->modernDimmerPosition = 1; // ustawiamy modern dimmer na flage przyciemnienia Train->DynamicObject->MoverParameters->modernDimmerPosition = 1; // ustawiamy modern dimmer na flage przyciemnienia
Train->DynamicObject->RaLightsSet(Train->DynamicObject->MoverParameters->iLights[0], Train->DynamicObject->SetLightDimmings();
Train->DynamicObject->MoverParameters->iLights[1]
); // aktualizacja swiatelek
} }
} }
@@ -5217,10 +5221,7 @@ void TTrain::OnCommand_headlightsdimdisable( TTrain *Train, command_data const &
*/ */
Train->DynamicObject->MoverParameters->modernDimmerPosition = 0; // ustawiamy modern dimmer na flage rozjasnienia Train->DynamicObject->MoverParameters->modernDimmerPosition = 0; // ustawiamy modern dimmer na flage rozjasnienia
Train->DynamicObject->RaLightsSet( Train->DynamicObject->SetLightDimmings();
Train->DynamicObject->MoverParameters->iLights[0],
Train->DynamicObject->MoverParameters->iLights[1]
); // aktualizacja swiatelek
} }
} }