Community Forum
ANVEL Licensing Options

Disabling Automatic Shifting



  • Some users have expressed interest in disabling the default transmission behavior, which will shift gears based on vehicle speed. If you would like to shift manually (or programmatically) without worrying about ANVEL picking when to shift, you can follow the XML configurations below:

    The Motor property that enables this behavior is called DisableAutoShifts. The documentation for this property is here: https://wiki.anvelsim.com/3/index.php/ANVELProperties#ODEMotor

    If Upshift and Downshift inputs are defined for a vehicle (as they are with the Generic4x4 and most vheicles), you can set DisableAutoShifts=true on the Motor properties, and shift up and down with whatever inputs are mapped to up/downshift (defaulting to Y and H).

    Within the vehicle definition XML (this is modifying the Generic 4x4 example posted here: https://wiki.anvelsim.com/3/index.php/Creating_a_Generic4x4_Definition_File) :

    <motor idleRPM="750" name="Motor" redlineRPM="6200.0" shiftTime="0.25" DisableAutoShifts=”true” >
         <!-- Engine torque curve defined as a lookup table -->
         <torquecurve rpm="0" value="0"/>
         <torquecurve rpm="400" value="0"/>
         <torquecurve rpm="517" value="105"/>
         <torquecurve rpm="630" value="150"/>
         ....
    
    <motorController type="standard">
         <power input="Throttle"/>
         <steering input="Steering"/>
         <brake input="Brake"/>
         <eBrake input="HandBrake"/>
         <motor name="Motor"/>
         <transmission downShift="Downshift" upShift="Upshift">
              <mode input="Toggle1" name="TransferCaseRatio" value="0"/>
              <mode input="Toggle2" name="TransferCaseLock" value="1"/>
              <mode input="Toggle3" name="TransferCaseOutputMode" value="2"/>
              <mode input="Toggle4" name="FrontDiffLock" value="3"/>
              <mode input="Toggle5" name="RearDiffLock" value="4"/>
         </transmission>
    </motorController>
    
    

    In the Controller XML:

    <device name="none">
         <input name="Throttle" type="Axis" lowKey="K" highKey="I" keyboardInputDecay="true"></input>
         <input name="Steering" type="Axis" lowKey="J" highKey="L" ></input>
         <input name="Brake" type="Axis" lowKey="O" highKey="P" keyboardInputDecay="true"></input>
         <input name="HandBrake" type="Button" key="E"></input> 
         <input name="Upshift" type="Button" onPress="true" key="Y"></input>
         <input name="Downshift" type="Button" onPress="true" key="H"></input>
         <input name="CycleCamera" type="Button" onPress="true" key="M"></input>                  
         <input name="Toggle1" type="Button" onPress="true" key="1"></input>
         <input name="Toggle2" type="Button" onPress="true" key="2"></input>
         <input name="Toggle3" type="Button" onPress="true" key="3"></input>
         <input name="Toggle4" type="Button" onPress="true" key="4"></input>
         <input name="Toggle5" type="Button" onPress="true" key="5"></input>
         <input name="Toggle6" type="Button" onPress="true" key="6"></input>
         <input name="HeadlightToggle" type="Button" onPress="true" key="Z" />
         <input name="FoglightToggle" type="Button" onPress="true" key="X" />
    </device>