﻿<?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>SL 80-22 Quantum</name>
        <functions>
            <function>$l10n_function_beltSystem</function>
        </functions>
        <image>$data/vehicles/grimme/sl8022/store_sl8022.png</image>
        <price>38000</price>
        <lifetime>600</lifetime>
        <rotation>0</rotation>
        <brand>GRIMME</brand>
        <category>belts</category>
        <shopTranslationOffset>0 -0.019 -4.5</shopTranslationOffset>
        <shopRotationOffset>-0.069 0 0</shopRotationOffset>
        <vertexBufferMemoryUsage>1651200</vertexBufferMemoryUsage>
        <indexBufferMemoryUsage>276736</indexBufferMemoryUsage>
        <textureMemoryUsage>2097152</textureMemoryUsage>
        <instanceVertexBufferMemoryUsage>0</instanceVertexBufferMemoryUsage>
        <instanceIndexBufferMemoryUsage>0</instanceIndexBufferMemoryUsage>
        <audioMemoryUsage>200072</audioMemoryUsage>
    </storeData>

    <base>
        <typeDesc>$l10n_typeDesc_belt</typeDesc>
        <filename>$data/vehicles/grimme/sl8022/sl8022.i3d</filename>
        <sounds filename="$data/vehicles/grimme/sl8022/sounds/sl8022.xml"/>
        <size width="4" length="14.0" lengthOffset="-1.5" />
        <components>
            <component centerOfMass="0 0.6 1" solverIterationCount="10" mass="8200"/>
        </components>
        <schemaOverlay attacherJointPosition="0 0" name="IMPLEMENT" />
        <mapHotspot type="OTHER" />
    </base>

    <wheels>
        <wheelConfigurations>
            <wheelConfiguration name="$l10n_configuration_valueDefault" price="0">
                <wheels autoRotateBackSpeed="1.6">
                    <wheel hasParticles="true" filename="$data/shared/wheels/tires/trelleborg/T510/4_00R8.xml">
                        <physics rotSpeed="1" restLoad="2.3" repr="wheelFrontRot" driveNode="wheelFront"     useReprDirection="true" radius="0.225" width="0.3"                 initialCompression="35" suspTravel="0.1" spring="60" damper="30" mass="0.3" brakeFactor="0" />
                    </wheel>
                    <wheel hasTireTracks="true" hasParticles="true" >
                        <physics rotSpeed="0" restLoad="3.4" repr="wheelLeftRepr" driveNode="wheelLeft"      useReprDirection="true" radius="0.466" width="0.3" xOffset="0.05"  initialCompression="35" suspTravel="0.1" spring="85" damper="30" mass="0.2" />
                        <tire tireTrackAtlasIndex="4" />
                    </wheel>
                    <wheel hasTireTracks="true" hasParticles="true">
                        <physics rotSpeed="0" restLoad="3.2" repr="reprNode"      driveNode="wheelRightRot2" useReprDirection="true" radius="0.466" width="0.3" xOffset="-0.05" initialCompression="35" suspTravel="0.1" spring="85" damper="30" mass="0.2" />
                        <tire tireTrackAtlasIndex="4" />
                    </wheel>
                </wheels>
            </wheelConfiguration>
        </wheelConfigurations>

        <rimColor material="18">SHARED_WHITE1</rimColor>

        <hubs>
            <color0>GRIMME_RED1</color0>
            <color1>SHARED_GREY3</color1>
            <hub linkNode="wheelLeft"  filename="$data/shared/wheels/hubs/hub_n10_5.xml" isLeft="true"  scale="0.2 0.25 0.25" />
            <hub linkNode="wheelRight" filename="$data/shared/wheels/hubs/hub_n10_5.xml" isLeft="false" scale="0.2 0.25 0.25" />
        </hubs>

        <dynamicallyLoadedWheels>
            <dynamicallyLoadedWheel linkNode="wheelLeft" filename="$data/shared/wheels/tires/trelleborg/AW309/500_50R17.xml" isLeft="true"/>
            <dynamicallyLoadedWheel linkNode="wheelRight" filename="$data/shared/wheels/tires/trelleborg/AW309/500_50R17.xml" isLeft="false"/>
            <dynamicallyLoadedWheel linkNode="wheelFront1" filename="$data/shared/wheels/tires/trelleborg/T510/4_00R8.xml" isLeft="false"/>
        </dynamicallyLoadedWheels>

        <ackermannSteeringConfigurations>
            <ackermannSteering rotSpeed="65" rotMax="70" rotCenterWheel1="2" rotCenterWheel2="3" rotCenterNode="rotCenterNode" />
        </ackermannSteeringConfigurations>
    </wheels>


    <speedRotatingParts>
        <speedRotatingPart node="wheelFront1" wheelIndex="1"/>
    </speedRotatingParts>

    <attachable>
        <inputAttacherJoints>
            <inputAttacherJoint node="attacherJoint" jointType="implement" needsToolbar="true" needsLowering="false" allowsLowering="false" lowerRotLimitScale="1 3.2 2" upperRotLimitScale="1 3.2 2" upperTransLimitScale="0 1 0">
                <distanceToGround lower="0.632" upper="0.7" />
            </inputAttacherJoint>
        </inputAttacherJoints>
        <brakeForce force="1.3"/>
    </attachable>

    <attacherJoints>
        <attacherJoint node="attacherJointConveyor" jointType="conveyor" lowerRotLimit="50 120 120" allowsLowering="false" >
            <schema position="1 0" rotation="0" invertX="false" />
        </attacherJoint>
        <sounds>
            <attach template="ATTACH_01" linkNode="0>" />
        </sounds>
    </attacherJoints>

    <dynamicallyLoadedParts>
        <dynamicallyLoadedPart node="0" linkNode="chockSupport01" filename="$data/shared/assets/wheelChocks/wheelChockSupport01.i3d"/>
        <dynamicallyLoadedPart node="0" linkNode="chockSupport02" filename="$data/shared/assets/wheelChocks/wheelChockSupport01.i3d"/>
        <dynamicallyLoadedPart node="0" linkNode="wheelChock03" filename="$data/shared/assets/wheelChocks/wheelChock03.i3d"/>
        <dynamicallyLoadedPart node="0" linkNode="wheelChock04" filename="$data/shared/assets/wheelChocks/wheelChock03.i3d"/>
    </dynamicallyLoadedParts>

    <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="7" transMax="40" translation="0 0 11.1" rotation="-20 180 0" >
                <raycastNode node="cameraRaycastNode1" />
                <raycastNode node="cameraRaycastNode2" />
                <raycastNode node="cameraRaycastNode3" />
            </camera>
        </cameras>
         <forceSelectionOnEnter>true</forceSelectionOnEnter>
    </enterable>

    <motorized forceSpeedHudDisplay="true">
        <differentialConfigurations>
            <differentialConfiguration>
                <differentials>
                    <differential torqueRatio="0.5" maxSpeedRatio="15" wheelIndex1="2" wheelIndex2="3" />
                </differentials>
            </differentialConfiguration>
        </differentialConfigurations>

        <motorConfigurations>
            <motorConfiguration name="SL 80-22 Quantum" hp="5" price="0">
                <motor torqueScale="0.2" minRpm="850" maxRpm="2200" minSpeed="0.01" maxForwardSpeed="5" maxBackwardSpeed="5" brakeForce="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="topArm">
            <effect index="3" inverted="false" minOffset="0" maxOffset="4.4" />
        </offset>
        <animationNodes>
            <animationNode class="ScrollingAnimation" node="beltFront"  shaderParameterComponent="2" scrollSpeed="0.5"  turnOnFadeTime="0.1" turnOffFadeTime="0.1" />
            <animationNode class="ScrollingAnimation" node="beltBottom" shaderParameterComponent="2" scrollSpeed="-0.3" turnOnFadeTime="0.1" turnOffFadeTime="0.1" />
            <animationNode class="ScrollingAnimation" node="beltTop"    shaderParameterComponent="2" scrollSpeed="-0.3" turnOnFadeTime="0.1" turnOffFadeTime="0.1" />
        </animationNodes>
        <effects>
            <effectNode effectClass="ConveyorBeltEffect" effectNode="effectBeltFront"  materialType="belt" delay="0"   fadeTime="0.5" speed="0.7" scrollLength="1"  scrollSpeed="0.8" />
            <effectNode effectClass="ConveyorBeltEffect" effectNode="effectBeltBottom" materialType="belt" delay="0.5" fadeTime="5"   speed="0.7" scrollLength="10" scrollSpeed="0.8" />
            <effectNode effectClass="ConveyorBeltEffect" effectNode="effectBeltTop"    materialType="belt" delay="5.5" fadeTime="5"   speed="0.7" scrollLength="10" 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 requiresTipOcclusionArea="false" stopDischargeOnDeactivate="false">
        <dischargeNode node="dischargeNode" emptySpeed="175" fillUnitIndex="1" canStartDischargeAutomatically="true">
            <info width="0.4" length="0.4" />
            <effects>
                <effectNode effectClass="PipeEffect" effectNode="pipeUnloadEffect" materialType="pipe"  delay="0" maxBending="1"  positionUpdateNodes="pipeSmokeEffect" shapeScaleSpread="1 1 0 0" />
                <effectNode                          effectNode="pipeSmokeEffect" materialType="unloadingSmoke" delay="0"  alignToWorldY="true"/>
            </effects>
        </dischargeNode>
    </dischargeable>

    <foldable>
        <foldingConfigurations>
            <foldingConfiguration>
                <foldingParts startMoveDirection="-1" turnOnFoldDirection="1" >
                    <foldingPart animationName="folding" speedScale="1" />
                </foldingParts>
            </foldingConfiguration>
        </foldingConfigurations>
    </foldable>

    <animations>
        <animation name="folding">
            <part node="wheelMountLeft"  startTime="0" endTime="3" startRot="0 0 0" endRot="0 77 0" />
            <part node="wheelMountRight" startTime="0" endTime="3" startRot="0 0 0" endRot="0 -77 0" />
            <part node="reprNodeRot"     startTime="0" endTime="3" startRot="0 0 0" endRot="0 180 0" />
            <part node="wheelRightRot1"  startTime="0" endTime="0.0001" startRot="0 0 0" endRot="0 180 0" />
            <part node="wheelRight" startTime="0" endTime="0.0001" startRot="0 0 0" endRot="0 180 0" />

            <sound template="defaultHydraulicSound" startTime="0.01" endTime="2.99" volumeScale="1.4" pitchScale="0.7"/>
            <sound template="clackVar4"             startTime="2.99" direction="1"  volumeScale="1.1" pitchScale="2"/>
            <sound template="sheetImp02"            startTime="0.01" direction="-1" volumeScale="1.1" pitchScale="1.4"/>
        </animation>
    </animations>

    <cylindered>
        <movingTools>
            <movingTool node="bottomArm" playSound="true" >
                <controls axis="AXIS_CRANE_ARM2" invertAxis="false" mouseSpeedFactor="1.0" iconName="CRANE_ARM1_ROTATE_X" />
                <rotation rotSpeed="4" rotAcceleration="15" rotMax="20" rotMin="0" rotationAxis="1" />
                <dependentPart node="hydraulicMainLeft"/>
                <dependentPart node="hydraulicMainRight"/>
                <dependentPart node="conveyorProtection"/>
            </movingTool>
            <movingTool node="topArm" playSound="true">
                <controls axis="AXIS_CRANE_ARM4" invertAxis="true" mouseSpeedFactor="0.8" iconName="CRANE_ARM2_TRANSLATE" />
                <translation transSpeed="1.2" transAcceleration="15" transMax="-5.934" transMin="-14.934" translationAxis="3" />
            </movingTool>
            <movingTool node="wheelMountLeft" wheelIndices="2" />
            <movingTool node="reprNodeRot" wheelIndices="3" />
        </movingTools>

        <movingParts>
            <movingPart node="hydraulicMainLeft" referencePoint="hydraulicMainLeftRef" referenceFrame="hydraulicMainLeftRef" >
                <translatingPart node="hydraulicMainLeftPunch"/>
            </movingPart>
            <movingPart node="hydraulicMainRight" referencePoint="hydraulicMainRightRef" referenceFrame="hydraulicMainRightRef" >
                <translatingPart node="hydraulicMainRightPunch"/>
            </movingPart>
            <movingPart node="conveyorProtection" referencePoint="conveyorProtectionRef" referenceFrame="conveyorProtectionRef"/>
            <movingPart node="dischargeNodeRot" referenceFrame="dischargeNodeRotRefFrame" alignToWorldY="true" isActiveDirty="true" maxUpdateDistance="100"/>
            <movingPart node="hydraulicSteering" referencePoint="hydraulicSteeringRef" referenceFrame="hydraulicSteeringRef" isActiveDirty="true" maxUpdateDistance="100">
                <translatingPart node="hydraulicSteeringPunch"/>
            </movingPart>
        </movingParts>

        <sounds>
            <actionSound template="defaultHydraulicSound" pitchScale="1.2" volumeScale="0.8" linkNode="hydraulicMainLeft" actionNames="TRANSLATING_POS TRANSLATING_NEG" nodes="hydraulicMainLeft" fadeIn="0.1" fadeOut="0.05"/>
            <actionSound template="defaultHydraulicSound" pitchScale="1"   volumeScale="1"   linkNode="topArm"            actionNames="TOOL_MOVE_NEG TOOL_MOVE_POS"     nodes="topArm"/>
            <actionSound template="clackVar6"             pitchScale="0.8" volumeScale="1"   linkNode="topArm"            actionNames="TOOL_MOVE_END_POS_LIMIT"         nodes="topArm"/>
            <actionSound template="sheetImp02"            pitchScale="0.9" volumeScale="0.7" linkNode="topArm"            actionNames="TOOL_MOVE_END_POS_LIMIT"         nodes="topArm"/>
            <actionSound template="clackVar6"             pitchScale="1"   volumeScale="0.7" linkNode="topArm"            actionNames="TOOL_MOVE_END_NEG_LIMIT"         nodes="topArm"/>
            <actionSound template="clackVar4"             pitchScale="2.3" volumeScale="0.4" linkNode="topArm"            actionNames="TOOL_MOVE_END_NEG_LIMIT"         nodes="topArm"/>
            <actionSound template="clackVar6"             pitchScale="0.8" volumeScale="1"   linkNode="hydraulicMainLeft" actionNames="TOOL_MOVE_END_NEG_LIMIT"         nodes="bottomArm"/>
            <actionSound template="metalLowVar2"          pitchScale="0.7" volumeScale="0.8" linkNode="hydraulicMainLeft" actionNames="TOOL_MOVE_END_NEG_LIMIT"         nodes="bottomArm"/>
            <actionSound template="clackVar4"             pitchScale="0.7" volumeScale="0.3" linkNode="hydraulicMainLeft" actionNames="TOOL_MOVE_END_NEG_LIMIT"         nodes="bottomArm"/>
            <actionSound template="clackVar6"             pitchScale="1"   volumeScale="1"   linkNode="hydraulicMainLeft" actionNames="TOOL_MOVE_END_POS_LIMIT"         nodes="bottomArm"/>
            <actionSound template="metalClose"            pitchScale="0.8" volumeScale="0.2" linkNode="hydraulicMainLeft" actionNames="TOOL_MOVE_END_POS_LIMIT"         nodes="bottomArm"/>
        </sounds>
    </cylindered>

    <foliageBending>
        <bendingNode minX="-1.45" maxX="1.45" minZ="-0.55" maxZ="0.5" yOffset="0.5" />
        <bendingNode minX="-1.15" maxX="1.15" minZ="0.5" maxZ="4.5" yOffset="0.5" />
        <bendingNode minX="-0.6" maxX="0.45" minZ="-10.7" maxZ="-3.5" yOffset="-0.4" node="bottomArm" />
        <bendingNode minX="-0.6" maxX="0.45" minZ="-5.4" maxZ="4.25" yOffset="-0.25" node="topArm" />
    </foliageBending>

    <ai>
        <conveyorBelt minAngle="5" maxAngle="50" stepSize="5" speed="1" />
        <agentAttachment jointNode="attacherJoint" rotCenterWheelIndices="1 2" width="1.8" height="3" length="12" lengthOffset="-3.5"/>
    </ai>

    <baseMaterial>
        <material name="sl8022_mat" baseNode="sl8022_vis">
            <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="sl8022_main_component1" node="0>" />
        <i3dMapping id="sl8022_vis" node="0>0" />
        <i3dMapping id="attacherJoint" node="0>0|0|0" />
        <i3dMapping id="attacherJointConveyor" node="0>0|0|1" />
        <i3dMapping id="wheelMountLeft" node="0>0|1|0" />
        <i3dMapping id="wheelLeft" node="0>0|1|0|0" />
        <i3dMapping id="hydraulicSteeringRef" node="0>0|1|0|1" />
        <i3dMapping id="wheelLeftRepr" node="0>0|1|0|2" />
        <i3dMapping id="wheelMountRight" node="0>0|1|1" />
        <i3dMapping id="hydraulicSteering" node="0>0|1|1|0" />
        <i3dMapping id="hydraulicSteeringPunch" node="0>0|1|1|0|0" />
        <i3dMapping id="reprNodeRot" node="0>0|1|1|1" />
        <i3dMapping id="reprNode" node="0>0|1|1|1|0" />
        <i3dMapping id="wheelRightRot1" node="0>0|1|1|2" />
        <i3dMapping id="wheelRightRot2" node="0>0|1|1|2|0" />
        <i3dMapping id="wheelRight" node="0>0|1|1|2|0|0" />
        <i3dMapping id="wheelFrontRot" node="0>0|1|2" />
        <i3dMapping id="wheelFront" node="0>0|1|2|0" />
        <i3dMapping id="wheelFront1" node="0>0|1|2|1" />
        <i3dMapping id="rotCenterNode" node="0>0|1|3" />
        <i3dMapping id="fillAutoAimTargetNode" node="0>0|2" />
        <i3dMapping id="cameraRot" node="0>0|3" />
        <i3dMapping id="camera" node="0>0|3|0" />
        <i3dMapping id="exitPoint" node="0>0|4" />
        <i3dMapping id="cameraRaycastNode1" node="0>0|5" />
        <i3dMapping id="dischargeNodeRotRefFrame" node="0>0|6" />
        <i3dMapping id="exactFillRootNode" node="0>0|7" />
        <i3dMapping id="bottomArm" node="0>0|8|0" />
        <i3dMapping id="topArm" node="0>0|8|0|0" />
        <i3dMapping id="dischargeNodeRot" node="0>0|8|0|0|0" />
        <i3dMapping id="dischargeNode" node="0>0|8|0|0|0|0" />
        <i3dMapping id="beltTop" node="0>0|8|0|0|1" />
        <i3dMapping id="pipeUnloadEffect" node="0>0|8|0|0|1|0|0" />
        <i3dMapping id="pipeSmokeEffect" node="0>0|8|0|0|1|0|1" />
        <i3dMapping id="effectBeltTop" node="0>0|8|0|0|1|0|2" />
        <i3dMapping id="cameraRaycastNode3" node="0>0|8|0|0|2" />
        <i3dMapping id="hydraulicMainLeftRef" node="0>0|8|0|1" />
        <i3dMapping id="hydraulicMainRightRef" node="0>0|8|0|2" />
        <i3dMapping id="cameraRaycastNode2" node="0>0|8|0|3" />
        <i3dMapping id="conveyorProtectionRef" node="0>0|8|0|4" />
        <i3dMapping id="beltBottom" node="0>0|8|0|5" />
        <i3dMapping id="effectBeltBottom" node="0>0|8|0|5|0|0" />
        <i3dMapping id="hydraulicMainLeft" node="0>0|8|1" />
        <i3dMapping id="hydraulicMainLeftPunch" node="0>0|8|1|0" />
        <i3dMapping id="hydraulicMainRight" node="0>0|8|2" />
        <i3dMapping id="hydraulicMainRightPunch" node="0>0|8|2|0" />
        <i3dMapping id="conveyorProtection" node="0>0|8|3" />
        <i3dMapping id="beltFront" node="0>0|8|4" />
        <i3dMapping id="effectBeltFront" node="0>0|9|0" />
        <i3dMapping id="wheelChock03" node="0>0|10|0" />
        <i3dMapping id="wheelChock04" node="0>0|10|1" />
        <i3dMapping id="chockSupport01" node="0>0|10|2" />
        <i3dMapping id="chockSupport02" node="0>0|10|3" />
    </i3dMappings>
</vehicle>
