<?xml version="1.0" encoding="utf-8" standalone="no"?>
<vehicle type="tractor">
    <annotation>Copyright (C) GIANTS Software, All Rights Reserved</annotation>
    <storeData>
        <name>Volvo FH12</name>
        <specs>
            <power>420</power>
        </specs>
        <functions>
            <function>$l10n_function_tractor</function>
        </functions>
        <image>store.dds</image>
        <price>235000</price>
        <lifetime>600</lifetime>
        <rotation>0</rotation>
        <brand>Volvo</brand>
        <category>trucks</category>
    </storeData>
    <base>
        <filename>volvo_FH.i3d</filename>
        <size width="5" length="10"/>
        <components>
            <component centerOfMass="0 0.65 0" solverIterationCount="10" mass="9061"/>
        </components>
        <schemaOverlay attacherJointPosition="0.5 0">
            <default name="DEFAULT_VEHICLE"/>
            <selected name="DEFAULT_VEHICLE_SELECTED"/>
        </schemaOverlay>
    </base>
    <wheels>
        <wheelConfigurations>
            <wheelConfiguration name="$l10n_configuration_valueDefault" price="0">
                <wheels autoRotateBackSpeed="1.0">
                    <wheel hasTireTracks="true" hasParticles="true">
                        <physics rotSpeed="1" repr="0>0" restLoad="2.4" forcePointRatio="0.5" initialCompression="35" radius="0.56" width="0.42" mass="2.26" suspTravel="0.23" deltaY="0.1" spring="75" damper="40" tireType="street" tireTrackAtlasIndex="4"/>
                    </wheel>
                    <wheel hasTireTracks="true" hasParticles="true">
                        <physics rotSpeed="1" repr="0>1" restLoad="2.4" forcePointRatio="0.5" initialCompression="35" radius="0.56" width="0.42" mass="2.26" suspTravel="0.23" deltaY="0.1" spring="75" damper="40" tireType="street" tireTrackAtlasIndex="4"/>
                    </wheel>
                    <wheel hasTireTracks="true" hasParticles="true">
                        <physics rotSpeed="0" repr="0>2" restLoad="1.6" forcePointRatio="0.5" initialCompression="15" radius="0.56" width="0.84" mass="2.52" suspTravel="0.23" deltaY="0.1" spring="65" damper="40" tireType="street" tireTrackAtlasIndex="4"/>
                    </wheel>
                    <wheel hasTireTracks="true" hasParticles="true">
                        <physics rotSpeed="0" repr="0>3" restLoad="1.6" forcePointRatio="0.5" initialCompression="15" radius="0.56" width="0.84" mass="2.52" suspTravel="0.23" deltaY="0.1" spring="65" damper="40" tireType="street" tireTrackAtlasIndex="4"/>
                    </wheel>
                </wheels>
            </wheelConfiguration>
        </wheelConfigurations>
        <ackermannSteeringConfigurations>
            <ackermannSteering rotSpeed="60" rotMax="42" rotCenterWheel1="3" rotCenterWheel2="4"/>
        </ackermannSteeringConfigurations>
    </wheels>
    <foliageBending>
          <bendingNode minX="-1.7" maxX="1.7" minZ="-3" maxZ="3" yOffset="0.4"/>
      </foliageBending>
    <attachable>
        <airConsumer usage="3050"/>
    </attachable>
    <attacherJoints>
        <attacherJoint node="0>4|3|1" jointType="trailerLow" lowerRotLimit="90 90 90" allowsJointLimitMovement="false">
            <schema position="1 0" rotation="0" invertX="false"/>
        </attacherJoint>
        <attacherJoint node="0>4|3|1" jointType="trailer" lowerRotLimit="90 90 90" allowsJointLimitMovement="false">
            <schema position="1 0" rotation="0" invertX="false"/>
        </attacherJoint>
        <attacherJoint node="0>4|3|0" jointType="semitrailer" lowerRotLimit="12 175 12" allowsJointLimitMovement="false" allowsLowering="false" enableCollision="true">
            <schema position="1 0" rotation="0" invertX="false"/>
        </attacherJoint>
        <attachSound template="TRUCK_ATTACH_01" linkNode="0>"/>
        <hydraulic template="DEFAULT_HYDRAULIC_SOUND" linkNode="0>"/>
    </attacherJoints>
    <lights>
      <states>
          <state lightTypes="0"/>
          <state lightTypes="0 1"/>
          <state lightTypes="0 1 2"/>
      </states>
      <realLights>
          <low>
              <light node="frontLightLow"       lightTypes="0" />
              <light node="workLightFrontLow"   lightTypes="1"/>
              <light node="workLightFrontLow1"   lightTypes="1"/>
              <light node="workLightBackLow"   lightTypes="2"/>
          </low>
          <high>
              <light node="frontLightHigh"        lightTypes="0"/>
              <light node="workLightFrontHigh1"   lightTypes="1"/>
              <light node="workLightFrontHigh2"   lightTypes="1"/>
              <light node="workLightBackHigh"   lightTypes="2"/>
              <turnLightLeft node="turnLightLeftFront"/>
              <turnLightLeft node="turnLightLeftBack"/>
              <turnLightRight node="turnLightRightFront"/>
              <turnLightRight node="turnLightRightBack"/>
              <brakeLight node="backLightsHigh1"/>
              <reverseLight node="reverseLight"/>
          </high>
      </realLights>
      <defaultLights>
          <defaultLight node="DFcoronas" lightTypes="0"/>
      </defaultLights>
      <turnLights>
          <turnLightLeft node="coronasL" />
          <turnLightRight node="coronasR" />
      </turnLights>
        <beaconLights>
            <beaconLight node="0>4|1|71|2|0" filename="$data/shared/assets/beaconLights/lizard/beaconLight01.xml"/>
            <beaconLight node="0>4|1|71|2|1" filename="$data/shared/assets/beaconLights/lizard/beaconLight01.xml"/>
        </beaconLights>
    </lights>
    <enterable>
        <exitPoint node="0>7"/>
        <enterReferenceNode node="0>"/>
        <characterNode node="0>12|0" cameraMinDistance="1.5" spineRotation="-90 0 90">
            <target ikChain="rightFoot" targetNode="0>12|1"/>
            <target ikChain="leftFoot" targetNode="0>12|2"/>
            <target ikChain="rightArm" targetNode="0>4|1|70|0|0"/>
            <target ikChain="leftArm" targetNode="0>4|1|70|0|1"/>
        </characterNode>
        <cameras>
            <camera node="0>6|0|0" rotatable="true" rotateNode="0>6|0" limit="true" useWorldXZRotation="true" rotMinX="-1.4" rotMaxX="1" transMin="6" transMax="25">
                <raycastNode node="0>10|0"/>
                <raycastNode node="0>10|1"/>
            </camera>
            <camera node="0>4|1|51|0" rotatable="true" limit="true" rotMinX="-1.1" rotMaxX="0.4" transMin="0" transMax="0" useMirror="true" isInside="true"/>
        </cameras>
        <mirrors>
            <mirror node="mirror01decal" prio="1"/>
            <mirror node="mirror02decal" prio="1"/>
        </mirrors>
    </enterable>
    <motorized>
        <motorConfigurations>
            <motorConfiguration name="420" hp="420" price="0">
              <objectChange node="0>4|1|40|0" visibilityActive="true" visibilityInactive="false"/>
              <objectChange node="0>4|1|40|2" visibilityActive="true" visibilityInactive="false"/>
                <motor torqueScale="3" minRpm="900" maxRpm="3600" maxForwardSpeed="85" maxBackwardSpeed="15" brakeForce="9.0" lowBrakeForceScale="0.22" lowBrakeForceSpeedLimit="1" rotInertia="0.0005">
                    <torque normRpm="650" torque="0.7"/>
                    <torque normRpm="800" torque="1.4"/>
                    <torque normRpm="1250" torque="1.5"/>
                    <torque normRpm="1800" torque="1.7"/>
                    <torque normRpm="2300" torque="1.9"/>
                    <torque normRpm="2800" torque="1"/>
                </motor>
                <transmission minForwardGearRatio="10" maxForwardGearRatio="250" minBackwardGearRatio="40" maxBackwardGearRatio="250"/>
            </motorConfiguration>
            <motorConfiguration name="460" hp="460" price="1000">
              <objectChange node="0>4|1|40|1" visibilityActive="true" visibilityInactive="false"/>
              <objectChange node="0>4|1|40|3" visibilityActive="true" visibilityInactive="false"/>
                <motor torqueScale="4" minRpm="1500" maxRpm="4200" maxForwardSpeed="85" maxBackwardSpeed="15" brakeForce="9.0" lowBrakeForceScale="0.22" lowBrakeForceSpeedLimit="1" rotInertia="0.0005">
                    <torque normRpm="850" torque="1"/>
                    <torque normRpm="1000" torque="1.7"/>
                    <torque normRpm="1450" torque="1.8"/>
                    <torque normRpm="2000" torque="2"/>
                    <torque normRpm="2500" torque="2.2"/>
                    <torque normRpm="3000" torque="1.3"/>
                </motor>
                <transmission minForwardGearRatio="10" maxForwardGearRatio="250" minBackwardGearRatio="40" maxBackwardGearRatio="250"/>
            </motorConfiguration>
        </motorConfigurations>
        <consumerConfigurations>
            <consumerConfiguration>
                <consumer fillUnitIndex="1" usage="150" fillType="diesel" />
                <consumer fillUnitIndex="2" usage="3.5" fillType="def" />
                <consumer fillUnitIndex="3" usage="300" fillType="air" permanentConsumption="false" refillLitersPerSecond="350" refillCapacityPercentage="0.5" /> <!-- usage per second at full brake power -->
            </consumerConfiguration>
        </consumerConfigurations>
        <differentialConfigurations>
            <differentialConfiguration>
                <differentials>
                    <differential torqueRatio="0.5" maxSpeedRatio="1.2" wheelIndex1="1" wheelIndex2="2"/>
                    <differential torqueRatio="0.5" maxSpeedRatio="1.3" wheelIndex1="3" wheelIndex2="4"/>
                    <differential torqueRatio="0.5" maxSpeedRatio="1.5" differentialIndex1="1" differentialIndex2="2"/>
                </differentials>
            </differentialConfiguration>
        </differentialConfigurations>
        <dashboards>
            <dashboard displayType="ANIMATION" valueType="rpm" animName="rpmDisplay" minValueAnim="0" maxValueAnim="4000"/>
            <dashboard displayType="ANIMATION" valueType="speed" animName="speedDisplay" minValueAnim="0" maxValueAnim="160"/>
        </dashboards>
        <exhaustEffects>
            <exhaustEffect node="0>9" filename="$data/particleSystems/shared/exhaust.i3d" minRpmColor="0 0 0 0.05" maxRpmColor="0.01 0.01 0.01 5" minRpmScale="0.1" maxRpmScale="0.55" xzRotationsForward="0 0" xzRotationsBackward="0 0" xzRotationsLeft="0 0" xzRotationsRight="0 0"/>
            <exhaustEffect node="0>11" filename="$data/particleSystems/shared/exhaust.i3d" minRpmColor="0 0 0 0.05" maxRpmColor="0.01 0.01 0.01 5" minRpmScale="0.1" maxRpmScale="0.55" xzRotationsForward="0 0" xzRotationsBackward="0 0" xzRotationsLeft="0 0" xzRotationsRight="0 0"/>
        </exhaustEffects>
        <exhaustFlap node="0>4|0|0" maxRot="0.03"/>
        <motorStartDuration>2500</motorStartDuration>
        <sounds>
          <motorStart template="DEFAULT_MOTOR_START" file="sounds/engine_on.ogg" linkNode="0>"/>
          <motor template="DEFAULT_MOTOR_IDLE" file="sounds/exhaust_idle.ogg" linkNode="0>"/>
          <motorStop template="DEFAULT_MOTOR_STOP" file="sounds/engine_off.ogg" linkNode="0>"/>
          <gearbox template="DEFAULT_GEARBOX" file="sounds/turbo_ext.ogg" linkNode="0>"/>
          <retarder template="DEFAULT_RETARDER" file="sounds/engine_Brake.ogg" linkNode="0>"/>
          <airCompressorStart template="TRUCK_BRAKE_COMPRESSOR_START" linkNode="0>"/>
          <airCompressorRun template="BRAKE_COMPRESSOR_RUN" linkNode="0>"/>
          <airCompressorStop template="TRUCK_BRAKE_COMPRESSOR_STOP" linkNode="0>"/>
          <airRelease template="TRUCK_BRAKE_REGULATOR_VALVE" linkNode="0>"/>
          <compressedAir template="TRUCK_BRAKE" linkNode="0>"/>
          <reverseDrive template="REVERSE_BEEP_03" linkNode="0>" />
          <motor template="TRUCK_MOTOR_ONLOAD_RUN" file="sounds/1000rpm_exhaust.ogg" linkNode="0>"/>
          <motor template="TRUCK_MOTOR_OFFLOAD_RUN" file="sounds/2000rpm_exhaust.ogg" linkNode="0>"/>
        </sounds>
    </motorized>
    <drivable>
        <steeringWheel node="steeringWheel" indoorRotation="360" outdoorRotation="37"/>
    </drivable>
    <animations>
        <animation name="speedDisplay">
            <part node="speedNeedle" startTime="0" endTime="1" startRot="0 0 0" endRot="0 -260 0"/>
        </animation>
        <animation name="rpmDisplay">
            <part node="rpmNeedle" startTime="0" endTime="1" startRot="0 0 0" endRot="0 -110 0"/>
        </animation>
        <animation name="fuelDisplay">
            <part node="fuelNeedle" startTime="0" endTime="1" startRot="0 0 0" endRot="0 -130 0"/>
        </animation>
    </animations>
    <fillUnit>
        <fillUnitConfigurations>
            <fillUnitConfiguration>
                <fillUnits>
                    <fillUnit unit="$l10n_unit_literShort" showOnHud="false" showInShop="false" fillTypes="diesel" capacity="700">
                        <dashboard displayType="ANIMATION" valueType="fillLevel" animName="fuelDisplay" groups="MOTOR_ACTIVE"/>
                    </fillUnit>
                    <fillUnit unit="$l10n_unit_literShort" showOnHud="false" showInShop="false" fillTypes="def" capacity="60"/>
                    <fillUnit unit="$l10n_unit_literShort" showOnHud="false" showInShop="false" fillTypes="air" capacity="4000"/>
                </fillUnits>
            </fillUnitConfiguration>
        </fillUnitConfigurations>
    </fillUnit>
    <washable dirtDuration="50" washDuration="1" workMultiplier="4"/>
    <honk>
        <sound file="sounds/horn.ogg" linkNode="0>" />
    </honk>
    <suspensions>
        <suspension node="CABIN_BASE" weight="400" minRotation="-6 0 -6" maxRotation="6 0 6" suspensionParametersX="300 25" suspensionParametersZ="300 25" />
    </suspensions>
    <ai>
        <collisionTrigger node="0>8"/>
    </ai>

    <dashboard>
        <groups>
            <group name="MOTOR_STARTING" isMotorStarting="true"/>
            <group name="MOTOR_ACTIVE"   isMotorStarting="true" isMotorRunning="true"/>
        </groups>
    </dashboard>

    <i3dMappings>
        <i3dMapping id="mirror01decal" node="0>4|1|41|0" />
        <i3dMapping id="mirror02decal" node="0>4|1|41|1" />
        <i3dMapping id="steeringWheel" node="0>4|1|70|0"/>
        <i3dMapping id="frontLightLow" node="0>5|0|0" />
        <i3dMapping id="frontLightHigh" node="0>5|0|0" />
        <i3dMapping id="workLightFrontHigh1" node="0>5|1|0|0" />
        <i3dMapping id="workLightFrontHigh2" node="0>4|1|71|1|1|0" />
        <i3dMapping id="workLightBackHigh" node="0>4|1|71|1|0|0" />
        <i3dMapping id="workLightFrontLow" node="0>5|1|0|0" />
        <i3dMapping id="workLightFrontLow1" node="0>4|1|71|1|1|0" />
        <i3dMapping id="workLightBackLow" node="0>4|1|71|1|0|0" />
        <i3dMapping id="turnLightRightFront" node="0>5|2|1|1"/>
        <i3dMapping id="turnLightLeftFront" node="0>5|2|0|1"/>
        <i3dMapping id="turnLightRightBack" node="0>5|2|1|2"/>
        <i3dMapping id="turnLightLeftBack" node="0>5|2|0|2"/>
        <i3dMapping id="coronasL" node="0>5|2|0|0" />
        <i3dMapping id="coronasR" node="0>5|2|1|0" />
        <i3dMapping id="DFcoronas" node="0>4|1|71|0|0" />
        <i3dMapping id="backLightsHigh1" node="0>5|3|0"/>
        <i3dMapping id="reverseLight" node="0>5|4|0"/>
        <i3dMapping id="speedNeedle" node="0>4|1|69|0|0"/>
        <i3dMapping id="rpmNeedle" node="0>4|1|69|1|0"/>
        <i3dMapping id="fuelNeedle" node="0>4|1|69|2|0"/>
        <i3dMapping id="CABIN_BASE" node="0>4|1" />
    </i3dMappings>

</vehicle>
