C# (CSharp) SimShift.Services Namespace

Classes

Name Description
ACC
Antistall This module is the "Auto-Clutch" feature and engages the clutch when the engine is about to stall. It also ensures smooth get-away when the user engages throttle when the vehicle has stopped.
CameraHorizon This is an budget TrackIR feature for TDU2, designed to look side-ways when a look-around stick is moved. The look side-ways auto centers. Control of camera angle is done with ProcessMemoryWrite access.
ControlChain
CruiseControl This module simulates a CruiseControl. Although some games (like ETS2) incorporate Cruise Control, previously there were no features like resume CC, speed up or slow down CC And above all: the CC in-game disengages when shifting gear.
Dashboard
DrivetrainCalibrator This module calibrates the "Drivetrain" object so most driving helps can be used. The calibration data acquired is: - Idle RPM - Maximum RPM - Gear Ratio's (forward gears only)
EarlyClutch This module is a gimmick where the clutch is engaged when dropping below 35km/h when the vehicle was driving faster than that (55km/h+)
Ets2PowerMeter Estimates power level of engine by revving up
LaneAssistance Experimental module using computer vision to steer vehicle within motorway lanes. This module is NOT functional at all. The module was aimed at ETS2 to maintain focus on the vehicle's mirrors, and adjusting the heading error and lateral error of the white road side lines to desired values. Some struggles: - Computer vision can be hard for various road conditions (dark, fog, rain) - Some ETS2 mods mess up mirror positions and scale. - FOV - Measuring heading and lateral error was inaccurate, partly due to computer vision troubles. - Control of lateral/heading error was instable. This module needs a lot more work to (ever) work properly.
LaunchControl Launch Control was developed for TDU2 in order to take off with least amount of wheelspin from the line. The module needs a user procedure to activate (engage gear, press brake, activate LC, press throttle, release brake).
Main
ProfileSwitcher This module monitors user inputs to switch driving profiles. Driving profiles contain a set of settings for all different driving modules, e.g. transmission, speedlimiter, traction control, etc.
Speedlimiter Limits maximum speed of vehicle to avoid reckless driving, or create realism for some vehicles (eg 255km/h limit on german saloon cars). Maximum speed can be adjusted and must be set some km/h lower than the desired speed. Aggresiveness is determined by slope.
ThrottleMapping This module can make the throttle less sensitive. This is adventagous when driving some vehicles, like trucks.
TractionControl Traction Control limits the wheel slip via open-loop control by reducing throttle when a slip % exceeds predetermined offset. The aggressiveness is adjusted by slope. Optionally a rattling sound can be played to alert the driver TC is overriding control.
Transmission Automatic shifter for vehicles. Support 1 reverse and up to 24 reverse gears using 6-speed 4-range gearbox. Uses pre-calculated 2-dimensional shifter table that maps speed and throttle position to gear.
TransmissionCalibrator This module calibrates transmission whenever it can.
VariableSpeedTransmission
WheelTorqueLimiter This module is a gimmick to simulate a torque limiter for the drive wheels. It practically limits the throttle in lower gears, because it may exceed torque limit of the drivetrain. /