﻿<?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>TC 816</name>
        <functions>
            <function>$l10n_function_beltSystemConnection</function>
        </functions>
        <image>$data/vehicles/grimme/tc816/store_tc816.png</image>
        <price>18000</price>
        <lifetime>600</lifetime>
        <rotation>0</rotation>
        <brand>GRIMME</brand>
        <category>belts</category>
        <shopTranslationOffset>0 -0.268 0</shopTranslationOffset>
        <shopRotationOffset>3.708 0 0</shopRotationOffset>
        <vertexBufferMemoryUsage>1688576</vertexBufferMemoryUsage>
        <indexBufferMemoryUsage>247296</indexBufferMemoryUsage>
        <textureMemoryUsage>2031616</textureMemoryUsage>
        <instanceVertexBufferMemoryUsage>0</instanceVertexBufferMemoryUsage>
        <instanceIndexBufferMemoryUsage>0</instanceIndexBufferMemoryUsage>
        <audioMemoryUsage>0</audioMemoryUsage>
    </storeData>

    <base>
        <typeDesc>$l10n_typeDesc_belt</typeDesc>
        <filename>$data/vehicles/grimme/tc816/tc816.i3d</filename>
        <size width="2.8" length="11" lengthOffset="-0.35" />
        <components>
            <component centerOfMass="0 0.4 0" solverIterationCount="28" mass="325" />
            <component centerOfMass="0 -0.6 0" solverIterationCount="4" mass="325" />
            <joint component1="1" component2="2" node="beltPart2Joint" rotLimit="40 0 2" transLimit="0 0 0" maxRotDriveForce="0 0 15" rotDriveRotation="- - 0" rotDriveSpring="0 0 5" rotDriveDamping="0 0 5" enableCollision="true" />
        </components>
        <schemaOverlay attacherJointPosition="0 0" name="IMPLEMENT" />
        <mapHotspot type="OTHER" />
    </base>

    <wheels>
        <wheelConfigurations>
            <wheelConfiguration name="$l10n_configuration_valueDefault" price="0">
                <wheels>
                    <wheel filename="$data/shared/wheels/tires/trelleborg/T510/16x6_50R8.xml" hasTireTracks="true" hasParticles="true">
                        <physics tipOcclusionAreaGroupId="1" rotSpeed="0" restLoad="0.2" repr="wheelBackLeft"                                    forcePointRatio="0.15" initialCompression="25" suspTravel="0.05" spring="12" damper="10" />
                    </wheel>
                    <wheel filename="$data/shared/wheels/tires/trelleborg/T510/16x6_50R8.xml" hasTireTracks="true" hasParticles="true">
                        <physics tipOcclusionAreaGroupId="1" rotSpeed="0" restLoad="0.2" repr="wheelBackRight"                                   forcePointRatio="0.15" initialCompression="25" suspTravel="0.05" spring="12" damper="10" />
                    </wheel>
                    <wheel filename="$data/shared/wheels/tires/trelleborg/T510/2_50R3.xml">
                        <physics tipOcclusionAreaGroupId="1" rotSpeed="1" restLoad="0.2" repr="wheelMiddleLeftRot"  driveNode="wheelMiddleLeft"  forcePointRatio="0.15" initialCompression="25" suspTravel="0.05" spring="8" damper="10" useDriveNodeDirection="true"/>
                    </wheel>
                    <wheel filename="$data/shared/wheels/tires/trelleborg/T510/2_50R3.xml">
                        <physics tipOcclusionAreaGroupId="1" rotSpeed="1" restLoad="0.2" repr="wheelMiddleRightRot" driveNode="wheelMiddleRight" forcePointRatio="0.15" initialCompression="25" suspTravel="0.05" spring="8" damper="10" useDriveNodeDirection="true"/>
                    </wheel>
                    <wheel filename="$data/shared/wheels/tires/trelleborg/T510/2_50R3.xml">
                        <physics tipOcclusionAreaGroupId="2" rotSpeed="1" restLoad="0.2" repr="wheelFrontLeftRot"   driveNode="wheelFrontLeft"   forcePointRatio="0.15" initialCompression="25" suspTravel="0.05" spring="8" damper="10" useDriveNodeDirection="true"/>
                    </wheel>
                    <wheel filename="$data/shared/wheels/tires/trelleborg/T510/2_50R3.xml">
                        <physics tipOcclusionAreaGroupId="2" rotSpeed="1" restLoad="0.2" repr="wheelFrontRightRot"  driveNode="wheelFrontRight"  forcePointRatio="0.15" initialCompression="25" suspTravel="0.05" spring="8" damper="10" useDriveNodeDirection="true"/>
                    </wheel>
                    <wheel filename="$data/shared/wheels/tires/trelleborg/T510/2_50R3.xml">
                        <physics tipOcclusionAreaGroupId="2" rotSpeed="0" restLoad="0.2" repr="wheelLeftPart2Repr"  driveNode="wheelLeftPart2DriveNode"  forcePointRatio="0.15" initialCompression="25" suspTravel="0.05" spring="8" damper="10" yOffset="0.005" versatileYRot="true" frictionScale="0.01"/>
                        <tire initialDeformation="0.005"/>
                    </wheel>
                    <wheel filename="$data/shared/wheels/tires/trelleborg/T510/2_50R3.xml">
                        <physics tipOcclusionAreaGroupId="2" rotSpeed="0" restLoad="0.2" repr="wheelRightPart2Repr" driveNode="wheelRightPart2DriveNode" forcePointRatio="0.15" initialCompression="25" suspTravel="0.05" spring="8" damper="10" yOffset="0.005" versatileYRot="true" frictionScale="0.01"/>
                        <tire initialDeformation="0.005"/>
                    </wheel>
                </wheels>
            </wheelConfiguration>
        </wheelConfigurations>

        <ackermannSteeringConfigurations>
            <ackermannSteering rotSpeed="65" rotMax="80" rotCenterWheel1="1" rotCenterWheel2="2" />
        </ackermannSteeringConfigurations>

        <rimColor material="18">SHARED_WHITE1</rimColor>
    </wheels>

    <attachable>
        <inputAttacherJoints>
            <inputAttacherJoint node="attacherJoint" jointType="implement" needsToolbar="true" needsLowering="false" lowerRotLimitScale="1 7 2" upperRotLimitScale="1 7 2" >
                <distanceToGround lower="0.632" upper="0.8" />
            </inputAttacherJoint>
            <inputAttacherJoint node="conveyorAttacherInput" jointType="conveyor" allowsJointTransLimitMovement="true" forceSelectionOnAttach="false"/>
        </inputAttacherJoints>
        <brakeForce force="0.1"/>
        <support animationName="moveSupport" />
    </attachable>

    <attacherJoints>
        <attacherJoint node="conveyorAttacher" jointType="conveyor" lowerRotLimit="40 120 120" upperRotationOffset="0" allowsLowering="false">
            <schema position="1 0" rotation="0" invertX="false" />
        </attacherJoint>
        <sounds>
            <attach template="ATTACH_01" linkNode="0>" />
        </sounds>
    </attacherJoints>

    <enterable isTabbable="false" >
        <enterReferenceNode node="0>" />
        <exitPoint node="exitPoint" />
        <cameras>
            <camera node="camera" rotatable="true" rotateNode="cameraRot" limit="true" useWorldXZRotation="true" rotMinX="-1.4" rotMaxX="1" transMin="5" transMax="40" translation="0 0 9.4" rotation="-17.5 180 0" />
        </cameras>
         <forceSelectionOnEnter>true</forceSelectionOnEnter>
    </enterable>

    <motorized forceSpeedHudDisplay="true">
        <differentialConfigurations>
            <differentialConfiguration>
                <differentials>
                    <differential torqueRatio="0.5" maxSpeedRatio="3.0" wheelIndex1="1" wheelIndex2="2" />
                </differentials>
            </differentialConfiguration>
        </differentialConfigurations>

        <motorConfigurations>
            <motorConfiguration name="TC 816" hp="5" price="0">
                <motor torqueScale="0.2" minRpm="850" maxRpm="2200" maxForwardSpeed="5" maxBackwardSpeed="5" brakeForce="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>
    </motorized>

    <drivable>
        <sounds>
            <waterSplash template="WATER_SPLASH_01" />
        </sounds>
        <cruiseControl minSpeed="0.01"/>
    </drivable>

    <conveyorBelt dischargeNodeIndex="1" >
        <offset movingToolNode="beltPart2Mover">
            <effect index="2" minOffset="0.25" maxOffset="2.3" inverted="true" />
        </offset>

        <animationNodes>
            <animationNode class="ScrollingAnimation" node="belt1" shaderParameterComponent="2" scrollSpeed="0.3" turnOnFadeTime="0.1" turnOffFadeTime="0.1"/>
            <animationNode class="ScrollingAnimation" node="belt2" shaderParameterComponent="2" scrollSpeed="0.3" turnOnFadeTime="0.1" turnOffFadeTime="0.1"/>
        </animationNodes>
        <effects>
            <effectNode effectClass="ConveyorBeltEffect" effectNode="effectBelt2" materialType="belt" delay="0" fadeTime="3" speed="0.9" scrollLength="9" scrollSpeed="0.8" />
            <effectNode effectClass="ConveyorBeltEffect" effectNode="effectBelt1" materialType="belt" delay="3" fadeTime="3" speed="0.9" scrollLength="9" scrollSpeed="0.8" />
        </effects>

        <sounds>
            <belt template="ROLLBELT_LOOP"/>
        </sounds>
    </conveyorBelt>

    <fillUnit>
        <fillUnitConfigurations>
            <fillUnitConfiguration name="$l10n_configuration_valueDefault" price="0" >
                <fillUnits>
                    <fillUnit unitTextOverride="$l10n_unit_literShort" fillTypeCategories="bulk" capacity="1200" showOnHud="false" showInShop="false" updateMass="false" >
                        <exactFillRootNode node="exactFillRootNode" />
                        <autoAimTargetNode node="fillAutoAimTargetNode" />
                    </fillUnit>
                </fillUnits>
            </fillUnitConfiguration>
        </fillUnitConfigurations>
    </fillUnit>

    <dischargeable stopDischargeOnDeactivate="false">
        <dischargeNode node="dischargeNode" emptySpeed="175" fillUnitIndex="1" canStartDischargeAutomatically="true" >
            <info width="0.4" length="0.4" />
        </dischargeNode>
    </dischargeable>

    <animations>
        <animation name="moveSupport">
             <part startTime="0" endTime="0.2" componentJointIndex="1" startRotLimit="1 0 1" endRotLimit="40 0 2" />

            <sound template="clackVar6" startTime="0.19" direction="-1" volumeScale="1" pitchScale="1.3" linkNode="attacherJoint"/>
        </animation>
    </animations>

    <cylindered>
        <movingTools>
            <movingTool node="beltPart1" playSound="false">
                <controls axis="AXIS_CRANE_ARM2" invertAxis="false" mouseSpeedFactor="0.5" iconName="CRANE_ARM1_ROTATE_Y" />
                <rotation rotSpeed="2" rotAcceleration="10" rotMax="2.5" rotMin="0" rotationAxis="1" />
                <componentJoint index="1" anchorActor="0" />
                <inputAttacherJoint value="true"/>
                <attacherJoint jointIndices="1"/>
                <dependentPart node="hydraulicBeltPart1" />
            </movingTool>
            <movingTool node="beltPart2Joint" playSound="false">
                <controls axis="AXIS_CRANE_ARM" invertAxis="true" mouseSpeedFactor="0.7" iconName="CRANE_ARM1_ROTATE_Y" />
                <rotation rotSpeed="10" rotAcceleration="20" rotMax="95" rotMin="-95" rotationAxis="2" />
                <componentJoint index="1" anchorActor="0" />
                <attacherJoint jointIndices="1"/>
            </movingTool>
            <movingTool node="beltPart2Mover" playSound="false">
                <controls axis="AXIS_CRANE_ARM4" invertAxis="true" mouseSpeedFactor="0.6" iconName="CRANE_ARM2_TRANSLATE" />
                <translation transSpeed="0.6" transAcceleration="2" transMax="6.15" transMin="0.08" translationAxis="3" startTrans="0.08"/>
                <componentJoint index="1" anchorActor="0" />
                <attacherJoint jointIndices="1"/>
            </movingTool>
            <movingTool node="belt2Wheels" wheelIndices="7 8" playSound="false">
                <controls axis="AXIS_CRANE_ARM3" invertAxis="false" mouseSpeedFactor="0.6" iconName="SUPPORT_ARM_TRANSLATE_Y" />
                <translation transSpeed="0.6" transAcceleration="2" transMax="0" transMin="-0.2" translationAxis="2" startTrans="-0.2"/>
                <attacherJoint jointIndices="1"/>
            </movingTool>
        </movingTools>

        <movingParts>
            <movingPart node="beltPart2" referencePoint="beltPart2Ref" referenceFrame="beltPart2Ref" isActiveDirty="true" maxUpdateDistance="300"/>
            <movingPart node="dischargeNodeRot" referenceFrame="dischargeNodeRotRefFrame" alignToWorldY="true" isActiveDirty="true" maxUpdateDistance="50"/>
            <movingPart node="hydraulicBeltPart1" referencePoint="hydraulicBeltPart1Ref" referenceFrame="hydraulicBeltPart1Ref" >
                <translatingPart node="hydraulicBeltPart1Punch" />
            </movingPart>

            <movingPart node="belt2WheelsDummyRot" referencePoint="belt2WheelsDummyRef" referenceFrame="belt2WheelsDummyRef" isActiveDirty="true" maxUpdateDistance="75" doDirectionAlignment="false">
                <translatingPart node="belt2WheelsDummy" />
            </movingPart>

            <movingPart node="belt2WheelsDummyLeftRot" referenceFrame="wheelLeftPart2Repr" isActiveDirty="true" maxUpdateDistance="50"/>
            <movingPart node="belt2WheelsDummyRightRot" referenceFrame="wheelRightPart2Repr" isActiveDirty="true" maxUpdateDistance="50"/>
        </movingParts>

        <sounds>
            <actionSound template="defaultHydraulicSound" pitchScale="1.1" volumeScale="1.3"  linkNode="hydraulicBeltPart1"  actionNames="TRANSLATING_POS TRANSLATING_NEG" nodes="hydraulicBeltPart1"/>
            <actionSound template="defaultHydraulicSound" pitchScale="0.9" volumeScale="1.5"  linkNode="belt2WheelsDummyRot" actionNames="TRANSLATING_POS TRANSLATING_NEG" nodes="belt2WheelsDummyRot"/>
            <actionSound template="defaultHydraulicSound" pitchScale="0.7" volumeScale="1.5"  linkNode="beltPart2Joint"      actionNames="TOOL_MOVE_NEG TOOL_MOVE_POS"     nodes="beltPart2Joint"/>
            <actionSound template="defaultHydraulicSound" pitchScale="1.3" volumeScale="1.2"  linkNode="beltPart2Mover"      actionNames="TOOL_MOVE_NEG TOOL_MOVE_POS"     nodes="beltPart2Mover"/>
            <actionSound template="clackVar6"             pitchScale="0.8" volumeScale="0.6"  linkNode="beltPart1"           actionNames="TOOL_MOVE_END_POS_LIMIT"         nodes="beltPart1"/>
            <actionSound template="sheetImp02"            pitchScale="0.5" volumeScale="0.3"  linkNode="beltPart1"           actionNames="TOOL_MOVE_END_POS_LIMIT"         nodes="beltPart1"/>
            <actionSound template="clackVar6"             pitchScale="0.7" volumeScale="0.5"  linkNode="beltPart1"           actionNames="TOOL_MOVE_END_NEG_LIMIT"         nodes="beltPart1"/>
            <actionSound template="sheetImp02"            pitchScale="0.8" volumeScale="0.4"  linkNode="beltPart1"           actionNames="TOOL_MOVE_END_NEG_LIMIT"         nodes="beltPart1"/>
            <actionSound template="clackVar6"             pitchScale="0.9" volumeScale="0.5"  linkNode="beltPart2Joint"      actionNames="TOOL_MOVE_END_POS_LIMIT"         nodes="beltPart2Joint"/>
            <actionSound template="clackVar4"             pitchScale="0.5" volumeScale="0.1"  linkNode="beltPart2Joint"      actionNames="TOOL_MOVE_END_POS_LIMIT"         nodes="beltPart2Joint"/>
            <actionSound template="clackVar6"             pitchScale="1"   volumeScale="0.5"  linkNode="beltPart2Joint"      actionNames="TOOL_MOVE_END_NEG_LIMIT"         nodes="beltPart2Joint"/>
            <actionSound template="clackVar4"             pitchScale="0.6" volumeScale="0.1"  linkNode="beltPart2Joint"      actionNames="TOOL_MOVE_END_NEG_LIMIT"         nodes="beltPart2Joint"/>
            <actionSound template="clackVar6"             pitchScale="0.8" volumeScale="0.3"  linkNode="beltPart2Mover"      actionNames="TOOL_MOVE_END_NEG_LIMIT"         nodes="beltPart2Mover"/>
            <actionSound template="sheetImp01"            pitchScale="0.4" volumeScale="0.1"  linkNode="beltPart2Mover"      actionNames="TOOL_MOVE_END_NEG_LIMIT"         nodes="beltPart2Mover"/>
            <actionSound template="clackVar6"             pitchScale="0.9" volumeScale="0.3"  linkNode="beltPart2Mover"      actionNames="TOOL_MOVE_END_POS_LIMIT"         nodes="beltPart2Mover"/>
            <actionSound template="sheetImp01"            pitchScale="0.5" volumeScale="0.1"  linkNode="beltPart2Mover"      actionNames="TOOL_MOVE_END_POS_LIMIT"         nodes="beltPart2Mover"/>
            <actionSound template="clackVar6"             pitchScale="1"   volumeScale="0.4"  linkNode="belt2Wheels"         actionNames="TOOL_MOVE_END_POS_LIMIT"         nodes="belt2Wheels"/>
            <actionSound template="sheetImp02"            pitchScale="1"   volumeScale="0.2"  linkNode="belt2Wheels"         actionNames="TOOL_MOVE_END_POS_LIMIT"         nodes="belt2Wheels"/>
            <actionSound template="clackVar6"             pitchScale="1.1" volumeScale="0.4"  linkNode="belt2Wheels"         actionNames="TOOL_MOVE_END_NEG_LIMIT"         nodes="belt2Wheels"/>
            <actionSound template="clackVar4"             pitchScale="1"   volumeScale="0.01" linkNode="belt2Wheels"         actionNames="TOOL_MOVE_END_NEG_LIMIT"         nodes="belt2Wheels"/>
        </sounds>
    </cylindered>

    <foliageBending>
        <bendingNode minX="-0.5" maxX="0.5" minZ="-8.6" maxZ="0.5" yOffset="-0.05" node="beltPart1" />
        <bendingNode minX="-0.5" maxX="0.5" minZ="-4.8" maxZ="4.3" yOffset="-0.2" node="belt2" />
    </foliageBending>

    <ai supportsAIJobs="false">
        <agentAttachment jointNode="attacherJoint" rotCenterWheelIndices="1 2" width="1.7" height="2" length="10.3" lengthOffset="2.5"/>
    </ai>

    <baseMaterial>
        <material name="tc816_mat" baseNode="tc816_vis">
            <shaderParameter name="colorMat0" value="GRIMME_RED1"/>
        </material>
        <material name="tc816Decal_mat1" baseNode="tc816_alphaMeshes">
            <shaderParameter name="colorMat0" value="GRIMME_RED1"/>
        </material>
    </baseMaterial>

    <wearable wearDuration="480" workMultiplier="5" fieldMultiplier="2"/>
    <washable dirtDuration="90" washDuration="1" workMultiplier="6" fieldMultiplier="2"/>

    <i3dMappings>
        <i3dMapping id="tc816_main_component1" node="0>" />
        <i3dMapping id="tc816_vis" node="0>0" />
        <i3dMapping id="attacherJoint" node="0>0|0" />
        <i3dMapping id="wheelMiddleLeftRot" node="0>0|1|0|0|0" />
        <i3dMapping id="wheelMiddleLeft" node="0>0|1|0|0|0|0" />
        <i3dMapping id="wheelMiddleRightRot" node="0>0|1|0|1|0" />
        <i3dMapping id="wheelMiddleRight" node="0>0|1|0|1|0|0" />
        <i3dMapping id="wheelFrontLeftRot" node="0>0|1|0|2|0" />
        <i3dMapping id="wheelFrontLeft" node="0>0|1|0|2|0|0" />
        <i3dMapping id="wheelFrontRightRot" node="0>0|1|0|3|0" />
        <i3dMapping id="wheelFrontRight" node="0>0|1|0|3|0|0" />
        <i3dMapping id="wheelBackLeft" node="0>0|1|1|0" />
        <i3dMapping id="wheelBackRight" node="0>0|1|1|1" />
        <i3dMapping id="cameraRot" node="0>0|2|0" />
        <i3dMapping id="camera" node="0>0|2|0|0" />
        <i3dMapping id="exitPoint" node="0>0|3" />
        <i3dMapping id="beltPart1" node="0>0|4|0" />
        <i3dMapping id="beltPart2Mover" node="0>0|4|0|0|0" />
        <i3dMapping id="beltPart2Joint" node="0>0|4|0|0|0|0" />
        <i3dMapping id="beltPart2" node="0>0|4|0|0|0|1" />
        <i3dMapping id="belt2WheelsDummyRot" node="0>0|4|0|0|0|1|0" />
        <i3dMapping id="belt2WheelsDummy" node="0>0|4|0|0|0|1|0|0" />
        <i3dMapping id="belt2WheelsDummyLeftRot" node="0>0|4|0|0|0|1|0|0|0" />
        <i3dMapping id="belt2WheelsDummyRightRot" node="0>0|4|0|0|0|1|0|0|1" />
        <i3dMapping id="conveyorAttacher" node="0>0|4|0|0|0|1|1" />
        <i3dMapping id="effectBelt2" node="0>0|4|0|0|0|1|2|0" />
        <i3dMapping id="belt2" node="0>0|4|0|0|0|1|3" />
        <i3dMapping id="exactFillRootNode" node="0>0|4|0|0|0|1|4" />
        <i3dMapping id="fillAutoAimTargetNode" node="0>0|4|0|0|0|1|4|0" />
        <i3dMapping id="hydraulicBeltPart1Ref" node="0>0|4|0|1" />
        <i3dMapping id="dischargeNodeRotRefFrame" node="0>0|4|0|2" />
        <i3dMapping id="dischargeNodeRot" node="0>0|4|0|2|0" />
        <i3dMapping id="dischargeNode" node="0>0|4|0|2|0|0" />
        <i3dMapping id="conveyorAttacherInput" node="0>0|4|0|3" />
        <i3dMapping id="effectBelt1" node="0>0|4|0|4|0" />
        <i3dMapping id="belt1" node="0>0|4|0|5" />
        <i3dMapping id="tc816_alphaMeshes" node="0>0|4|0|6|2" />
        <i3dMapping id="hydraulicBeltPart1" node="0>0|4|1" />
        <i3dMapping id="hydraulicBeltPart1Punch" node="0>0|4|1|0" />
        <i3dMapping id="belt2Wheels" node="1>0" />
        <i3dMapping id="wheelLeftPart2Repr" node="1>0|0" />
        <i3dMapping id="wheelLeftPart2DriveNode" node="1>0|0|0" />
        <i3dMapping id="belt2WheelsDummyRef" node="1>0|0|1" />
        <i3dMapping id="wheelRightPart2Repr" node="1>0|1" />
        <i3dMapping id="wheelRightPart2DriveNode" node="1>0|1|0" />
        <i3dMapping id="beltPart2Ref" node="1>1" />
    </i3dMappings>
</vehicle>
