diff --git a/Console.cpp b/Console.cpp index 19b874fc..1660920c 100644 --- a/Console.cpp +++ b/Console.cpp @@ -288,6 +288,9 @@ void Console::ValueSet(int x, double y) if (iMode == 4) if (PoKeys55[0]) { + if (Global::fCalibrateOutMax[x] > 0) + x = x / Global::fCalibrateOutMax[x]; // sprowadzenie do <0,1> jeśli podana maksymalna wartość + PoKeys55[0]->PWM( x, (((((Global::fCalibrateOut[x][5] * y) + Global::fCalibrateOut[x][4]) * y + Global::fCalibrateOut[x][3]) * y + Global::fCalibrateOut[x][2]) * y + diff --git a/Globals.cpp b/Globals.cpp index 6f7e2c41..0e324b11 100644 --- a/Globals.cpp +++ b/Globals.cpp @@ -174,7 +174,7 @@ double Global::fCalibrateOut[7][6] = {{0, 1, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 0}}; - +double Global::fCalibrateOutMax[7] = {0, 0, 0, 0, 0, 0, 0}; // parametry przejściowe (do usunięcia) // bool Global::bTimeChange=false; //Ra: ZiomalCl wyłączył starą wersję nocy // bool Global::bRenderAlpha=true; //Ra: wywaliłam tę flagę @@ -485,6 +485,16 @@ void Global::ConfigParse(TQueryParserComp *qp, cParser *cp) fCalibrateOut[i][4] = GetNextSymbol().ToDouble(); // mnożnik dla 4 potęgi fCalibrateOut[i][5] = GetNextSymbol().ToDouble(); // mnożnik dla 5 potęgi } + else if (str == AnsiString("calibrateoutmaxvalues")) + { // maksymalne wartości jakie można wyświetlić na mierniku + fCalibrateOutMax[0] = GetNextSymbol().ToDouble(); + fCalibrateOutMax[1] = GetNextSymbol().ToDouble(); + fCalibrateOutMax[2] = GetNextSymbol().ToDouble(); + fCalibrateOutMax[3] = GetNextSymbol().ToDouble(); + fCalibrateOutMax[4] = GetNextSymbol().ToDouble(); + fCalibrateOutMax[5] = GetNextSymbol().ToDouble(); + fCalibrateOutMax[6] = GetNextSymbol().ToDouble(); + } else if (str == AnsiString("brakestep")) // krok zmiany hamulca dla klawiszy [Num3] i [Num9] fBrakeStep = GetNextSymbol().ToDouble(); else if (str == diff --git a/Globals.h b/Globals.h index 58b936aa..37402e2a 100644 --- a/Globals.h +++ b/Globals.h @@ -298,6 +298,7 @@ class Global static TDynamicObject *pUserDynamic; // pojazd użytkownika, renderowany bez trzęsienia static double fCalibrateIn[6][6]; // parametry kalibracyjne wejść z pulpitu static double fCalibrateOut[7][6]; // parametry kalibracyjne wyjść dla pulpitu + static double fCalibrateOutMax[7]; // wartości maksymalne wyjść dla pulpitu static double fBrakeStep; // krok zmiany hamulca dla klawiszy [Num3] i [Num9] static bool bJoinEvents; // czy grupować eventy o tych samych nazwach static bool bSmudge; // czy wyświetlać smugę, a pojazd użytkownika na końcu