<?xml version="1.0" encoding="utf-8" standalone="no"?>
<vehicle type="conveyorBelt" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../shared/xml/schema/vehicle.xsd">
    <annotation>Copyright (C) GIANTS Software GmbH, All Rights Reserved.</annotation>

    <storeData>
        <name>TL 12-39</name>
        <functions>
            <function>$l10n_function_beltSystem</function>
        </functions>
        <image>$data/vehicles/meridian/tl1239/store_tl1239.png</image>
        <price>14500</price>
        <lifetime>600</lifetime>
        <rotation>180</rotation>
        <brand>MERIDIAN</brand>
        <category>belts</category>
        <shopTranslationOffset>0 -0.032 0</shopTranslationOffset>
        <shopRotationOffset>-4.143 0 0</shopRotationOffset>
        <vertexBufferMemoryUsage>2290944</vertexBufferMemoryUsage>
        <indexBufferMemoryUsage>389632</indexBufferMemoryUsage>
        <textureMemoryUsage>2621440</textureMemoryUsage>
        <instanceVertexBufferMemoryUsage>0</instanceVertexBufferMemoryUsage>
        <instanceIndexBufferMemoryUsage>0</instanceIndexBufferMemoryUsage>
        <audioMemoryUsage>0</audioMemoryUsage>
    </storeData>

    <base>
        <typeDesc>$l10n_typeDesc_belt</typeDesc>
        <filename>$data/vehicles/meridian/tl1239/tl1239.i3d</filename>
        <sounds filename="$data/vehicles/andersonGroup/hybridX/sounds/inlineWrapper.xml"/>
        <size width="3.8" length="12.5" lengthOffset="-0.6"/>
        <components>
            <component centerOfMass="0 0.4 -1.7" solverIterationCount="25" mass="285"/>
            <component centerOfMass="0 0 0" solverIterationCount="10" mass="200"/>
            <component centerOfMass="0 0 0" solverIterationCount="10" mass="200"/>
            <joint component1="1" component2="2" node="componentJoint" rotLimit="30 0 0"/>
            <joint component1="1" component2="3" node="componentJointPipe" rotLimit="0 0 0"/>
        </components>
        <schemaOverlay attacherJointPosition="0 0" name="IMPLEMENT" />
        <mapHotspot type="OTHER" />
    </base>

    <wheels>
        <wheelConfigurations>
            <wheelConfiguration name="$l10n_configuration_valueDefault" price="0">
                <wheels autoRotateBackSpeed="1.8">
                    <wheel filename="$data/shared/wheels/tires/trelleborg/AW305/215_75R17_5.xml" isLeft="true" hasTireTracks="true" hasParticles="true" color="0.4990 0.5070 0.4610 0">
                        <physics restLoad="0.2" repr="wheelLeft" useReprDirection="true" forcePointRatio="0.4" initialCompression="8" suspTravel="0.15" spring="10" damper="10"/>
                    </wheel>
                    <wheel filename="$data/shared/wheels/tires/trelleborg/AW305/215_75R17_5.xml" isLeft="false" hasTireTracks="true" hasParticles="true" color="0.4990 0.5070 0.4610 0">
                        <physics restLoad="0.2" repr="wheelRight" useReprDirection="true" forcePointRatio="0.4" initialCompression="8" suspTravel="0.15" spring="10" damper="10"/>
                    </wheel>
                    <wheel filename="$data/shared/wheels/tires/trelleborg/T510/3_50R6.xml" isLeft="true">
                        <physics rotSpeed="1" restLoad="0.2" repr="smallWheel01Axis_physics" driveNode="smallWheel01" forcePointRatio="0.2" initialCompression="8" suspTravel="0.07" spring="20" damper="10" frictionScale="2"/>
                    </wheel>
                    <wheel filename="$data/shared/wheels/tires/trelleborg/T510/3_50R6.xml" isLeft="true">
                        <physics rotSpeed="1" restLoad="0.2" repr="smallWheel02Axis_physics" driveNode="smallWheel02" forcePointRatio="0.2" initialCompression="8" suspTravel="0.07" spring="20" damper="10" frictionScale="2"/>
                    </wheel>
                    <wheel filename="$data/shared/wheels/tires/trelleborg/T510/3_50R6.xml" isLeft="true">
                        <physics rotSpeed="0" restLoad="0.2" repr="smallWheel03Axis_physics" driveNode="smallWheel03" forcePointRatio="0.2" initialCompression="8" suspTravel="0.05" spring="20" damper="10" versatileYRot="true" frictionScale="0.2"/>
                    </wheel>
                    <wheel filename="$data/shared/wheels/tires/trelleborg/T510/3_50R6.xml" isLeft="true">
                        <physics rotSpeed="0" restLoad="0.2" repr="smallWheel04Axis_physics" driveNode="smallWheel04" forcePointRatio="0.2" initialCompression="8" suspTravel="0.05" spring="20" damper="10" versatileYRot="true" frictionScale="0.2"/>
                    </wheel>
                </wheels>
            </wheelConfiguration>
        </wheelConfigurations>

        <ackermannSteeringConfigurations>
            <ackermannSteering rotSpeed="65" rotMax="65" rotCenterWheel1="1" rotCenterWheel2="2"/>
        </ackermannSteeringConfigurations>

        <rimColor>SHARED_BLACK1</rimColor>

        <hubs>
            <hub linkNode="wheelLeft"  filename="$data/shared/wheels/hubs/hub_n6_1.xml" isLeft="true"  scale="0.15 0.15 0.15" />
            <hub linkNode="wheelRight" filename="$data/shared/wheels/hubs/hub_n6_1.xml" isLeft="false" scale="0.15 0.15 0.15" />
        </hubs>
    </wheels>

    <attachable>
        <inputAttacherJoints>
            <inputAttacherJoint node="attacherJoint" rootNode="tl1239_pipe_component3" jointType="implement" lowerRotLimitScale="3 3 3" upperRotLimitScale="3 3 3" attacherHeight="0.3" needsToolbar="true">
                <distanceToGround lower="0.3" upper="0.3" />
            </inputAttacherJoint>
        </inputAttacherJoints>
    </attachable>

    <lights>
        <states>
            <state lightTypes="1" />
        </states>

        <realLights>
            <high>
                <light node="worklight" lightTypes="1"/>
            </high>
        </realLights>

        <defaultLights>
            <defaultLight shaderNode="worklightStatic"    lightTypes="1" />
        </defaultLights>
    </lights>

    <enterable isTabbable="false">
        <exitPoint node="exitPoint"/>
        <enterReferenceNode node="tl1239_main_component1"/>

        <cameras>
            <camera node="camera1" rotatable="true" rotateNode="cameraRotationNode" limit="true" useWorldXZRotation="true" rotMinX="-1.4" rotMaxX="1" transMin="7" transMax="25" translation="0 0 13" rotation="-20 180 0">
                <raycastNode node="cameraRaycastNode1"/>
                <raycastNode node="cameraRaycastNode2"/>
            </camera>
        </cameras>
    </enterable>

    <drivable>
        <sounds>
            <waterSplash template="WATER_SPLASH_01" />
        </sounds>
        <cruiseControl minSpeed="0.01"/>
    </drivable>

    <motorized forceSpeedHudDisplay="true">
        <motorConfigurations>
            <motorConfiguration name="TL 12-39" price="0" hp="5">
                <motor torqueScale="0.2" minRpm="850" maxRpm="2200" maxForwardSpeed="5" maxBackwardSpeed="5" brakeForce="0.2" lowBrakeForceSpeedLimit="0.1" lowBrakeForceScale="0.1" accelerationLimit="1">
                    <torque normRpm="0.45" torque="0.9"/>
                    <torque normRpm="0.5" torque="0.97"/>
                    <torque normRpm="0.59" torque="1"/>
                    <torque normRpm="0.72" torque="1"/>
                    <torque normRpm="0.86" torque="0.88"/>
                    <torque normRpm="1" torque="0.72"/>
                </motor>
                <transmission minForwardGearRatio="150" maxForwardGearRatio="310" minBackwardGearRatio="150" maxBackwardGearRatio="310" />
            </motorConfiguration>
        </motorConfigurations>

        <differentialConfigurations>
            <differentialConfiguration>
                <differentials>
                    <differential torqueRatio="0.5" maxSpeedRatio="7" wheelIndex1="1" wheelIndex2="2"/>
                </differentials>
            </differentialConfiguration>
        </differentialConfigurations>
    </motorized>

    <animations>
        <animation name="drawbarAnim">
            <part node="componentJointPipe" startTime="0" endTime="1" startRot="9.3 0 0" endRot="-45 0 0"/>
            <part node="drawbarPhy" startTime="0" endTime="1" startRot="5 0 0" endRot="-48 0 0"/>

            <part node="mainWheels" startTime="0" endTime="1" startRot="30 0 0" endRot="90 0 0"/>
        </animation>
    </animations>

    <cylindered>
        <movingTools>
            <movingTool node="componentJointPipe" playSound="false">
                <controls axis="AXIS_PIPE2" invertAxis="false" mouseSpeedFactor="1.2" iconName="PIPE_END_ROTATE" />
                <animation animSpeed="0.1" animAcceleration="5" animName="drawbarAnim" animStartTime="0"/>
                <componentJoint index="1" anchorActor="0"/>
                <componentJoint index="2" anchorActor="0"/>
            </movingTool>
            <movingTool node="mainWheels" wheelIndices="1 2"/>
        </movingTools>

        <movingParts>
            <movingPart node="steeringBar" referencePoint="steeringBarRef" referenceFrame="steeringBarRef" isActiveDirty="true" maxUpdateDistance="20"/>

            <movingPart node="pipe01" referencePoint="pipe01Ref" referenceFrame="pipe01RefFrame" isActiveDirty="true" maxUpdateDistance="-" directionThreshold="0.05">
                <dependentPart node="loadingArm" />
                <dependentPart node="engine" />
            </movingPart>
            <movingPart node="loadingArm" referenceFrame="loadingArmRefFrame" doLineAlignment="true" doDirectionAlignment="false" wheelIndices="1 2" directionThreshold="0.05">
                <orientationLine partLength="3.455">
                    <lineNode node="loadingArmLineStart"/>
                    <lineNode node="loadingArmLineEnd"/>
                </orientationLine>
                <dependentPart node="loadingArmPart" />
            </movingPart>
            <movingPart node="loadingArmPart" referenceFrame="loadingArmPartRef" />
            <movingPart node="axis" referenceFrame="tl1239_axis_component2" isActiveDirty="true" maxUpdateDistance="50" />
            <movingPart node="engine" localReferencePoint="engineArm" referencePoint="engineArmRef" referenceFrame="engineRefFrame">
                <dependentPart node="engineArm" />
            </movingPart>
            <movingPart node="engineArm" referencePoint="engineArmRef" referenceFrame="engineArmRef"/>
            <movingPart node="smallWheel01Axis" referenceFrame="smallWheel01Axis_physics" limitedAxis="2" isActiveDirty="true" maxUpdateDistance="80"/>
            <movingPart node="smallWheel02Axis" referenceFrame="smallWheel02Axis_physics" limitedAxis="2" isActiveDirty="true" maxUpdateDistance="80"/>
            <movingPart node="smallWheel03Axis" referenceFrame="smallWheel03Axis_physics" limitedAxis="2" isActiveDirty="true" maxUpdateDistance="80"/>
            <movingPart node="smallWheel04Axis" referenceFrame="smallWheel04Axis_physics" limitedAxis="2" isActiveDirty="true" maxUpdateDistance="80"/>

            <movingPart node="drawbar" referencePoint="drawbarRef" referenceFrame="drawbarRefFrame" isActiveDirty="true" maxUpdateDistance="150">
                <dependentPart node="drawbarHydraulic" />
            </movingPart>
            <movingPart node="drawbarHydraulic" referencePoint="drawbarHydraulicRef" referenceFrame="drawbarHydraulicRef">
                <translatingPart node="drawbarHydraulicPunch" />
            </movingPart>
        </movingParts>
        <sounds>
            <actionSound template="hydraulicLayerTone" pitchScale="1.2" volumeScale="0.8" linkNode="componentJointPipe" actionNames="TOOL_MOVE_POS TOOL_MOVE_NEG"     nodes="componentJointPipe" fadeIn="0.1" fadeOut="0.05"/>
            <actionSound template="clackVar6"          pitchScale="0.6" volumeScale="1.5" linkNode="componentJointPipe" actionNames="TOOL_MOVE_END_NEG_LIMIT"         nodes="componentJointPipe"/>
            <actionSound template="cylinderPunch"      pitchScale="2"   volumeScale="0.5" linkNode="componentJointPipe" actionNames="TOOL_MOVE_END_NEG_LIMIT"         nodes="componentJointPipe"/>
            <actionSound template="clackVar4"          pitchScale="1.4" volumeScale="1"   linkNode="componentJointPipe" actionNames="TOOL_MOVE_END_NEG_LIMIT"         nodes="componentJointPipe"/>
            <actionSound template="metalClose"         pitchScale="1.4" volumeScale="1"   linkNode="componentJointPipe" actionNames="TOOL_MOVE_END_NEG_LIMIT"         nodes="componentJointPipe"/>
            <actionSound template="clackVar6"          pitchScale="0.8" volumeScale="1"   linkNode="componentJointPipe" actionNames="TOOL_MOVE_END_POS_LIMIT"         nodes="componentJointPipe"/>
            <actionSound template="cylinderPunch"      pitchScale="1.5" volumeScale="0.4" linkNode="componentJointPipe" actionNames="TOOL_MOVE_END_POS_LIMIT"         nodes="componentJointPipe"/>
            <actionSound template="sheetImp02"         pitchScale="1"   volumeScale="1.3" linkNode="componentJointPipe" actionNames="TOOL_MOVE_END_POS_LIMIT"         nodes="componentJointPipe"/>
        </sounds>
    </cylindered>

    <fillUnit>
        <fillUnitConfigurations>
            <fillUnitConfiguration>
                <fillUnits fillTypeChangeThreshold="1">
                    <fillUnit unitTextOverride="$l10n_unit_literShort" fillTypeCategories="bulk" capacity="5000" showOnHud="false" showInShop="false" updateMass="false">
                        <exactFillRootNode node="exactFillRootNode" />
                    </fillUnit>
                </fillUnits>
            </fillUnitConfiguration>
        </fillUnitConfigurations>
    </fillUnit>

    <dischargeable stopDischargeOnDeactivate="false" requiresTipOcclusionArea="false">
        <dischargeNode node="pipeRaycastNode" emptySpeed="1000" fillUnitIndex="1" canStartDischargeAutomatically="true" >
            <raycast useWorldNegYDirection="true"/>
            <info width="0.4" length="0.4" />

            <animationNodes>
                <animationNode node="auger01" rotSpeed="-1200" rotAxis="3" turnOnFadeTime="2" turnOffFadeTime="2" />
            </animationNodes>

            <effects>
                <effectNode effectClass="PipeEffect" effectNode="pipeEffect"      materialType="pipe"           delay="0" maxBending="1" extraDistance="0.2"/>
                <effectNode                          effectNode="pipeEffectSmoke" materialType="unloadingSmoke" delay="0.1" alignToWorldY="true"/>
            </effects>
            <dischargeStateSound template="ROLLBELT_LOOP"/>
        </dischargeNode>
    </dischargeable>

    <foliageBending>
        <bendingNode minX="-0.6" maxX="0.6" minZ="-3.1" maxZ="-0.4" yOffset="0.4" />
        <bendingNode minX="-1.6" maxX="1.6" minZ="-0.4" maxZ="0.6" yOffset="0.4" />
        <bendingNode minX="-0.4" maxX="0.4" minZ="-4.2" maxZ="7.85" yOffset="-0.18" node="pipe01" />
    </foliageBending>

    <ai supportsAIJobs="false">
        <agentAttachment jointNode="attacherJoint" rotCenterWheelIndices="1 2" width="3.1" height="4" length="12" lengthOffset="0.9"/>
    </ai>

    <baseMaterial>
        <material name="tl1239_mat" baseNode="tl1239_vis">
            <shaderParameter name="colorMat0" value="MERIDIAN_RED"/>
        </material>
    </baseMaterial>

    <wearable wearDuration="480" workMultiplier="5" fieldMultiplier="2"/>
    <washable dirtDuration="90" washDuration="1" workMultiplier="6" fieldMultiplier="2"/>

    <i3dMappings>
        <i3dMapping id="tl1239_main_component1" node="0>" />
        <i3dMapping id="tl1239_vis" node="0>0" />
        <i3dMapping id="cameraRotationNode" node="0>0|0|0" />
        <i3dMapping id="camera1" node="0>0|0|0|0" />
        <i3dMapping id="cameraRaycastNode1" node="0>0|0|1" />
        <i3dMapping id="cameraRaycastNode2" node="0>0|0|2" />
        <i3dMapping id="exitPoint" node="0>0|1" />
        <i3dMapping id="drawbarPhy" node="0>0|2|0" />
        <i3dMapping id="componentJoint" node="0>0|2|0|0" />
        <i3dMapping id="drawbarRefFrame" node="0>0|2|1" />
        <i3dMapping id="drawbar" node="0>0|2|1|0" />
        <i3dMapping id="drawbarHydraulicRef" node="0>0|2|1|0|0" />
        <i3dMapping id="axis" node="0>0|2|1|0|1" />
        <i3dMapping id="smallWheel01Axis" node="0>0|2|1|0|1|0" />
        <i3dMapping id="steeringBar" node="0>0|2|1|0|1|0|0" />
        <i3dMapping id="smallWheel02Axis" node="0>0|2|1|0|1|1" />
        <i3dMapping id="steeringBarRef" node="0>0|2|1|0|1|1|0" />
        <i3dMapping id="smallWheel03Axis" node="0>0|2|1|0|1|2" />
        <i3dMapping id="smallWheel04Axis" node="0>0|2|1|0|1|3" />
        <i3dMapping id="drawbarHydraulic" node="0>0|2|2" />
        <i3dMapping id="drawbarHydraulicPunch" node="0>0|2|2|0" />
        <i3dMapping id="loadingArmRefFrame" node="0>0|2|3" />
        <i3dMapping id="loadingArm" node="0>0|2|4" />
        <i3dMapping id="loadingArmPart" node="0>0|2|4|0" />
        <i3dMapping id="mainWheels" node="0>0|2|4|1" />
        <i3dMapping id="wheelLeft" node="0>0|2|4|1|0" />
        <i3dMapping id="wheelRight" node="0>0|2|4|1|1" />
        <i3dMapping id="pipe01RefFrame" node="0>0|2|5" />
        <i3dMapping id="pipe01" node="0>0|2|5|0" />
        <i3dMapping id="loadingArmLineStart" node="0>0|2|5|0|0" />
        <i3dMapping id="loadingArmLineEnd" node="0>0|2|5|0|1" />
        <i3dMapping id="loadingArmPartRef" node="0>0|2|5|0|2" />
        <i3dMapping id="engineArmRef" node="0>0|2|5|0|3" />
        <i3dMapping id="worklightStatic" node="0>0|2|5|0|4|0|1" />
        <i3dMapping id="worklight" node="0>0|2|5|0|4|1" />
        <i3dMapping id="pipeRaycastNode" node="0>0|2|5|0|5" />
        <i3dMapping id="auger01" node="0>0|2|5|0|6|0" />
        <i3dMapping id="pipeEffect" node="0>0|2|5|0|7|0" />
        <i3dMapping id="pipeEffectSmoke" node="0>0|2|5|0|7|1" />
        <i3dMapping id="componentJointPipe" node="0>0|2|6" />
        <i3dMapping id="engine" node="0>0|2|7" />
        <i3dMapping id="engineArm" node="0>0|2|7|0" />
        <i3dMapping id="engineRefFrame" node="0>0|2|7|1" />
        <i3dMapping id="tl1239_axis_component2" node="1>" />
        <i3dMapping id="smallWheel01Axis_physics" node="1>0|0" />
        <i3dMapping id="smallWheel01" node="1>0|0|0" />
        <i3dMapping id="smallWheel02Axis_physics" node="1>0|1" />
        <i3dMapping id="smallWheel02" node="1>0|1|0" />
        <i3dMapping id="smallWheel03Axis_physics" node="1>0|2" />
        <i3dMapping id="smallWheel03" node="1>0|2|0" />
        <i3dMapping id="smallWheel04Axis_physics" node="1>0|3" />
        <i3dMapping id="smallWheel04" node="1>0|3|0" />
        <i3dMapping id="drawbarRef" node="1>1" />
        <i3dMapping id="tl1239_pipe_component3" node="2>" />
        <i3dMapping id="exactFillRootNode" node="2>0" />
        <i3dMapping id="pipe01Ref" node="2>1" />
        <i3dMapping id="attacherJoint" node="2>2" />
    </i3dMappings>
</vehicle>
