This commit is contained in:
2025-01-22 03:14:20 +01:00
commit e8ddb83920
10 changed files with 23397 additions and 0 deletions
@@ -0,0 +1,421 @@
<ModelBehaviors>
<Template Name="MD11_IntegralLighting_Template">
<DefaultTemplateParameters>
<NODE_ID />
<VAR_NAME />
<INTENSITY>0.3</INTENSITY>
</DefaultTemplateParameters>
<Component ID="MD11_IntegralLighting_#NODE_ID#" Node="#NODE_ID#">
<UseTemplate Name="ASOBO_GT_Part_ID" />
<Material>
<EmissiveFactor>
<Parameter>
<Code>(L:#VAR_NAME#, enum) 0.1 * #INTENSITY# * </Code>
</Parameter>
<OverrideBaseEmissive>True</OverrideBaseEmissive>
</EmissiveFactor>
</Material>
</Component>
</Template>
<Template Name="MD11_Annunciator_Template">
<DefaultTemplateParameters>
<NODE_ID />
<VAR_NAME>MD11_LTS_BRT_DIM</VAR_NAME>
<INTENSITY>1.8</INTENSITY>
</DefaultTemplateParameters>
<Component ID="MD11_Annunciator_#NODE_ID#" Node="#NODE_ID#">
<UseTemplate Name="ASOBO_GT_Part_ID" />
<Material>
<EmissiveFactor>
<Parameter>
<Code>(L:#VAR_NAME#, percent over 100) 2.7 pow #INTENSITY# * </Code>
</Parameter>
<OverrideBaseEmissive>True</OverrideBaseEmissive>
</EmissiveFactor>
</Material>
</Component>
</Template>
<Template Name="MD11_Floodlight_bulbs">
<DefaultTemplateParameters>
<NODE_ID />
<VAR_NAME />
<INDEX />
<UNITS />
<INTENSITY>3.0</INTENSITY>
</DefaultTemplateParameters>
<Component ID="MD11_Flood_#NODE_ID#" Node="#NODE_ID#">
<UseTemplate Name="ASOBO_GT_Part_ID" />
<Material>
<EmissiveFactor>
<Parameter>
<Code>(A:#VAR_NAME#:#INDEX#, #UNITS#) 1.3 pow 0.1 * #INTENSITY# * </Code>
</Parameter>
<OverrideBaseEmissive>True</OverrideBaseEmissive>
</EmissiveFactor>
</Material>
</Component>
</Template>
<!-- KHOFMANN START -->
<Template Name="MD11_2Pos_Switch">
<Parameters Type="Default">
<ANIM_LENGTH>10</ANIM_LENGTH>
<ANIM_LAG>100</ANIM_LAG>
<CODE />
</Parameters>
<Component ID="#NODE_NAME#" Node="#NODE_NAME#">
<UseTemplate Name="ASOBO_GT_Switch_Code">
<Condition Check="ANIM_NAME">
<False>
<ANIM_NAME>#NODE_NAME#</ANIM_NAME>
</False>
</Condition>
<Condition Check="ANIM_CODE">
<False>
<ANIM_CODE>(L:#NODE_NAME#) 10 *</ANIM_CODE>
</False>
</Condition>
<ANIM_LENGTH>#ANIM_LENGTH#</ANIM_LENGTH>
<ANIM_LAG>#ANIM_LAG#</ANIM_LAG>
<LEFT_SINGLE_CODE>#CODE#</LEFT_SINGLE_CODE>
</UseTemplate>
</Component>
</Template>
<Template Name="MD11_Button">
<Parameters Type="Default">
<ANIM_LENGTH>10</ANIM_LENGTH>
<ANIM_LAG>100</ANIM_LAG>
<ANIM_DURATION>0.1</ANIM_DURATION>
<CODE_PRESS />
<CODE_RELEASE />
<MIN_HELD_DURATION>0.1</MIN_HELD_DURATION>
</Parameters>
<Component ID="#NODE_NAME#" Node="#NODE_NAME#">
<UseTemplate Name="ASOBO_GT_Push_Button_Held">
<Condition Check="ANIM_NAME">
<False>
<ANIM_NAME>#NODE_NAME#</ANIM_NAME>
</False>
</Condition>
<Condition Check="ANIM_CODE">
<False>
<ANIM_CODE>(L:#NODE_NAME#) 10 *</ANIM_CODE>
</False>
</Condition>
<ANIM_LENGTH>#ANIM_LENGTH#</ANIM_LENGTH>
<ANIM_LAG>#ANIM_LAG#</ANIM_LAG>
<ANIM_DURATION>#ANIM_DURATION#</ANIM_DURATION>
<LEFT_SINGLE_CODE>#CODE_PRESS#</LEFT_SINGLE_CODE>
<LEFT_LEAVE_CODE>#CODE_RELEASE#</LEFT_LEAVE_CODE>
<MIN_HELD_DURATION>#MIN_HELD_DURATION#</MIN_HELD_DURATION>
</UseTemplate>
</Component>
</Template>
<Template Name="MD11_Button_Guarded">
<Parameters Type="Default">
<GUARD_NODE_NAME />
<GUARD_ANIM_LENGTH>10</GUARD_ANIM_LENGTH>
<GUARD_ANIM_LAG>100</GUARD_ANIM_LAG>
<GUARD_ANIM_DURATION>0.1</GUARD_ANIM_DURATION>
<GUARD_CODE />
<BUTTON_NODE_NAME />
<BUTTON_ANIM_LENGTH>10</BUTTON_ANIM_LENGTH>
<BUTTON_ANIM_LAG>100</BUTTON_ANIM_LAG>
<BUTTON_ANIM_DURATION>0.1</BUTTON_ANIM_DURATION>
<BUTTON_CODE_PRESS />
<BUTTON_CODE_RELEASE />
<BUTTON_MIN_HELD_DURATION>0.1</BUTTON_MIN_HELD_DURATION>
</Parameters>
<Component ID="#GUARD_NODE_NAME##BUTTON_NODE_NAME#">
<Component ID="#GUARD_NODE_NAME#" Node="#GUARD_NODE_NAME#">
<UseTemplate Name="ASOBO_GT_Switch_Code">
<Condition Check="GUARD_ANIM_NAME">
<True>
<ANIM_NAME>#GUARD_ANIM_NAME#</ANIM_NAME>
</True>
<False>
<ANIM_NAME>#GUARD_NODE_NAME#</ANIM_NAME>
</False>
</Condition>
<Condition Check="GUARD_ANIM_CODE">
<True>
<ANIM_CODE>#GUARD_ANIM_CODE#</ANIM_CODE>
</True>
<False>
<ANIM_CODE>(L:#GUARD_NODE_NAME#) 10 *</ANIM_CODE>
</False>
</Condition>
<ANIM_LENGTH>#GUARD_ANIM_LENGTH#</ANIM_LENGTH>
<ANIM_LAG>#GUARD_ANIM_LAG#</ANIM_LAG>
<ANIM_DURATION>#GUARD_ANIM_DURATION#</ANIM_DURATION>
<LEFT_SINGLE_CODE>#GUARD_CODE#</LEFT_SINGLE_CODE>
</UseTemplate>
</Component>
<Component ID="#BUTTON_NODE_NAME#" Node="#BUTTON_NODE_NAME#">
<UseTemplate Name="ASOBO_GT_Push_Button_Held">
<Condition Check="BUTTON_ANIM_NAME">
<True>
<ANIM_NAME>#BUTTON_ANIM_NAME#</ANIM_NAME>
</True>
<False>
<ANIM_NAME>#BUTTON_NODE_NAME#</ANIM_NAME>
</False>
</Condition>
<Condition Check="BUTTON_ANIM_CODE">
<True>
<ANIM_CODE>#BUTTON_ANIM_CODE#</ANIM_CODE>
</True>
<False>
<ANIM_CODE>(L:#BUTTON_NODE_NAME#) 100 *</ANIM_CODE>
</False>
</Condition>
<ANIM_LENGTH>#BUTTON_ANIM_LENGTH#</ANIM_LENGTH>
<ANIM_LAG>#BUTTON_ANIM_LAG#</ANIM_LAG>
<ANIM_DURATION>#BUTTON_ANIM_DURATION#</ANIM_DURATION>
<LEFT_SINGLE_CODE>#BUTTON_CODE_PRESS#</LEFT_SINGLE_CODE>
<LEFT_LEAVE_CODE>#BUTTON_CODE_RELEASE#</LEFT_LEAVE_CODE>
<MIN_HELD_DURATION>#BUTTON_MIN_HELD_DURATION#</MIN_HELD_DURATION>
</UseTemplate>
</Component>
</Component>
</Template>
<Template Name="MD11_3Pos_Switch">
<Parameters Type="Default">
<ANIM_LENGTH>10</ANIM_LENGTH>
<ANIM_LAG>100</ANIM_LAG>
<INC_CODE />
<DEC_CODE />
<DRAG_THRESHOLD>0.35</DRAG_THRESHOLD>
<SWITCH_DIRECTION>Vertical</SWITCH_DIRECTION>
</Parameters>
<Parameters Type="Override">
<Switch Param="SWITCH_DIRECTION">
<Case Value="Vertical">
<AXIS>Y</AXIS>
</Case>
<Case Value="Horizontal">
<AXIS>X</AXIS>
</Case>
</Switch>
<Condition Check="ANIM_NAME">
<False>
<ANIM_NAME>#NODE_NAME#</ANIM_NAME>
</False>
</Condition>
<Condition Check="VAR_NAME">
<False>
<VAR_NAME>#NODE_NAME#</VAR_NAME>
</False>
</Condition>
</Parameters>
<Component ID="#NODE_NAME#" Node="#NODE_NAME#">
<Condition Check="ANIM_CODE">
<True>
<Animation Name="#ANIM_NAME#" Length="#ANIM_LENGTH#" Type="Sim"
TypeParam="AutoPlay">
<Parameter>
<Code>#ANIM_CODE#</Code>
<Lag>#ANIM_LAG#</Lag>
</Parameter>
</Animation>
</True>
<False>
<Animation Name="#ANIM_NAME#" Length="#ANIM_LENGTH#" Type="Sim"
TypeParam="AutoPlay">
<Parameter>
<Code>(L:#NODE_NAME#) 5 *</Code>
<Lag>#ANIM_LAG#</Lag>
</Parameter>
</Animation>
</False>
</Condition>
<MouseRect>
<IMCursorsInstances>
<IMDefault>
<CursorUp>UpArrow</CursorUp>
<CursorDown>DownArrow</CursorDown>
<Cursor>Dynamic</Cursor>
</IMDefault>
<IMDrag>
<Cursor>Grab</Cursor>
</IMDrag>
</IMCursorsInstances>
<IMMouseFlagsInstances>
<IMDefault>LeftSingle+LeftRelease+WheelUp+WheelDown</IMDefault>
<IMDrag>Lock+Unlock+LeftDrag+Wheel</IMDrag>
</IMMouseFlagsInstances>
<Lock>True</Lock>
<LockFlagsTemporary>LeftSingle</LockFlagsTemporary>
<HighlightNodeId>#NODE_NAME#</HighlightNodeId>
<CallbackCode>
<IMCodeInstances>
<IMDefault>
(M:Event) 'LeftSingle' scmi 0 == if{ (M:Relative#AXIS#) 0 &gt; if{ #INC_CODE# }
(M:Relative#AXIS#) 0 &lt; if{ #DEC_CODE# } }
(M:Event) 'WheelUp' scmi 0 == if{ #INC_CODE# }
(M:Event) 'WheelDown' scmi 0 == if{ #DEC_CODE# }
</IMDefault>
<IMDrag>
(M:Event) 'WheelUp' scmi 0 == if{ #INC_CODE# }
(M:Event) 'WheelDown' scmi 0 == if{ #DEC_CODE# }
(M:Event) 'Lock' scmi 0 == if{ (L:#VAR_NAME#) 2 / (&gt;O:InitialPosition) }
(M:Event) 'Unlock' scmi 0 == if{ 0 (&gt;O:IsThresholdExceeded) }
(M:Event) 'LeftDrag' scmi 0 == if{ (O:IsThresholdExceeded) ! if{ (M:DragPercent)
(O:InitialPosition) - (&gt;O:DragChange) (O:DragChange) #DRAG_THRESHOLD# &gt;= if{
#INC_CODE# 1 (&gt;O:IsThresholdExceeded) } (O:DragChange) -#DRAG_THRESHOLD# &lt;=
if{ #DEC_CODE# 1 (&gt;O:IsThresholdExceeded) } } }
</IMDrag>
</IMCodeInstances>
<DragMode>Trajectory</DragMode>
<DragAnimName>#ANIM_NAME#</DragAnimName>
<DragNodeId>#NODE_NAME#</DragNodeId>
<DragAnimSynced>True</DragAnimSynced>
<DragUseAnimLag>True</DragUseAnimLag>
<DragAxis>#AXIS#</DragAxis>
<DragFlagsLockable>LeftDrag+RightDrag+MiddleDrag</DragFlagsLockable>
</CallbackCode>
</MouseRect>
</Component>
</Template>
<Template Name="MD11_3Pos_Switch_Guarded">
<Parameters Type="Default">
<GUARD_ANIM_LENGTH>10</GUARD_ANIM_LENGTH>
<GUARD_ANIM_LAG>100</GUARD_ANIM_LAG>
<GUARD_ANIM_DURATION>0.1</GUARD_ANIM_DURATION>
<SWITCH_ANIM_LENGTH>10</SWITCH_ANIM_LENGTH>
<SWITCH_ANIM_LAG>100</SWITCH_ANIM_LAG>
<SWITCH_INC_CODE />
<SWITCH_DEC_CODE />
<SWITCH_DRAG_THRESHOLD>0.35</SWITCH_DRAG_THRESHOLD>
<SWITCH_DIRECTION>Vertical</SWITCH_DIRECTION>
</Parameters>
<Parameters Type="Override">
<Switch Param="SWITCH_DIRECTION">
<Case Value="Vertical">
<AXIS>Y</AXIS>
</Case>
<Case Value="Horizontal">
<AXIS>X</AXIS>
</Case>
</Switch>
<Condition Check="SWITCH_ANIM_NAME">
<False>
<SWITCH_ANIM_NAME>#SWITCH_NODE_NAME#</SWITCH_ANIM_NAME>
</False>
</Condition>
<Condition Check="SWITCH_VAR_NAME">
<False>
<SWITCH_VAR_NAME>#SWITCH_NODE_NAME#</SWITCH_VAR_NAME>
</False>
</Condition>
</Parameters>
<Component ID="#GUARD_NODE_NAME##SWITCH_NODE_NAME#">
<Component ID="#GUARD_NODE_NAME#" Node="#GUARD_NODE_NAME#">
<UseTemplate Name="ASOBO_GT_Switch_Code">
<Condition Check="GUARD_ANIM_NAME">
<True>
<ANIM_NAME>#GUARD_ANIM_NAME#</ANIM_NAME>
</True>
<False>
<ANIM_NAME>#GUARD_NODE_NAME#</ANIM_NAME>
</False>
</Condition>
<Condition Check="GUARD_ANIM_CODE">
<True>
<ANIM_CODE>#GUARD_ANIM_CODE#</ANIM_CODE>
</True>
<False>
<ANIM_CODE>(L:#GUARD_NODE_NAME#) 10 *</ANIM_CODE>
</False>
</Condition>
<ANIM_LENGTH>#GUARD_ANIM_LENGTH#</ANIM_LENGTH>
<ANIM_LAG>#GUARD_ANIM_LAG#</ANIM_LAG>
<ANIM_DURATION>#GUARD_ANIM_DURATION#</ANIM_DURATION>
<LEFT_SINGLE_CODE>#GUARD_CODE#</LEFT_SINGLE_CODE>
</UseTemplate>
</Component>
<Component ID="#SWITCH_NODE_NAME#" Node="#SWITCH_NODE_NAME#">
<Condition Check="SWITCH_ANIM_CODE">
<True>
<Animation Name="#SWITCH_ANIM_NAME#" Length="#SWITCH_ANIM_LENGTH#" Type="Sim"
TypeParam="AutoPlay">
<Parameter>
<Code>#SWITCH_ANIM_CODE#</Code>
<Lag>#SWITCH_ANIM_LAG#</Lag>
</Parameter>
</Animation>
</True>
<False>
<Animation Name="#SWITCH_ANIM_NAME#" Length="#SWITCH_ANIM_LENGTH#" Type="Sim"
TypeParam="AutoPlay">
<Parameter>
<Code>(L:#SWITCH_NODE_NAME#) 5 *</Code>
<Lag>#SWITCH_ANIM_LAG#</Lag>
</Parameter>
</Animation>
</False>
</Condition>
<MouseRect>
<IMCursorsInstances>
<IMDefault>
<CursorUp>UpArrow</CursorUp>
<CursorDown>DownArrow</CursorDown>
<Cursor>Dynamic</Cursor>
</IMDefault>
<IMDrag>
<Cursor>Grab</Cursor>
</IMDrag>
</IMCursorsInstances>
<IMMouseFlagsInstances>
<IMDefault>LeftSingle+LeftRelease+WheelUp+WheelDown</IMDefault>
<IMDrag>Lock+Unlock+LeftDrag+Wheel</IMDrag>
</IMMouseFlagsInstances>
<Lock>True</Lock>
<LockFlagsTemporary>LeftSingle</LockFlagsTemporary>
<HighlightNodeId>#SWITCH_NODE_NAME#</HighlightNodeId>
<CallbackCode>
<IMCodeInstances>
<IMDefault>
(M:Event) 'LeftSingle' scmi 0 == if{ (M:Relative#AXIS#) 0 &gt; if{
#SWITCH_INC_CODE#
}
(M:Relative#AXIS#) 0 &lt; if{ #SWITCH_DEC_CODE# } }
(M:Event) 'WheelUp' scmi 0 == if{ #SWITCH_INC_CODE# }
(M:Event) 'WheelDown' scmi 0 == if{ #SWITCH_DEC_CODE# }
</IMDefault>
<IMDrag>
(M:Event) 'WheelUp' scmi 0 == if{ #SWITCH_INC_CODE# }
(M:Event) 'WheelDown' scmi 0 == if{ #SWITCH_DEC_CODE# }
(M:Event) 'Lock' scmi 0 == if{ (L:#SWITCH_VAR_NAME#) 2 / (&gt;O:InitialPosition) }
(M:Event) 'Unlock' scmi 0 == if{ 0 (&gt;O:IsThresholdExceeded) }
(M:Event) 'LeftDrag' scmi 0 == if{ (O:IsThresholdExceeded) ! if{ (M:DragPercent)
(O:InitialPosition) - (&gt;O:DragChange) (O:DragChange) #SWITCH_DRAG_THRESHOLD#
&gt;= if{
#SWITCH_INC_CODE# 1 (&gt;O:IsThresholdExceeded) } (O:DragChange)
-#SWITCH_DRAG_THRESHOLD# &lt;=
if{ #SWITCH_DEC_CODE# 1 (&gt;O:IsThresholdExceeded) } } }
</IMDrag>
</IMCodeInstances>
<DragMode>Trajectory</DragMode>
<DragAnimName>#SWITCH_ANIM_NAME#</DragAnimName>
<DragNodeId>#SWITCH_NODE_NAME#</DragNodeId>
<DragAnimSynced>True</DragAnimSynced>
<DragUseAnimLag>True</DragUseAnimLag>
<DragAxis>#AXIS#</DragAxis>
<DragFlagsLockable>LeftDrag+RightDrag+MiddleDrag</DragFlagsLockable>
</CallbackCode>
</MouseRect>
</Component>
</Component>
</Template>
<!-- KHOFMANN END -->
</ModelBehaviors>