From 9d1de325216b89a6682a639fe235d781b6963d69 Mon Sep 17 00:00:00 2001 From: Hugues Hiegel Date: Fri, 15 Nov 2013 12:24:10 +0100 Subject: CLEANUP. --- scripts/gear.lua | 350 +++++++++++++++++++++++++++---------------------------- 1 file changed, 175 insertions(+), 175 deletions(-) (limited to 'scripts/gear.lua') diff --git a/scripts/gear.lua b/scripts/gear.lua index 54649d6..bcf0361 100644 --- a/scripts/gear.lua +++ b/scripts/gear.lua @@ -1,176 +1,176 @@ --- SLIMax Mgr Lua Script v3.2.1 --- Copyright (c)2012-2013 by Zappadoc - All Rights Reserved. --- gear event --- last change by Zappadoc - 2013-09 - -function Ignition(gear, isFanatec) - -- ======================================================================================== - -- IGNITION - -- patch led function damage for ignition - -- check if sim is rFactor2 - if GetContextInfo("simulation") == "rFactor2.exe" then - if GetCarInfo("rpm") == 0 and GetCarInfo("rawspeed") == 0 then - if GetCarInfo("ignition") == 0 then - -- engine has been stopped - -- engine has been stopped - -- do nothing - - - elseif GetCarInfo("ignition") == 1 then - -- ignition ON after engine stop - -- engine has been stopped, ignition ON - - SetDigitsAllowed(false) - if isFanatec == true then - SetFanatecDigits(" ") - else - SetLeftDigits (" ") - SetRightDigits (" ") - end - - SetGearDigit("_") - - -- init led - toggleAllLed(0) - - -- blink damage led - if mOLDIgnitionticks == nil or GetTicks() > mOLDIgnitionticks then - mOLDIgnitionticks = GetTicks() + 1000 - initLedTable(mRPMLedTable, 1) - - SetWarnLed(GetLedIndex("damage"), 1) - - else - initLedTable(mRPMLedTable, 0) - SetWarnLed(GetLedIndex("damage"), 0) - end - SetRPMLed("mRPMLedTable") - SLISendReport() - return 1 - - elseif GetCarInfo("ignition") == 2 and GetCarInfo("rpm") == 0 and GetCarInfo("rawspeed") == 0 then - -- ignition ON and starter ON - -- engine has been stopped, ignition ON + Starter ON - - SetGearDigit("-") - SetDigitsAllowed(true) - -- stop blinking - initLedTable(mRPMLedTable, 1) - SetWarnLed(GetLedIndex("damage"), 1) - SetRPMLed("mRPMLedTable") - SLISendReport() - return 1 - end - end - end - return 2 -end - --- SIM RACE Deluxe, SIM RACE F1, SLI-M, SLI-PRO Gear Event -function gearEvent(gear) - -- get the rpm limit already computed by my OSP method - -- using OSP Factor parameter - -- value used in OSP, Shiftlights, car setup,... and can be overwritten - gOSPLimit = 0 - gOSPLimit = GetContextInfo("osplimitrpm") - if gOSPLimit == nil then gOSPLimit = 0 end - - -- get the red zone already computed by my SLIMax Mgr II - -- value used in Shiftlights and can be overwritten - gRedZone = 0 - gRedZone = GetCarInfo("redzone") - if gRedZone == nil then gRedZone = 18000 end - - -- call custom script - local result = custom_gearEvent(gear) - if result <= 1 then return result end - - -- call global custom script - result = global_custom_gearEvent(gear) - if result <= 1 then return result end - - -- ignition - if Ignition(gear, false) <= 1 then return 1 end - - local g = gear - if oldGear == nil then oldGear = -1 end - - -- get neutral - local n = GetContextInfo("neutral") - -- get reverse char and convert to string - local r = string.char(GetContextInfo("reverse")) - -- get state of custom Optimal Shift Point (OSP) records - local ospcustom_on = GetContextInfo("ospcustom") - - -- optimize display, call if changed - if oldGear ~= g then - -- backup gear state - oldGear = g - -- set neutral, reverse or current gear - if g == 0 then - -- if neutral and using custom OSP record then add a dot to gear digit - if ospcustom_on then n = n + 128 end - SetGearDigit(string.char(n)) - elseif g < 0 then - SetGearDigit(r) - else - -- if gear = 'E' give the hand to SLIMax Manager - if g == 69 then - return 0 - end - SetGearDigit(string.char(g)) - end - end - - return 1 -end - - --- Fanatec Gear Event -function gearFanatecEvent(gear) - -- get the rpm limit already computed by my OSP method - -- using OSP Factor parameter - -- value used in OSP, Shiftlights, car setup,... and can be overwritten - gOSPLimit = 0 - gOSPLimit = GetContextInfo("osplimitrpm") - if gOSPLimit == nil then gOSPLimit = 0 end - - -- get the red zone already computed by my SLIMax Mgr - -- value used in Shiftlights and can be overwritten - gRedZone = 0 - gRedZone = GetCarInfo("redzone") - if gRedZone == nil then gRedZone = 18000 end - - -- call custom script - local result = custom_gearFanatecEvent(gear) - if result <= 1 then return result end - - -- call global custom script - result = global_custom_gearFanatecEvent(gear) - if result <= 1 then return result end - - -- ignition - if Ignition(gear, true) <= 1 then return 1 end - - local g = gear - if oldGear == nil then oldGear = -1 end - - if oldGear ~= g then - local rumbbleGear = GetContextInfo("gearshock") - local rumbbleGearDelay = GetContextInfo("gearshockdelay") - - -- gear schock effect restricted to 1 to 7 - if rumbbleGear and g > 0 then - if g < oldGear then - SetFanatecWheelMotor(0, 100, rumbbleGearDelay) - elseif g > oldGear then - SetFanatecWheelMotor(1, 100, rumbbleGearDelay) - end - end - - -- backup gear state - oldGear = g - end - - return 2 +-- SLIMax Mgr Lua Script v3.2.1 +-- Copyright (c)2012-2013 by Zappadoc - All Rights Reserved. +-- gear event +-- last change by Zappadoc - 2013-09 + +function Ignition(gear, isFanatec) + -- ======================================================================================== + -- IGNITION + -- patch led function damage for ignition + -- check if sim is rFactor2 + if GetContextInfo("simulation") == "rFactor2.exe" then + if GetCarInfo("rpm") == 0 and GetCarInfo("rawspeed") == 0 then + if GetCarInfo("ignition") == 0 then + -- engine has been stopped + -- engine has been stopped + -- do nothing + + + elseif GetCarInfo("ignition") == 1 then + -- ignition ON after engine stop + -- engine has been stopped, ignition ON + + SetDigitsAllowed(false) + if isFanatec == true then + SetFanatecDigits(" ") + else + SetLeftDigits (" ") + SetRightDigits (" ") + end + + SetGearDigit("_") + + -- init led + toggleAllLed(0) + + -- blink damage led + if mOLDIgnitionticks == nil or GetTicks() > mOLDIgnitionticks then + mOLDIgnitionticks = GetTicks() + 1000 + initLedTable(mRPMLedTable, 1) + + SetWarnLed(GetLedIndex("damage"), 1) + + else + initLedTable(mRPMLedTable, 0) + SetWarnLed(GetLedIndex("damage"), 0) + end + SetRPMLed("mRPMLedTable") + SLISendReport() + return 1 + + elseif GetCarInfo("ignition") == 2 and GetCarInfo("rpm") == 0 and GetCarInfo("rawspeed") == 0 then + -- ignition ON and starter ON + -- engine has been stopped, ignition ON + Starter ON + + SetGearDigit("-") + SetDigitsAllowed(true) + -- stop blinking + initLedTable(mRPMLedTable, 1) + SetWarnLed(GetLedIndex("damage"), 1) + SetRPMLed("mRPMLedTable") + SLISendReport() + return 1 + end + end + end + return 2 +end + +-- SIM RACE Deluxe, SIM RACE F1, SLI-M, SLI-PRO Gear Event +function gearEvent(gear) + -- get the rpm limit already computed by my OSP method + -- using OSP Factor parameter + -- value used in OSP, Shiftlights, car setup,... and can be overwritten + gOSPLimit = 0 + gOSPLimit = GetContextInfo("osplimitrpm") + if gOSPLimit == nil then gOSPLimit = 0 end + + -- get the red zone already computed by my SLIMax Mgr II + -- value used in Shiftlights and can be overwritten + gRedZone = 0 + gRedZone = GetCarInfo("redzone") + if gRedZone == nil then gRedZone = 18000 end + + -- call custom script + local result = custom_gearEvent(gear) + if result <= 1 then return result end + + -- call global custom script + result = global_custom_gearEvent(gear) + if result <= 1 then return result end + + -- ignition + if Ignition(gear, false) <= 1 then return 1 end + + local g = gear + if oldGear == nil then oldGear = -1 end + + -- get neutral + local n = GetContextInfo("neutral") + -- get reverse char and convert to string + local r = string.char(GetContextInfo("reverse")) + -- get state of custom Optimal Shift Point (OSP) records + local ospcustom_on = GetContextInfo("ospcustom") + + -- optimize display, call if changed + if oldGear ~= g then + -- backup gear state + oldGear = g + -- set neutral, reverse or current gear + if g == 0 then + -- if neutral and using custom OSP record then add a dot to gear digit + if ospcustom_on then n = n + 128 end + SetGearDigit(string.char(n)) + elseif g < 0 then + SetGearDigit(r) + else + -- if gear = 'E' give the hand to SLIMax Manager + if g == 69 then + return 0 + end + SetGearDigit(string.char(g)) + end + end + + return 1 +end + + +-- Fanatec Gear Event +function gearFanatecEvent(gear) + -- get the rpm limit already computed by my OSP method + -- using OSP Factor parameter + -- value used in OSP, Shiftlights, car setup,... and can be overwritten + gOSPLimit = 0 + gOSPLimit = GetContextInfo("osplimitrpm") + if gOSPLimit == nil then gOSPLimit = 0 end + + -- get the red zone already computed by my SLIMax Mgr + -- value used in Shiftlights and can be overwritten + gRedZone = 0 + gRedZone = GetCarInfo("redzone") + if gRedZone == nil then gRedZone = 18000 end + + -- call custom script + local result = custom_gearFanatecEvent(gear) + if result <= 1 then return result end + + -- call global custom script + result = global_custom_gearFanatecEvent(gear) + if result <= 1 then return result end + + -- ignition + if Ignition(gear, true) <= 1 then return 1 end + + local g = gear + if oldGear == nil then oldGear = -1 end + + if oldGear ~= g then + local rumbbleGear = GetContextInfo("gearshock") + local rumbbleGearDelay = GetContextInfo("gearshockdelay") + + -- gear schock effect restricted to 1 to 7 + if rumbbleGear and g > 0 then + if g < oldGear then + SetFanatecWheelMotor(0, 100, rumbbleGearDelay) + elseif g > oldGear then + SetFanatecWheelMotor(1, 100, rumbbleGearDelay) + end + end + + -- backup gear state + oldGear = g + end + + return 2 end \ No newline at end of file -- cgit v1.2.3