Author SHA1 Message Date
Kilian ea27ff7257 Walkable Pax 2025-11-01 21:59:54 +01:00
Kilian 880de68ac5 Remove HandleRel fix 2025-10-30 10:53:51 +01:00
Kilian 2e9d8743fd Fix 102 Truck Tilt 2025-10-29 22:17:17 +01:00
Kilian 40eb80062d Update 102 2025-10-23 21:46:52 +02:00
Kilian 165ebfffe3 Blinds/Trays and Lavs 2025-10-15 20:53:19 +02:00
Kilian 4e778ca82c Draggable shades 2025-10-15 15:39:05 +02:00
36 changed files with 403929 additions and 6851 deletions
+16
View File
@@ -0,0 +1,16 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch JS",
"skipFiles": ["<node_internals>/**"],
"program": "${workspaceFolder}\\scripts\\${fileBasename}",
"cwd": "${workspaceFolder}\\scripts"
}
]
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -10,9 +10,10 @@
<VisibleInStore>false</VisibleInStore>
<CanBeReferenced>false</CanBeReferenced>
</Flags>
<PackageOrderHint>SIMOBJECTS_PATCH</PackageOrderHint>
<AssetGroups>
<AssetGroup Name="ContentInfo">
<Type>ContentInfo</Type>
<Type Version="0">ContentInfo</Type>
<Flags>
<FSXCompatibility>false</FSXCompatibility>
</Flags>
@@ -20,7 +21,7 @@
<OutputDir>ContentInfo\xkhofmann-tfdidesign-md11-fixes\</OutputDir>
</AssetGroup>
<AssetGroup Name="md-11">
<Type>Copy</Type>
<Type Version="0">Copy</Type>
<Flags>
<FSXCompatibility>false</FSXCompatibility>
</Flags>
@@ -28,7 +29,7 @@
<OutputDir>SimObjects\Airplanes\</OutputDir>
</AssetGroup>
<AssetGroup Name="md-11-fixes">
<Type>SimObject</Type>
<Type Version="1">SimObject</Type>
<Flags>
<FSXCompatibility>false</FSXCompatibility>
</Flags>
@@ -41,7 +42,7 @@
</Config>
</AssetGroup>
<AssetGroup Name="md-11-templates">
<Type>Copy</Type>
<Type Version="0">Copy</Type>
<Flags>
<FSXCompatibility>false</FSXCompatibility>
</Flags>
@@ -480,4 +480,319 @@
</UseTemplate>
</Component>
</Template>
<Template Name="MD11_Shade">
<Parameters Type="Default">
<ANIM_LENGTH>100</ANIM_LENGTH>
<ANIM_LAG>1000</ANIM_LAG>
</Parameters>
<Component ID="#NODE_X_NAME#" Node="#NODE_X_NAME#">
<Animation Name="#ANIM_X_NAME#" Length="#ANIM_LENGTH#" Type="Sim"
TypeParam="AutoPlay">
<Parameter>
<Code>#ANIM_X_CODE#</Code>
<Lag>#ANIM_LAG#</Lag>
</Parameter>
</Animation>
<MouseRect>
<IMCursorsInstances>
<IMDefault>
<Cursor>Grab</Cursor>
</IMDefault>
<IMDrag>
<Cursor>Grab</Cursor>
</IMDrag>
</IMCursorsInstances>
<IMMouseFlagsInstances>
<IMDefault>Lock+Unlock+LeftDrag</IMDefault>
<IMDrag>Lock+Unlock+LeftDrag</IMDrag>
</IMMouseFlagsInstances>
<Lock>True</Lock>
<LockFlagsTemporary>LeftSingle</LockFlagsTemporary>
<HighlightNodeId>#NODE_X_NAME#</HighlightNodeId>
<CallbackCode>
<IMCodeInstances>
<IMDefault>
90 (L:#SECOND_VAR_X_NAME#) - (&gt;O:MAX)
(M:Event) 'LeftDrag' scmi 0 == if{
(L:#VAR_X_NAME#) (M:DragPercent) 100 * (L:#VAR_X_NAME#) - + (&gt;O:NEW)
(O:NEW) (O:MAX) &lt; if{
(O:NEW) (&gt;L:#VAR_X_NAME#)
}
}
</IMDefault>
<IMDrag>
90 (L:#SECOND_VAR_X_NAME#) - (&gt;O:MAX)
(M:Event) 'LeftDrag' scmi 0 == if{
(L:#VAR_X_NAME#) (M:DragPercent) 100 * (L:#VAR_X_NAME#) - + (&gt;O:NEW)
(O:NEW) (O:MAX) &lt; if{
(O:NEW) (&gt;L:#VAR_X_NAME#)
}
}
</IMDrag>
</IMCodeInstances>
<DragMode>Trajectory</DragMode>
<DragAnimName>#ANIM_X_NAME#</DragAnimName>
<DragNodeId>#NODE_X_NAME#</DragNodeId>
<DragAnimSynced>True</DragAnimSynced>
<DragUseAnimLag>True</DragUseAnimLag>
<DragAxis>X</DragAxis>
<DragFlagsLockable>LeftDrag+RightDrag+MiddleDrag</DragFlagsLockable>
</CallbackCode>
</MouseRect>
</Component>
<Component ID="#NODE_Y_NAME#" Node="#NODE_Y_NAME#">
<Animation Name="#ANIM_Y_NAME#" Length="#ANIM_LENGTH#" Type="Sim"
TypeParam="AutoPlay">
<Parameter>
<Code>#ANIM_Y_CODE#</Code>
<Lag>#ANIM_LAG#</Lag>
</Parameter>
</Animation>
<MouseRect>
<IMCursorsInstances>
<IMDefault>
<Cursor>Grab</Cursor>
</IMDefault>
<IMDrag>
<Cursor>Grab</Cursor>
</IMDrag>
</IMCursorsInstances>
<IMMouseFlagsInstances>
<IMDefault>Lock+Unlock+LeftDrag</IMDefault>
<IMDrag>Lock+Unlock+LeftDrag</IMDrag>
</IMMouseFlagsInstances>
<Lock>True</Lock>
<LockFlagsTemporary>LeftSingle</LockFlagsTemporary>
<HighlightNodeId>#NODE_Y_NAME#</HighlightNodeId>
<CallbackCode>
<IMCodeInstances>
<IMDefault>
(M:Event) 'LeftDrag' scmi 0 == if{
(L:#VAR_Y_NAME#) (M:DragPercent) #ANIM_LENGTH# * (L:#VAR_Y_NAME#) - +
(&gt;L:#VAR_Y_NAME#)
}
</IMDefault>
<IMDrag>
(M:Event) 'LeftDrag' scmi 0 == if{
(L:#VAR_Y_NAME#) (M:DragPercent) #ANIM_LENGTH# * (L:#VAR_Y_NAME#) - +
(&gt;L:#VAR_Y_NAME#)
}
</IMDrag>
</IMCodeInstances>
<DragMode>Trajectory</DragMode>
<DragAnimName>#ANIM_Y_NAME#</DragAnimName>
<DragNodeId>#NODE_Y_NAME#</DragNodeId>
<DragAnimSynced>True</DragAnimSynced>
<DragUseAnimLag>True</DragUseAnimLag>
<DragAxis>Y</DragAxis>
<DragFlagsLockable>LeftDrag+RightDrag+MiddleDrag</DragFlagsLockable>
</CallbackCode>
</MouseRect>
</Component>
</Template>
<Template Name="MD11_Blind">
<Parameters Type="Default">
<ANIM_LENGTH>42</ANIM_LENGTH>
<ANIM_LAG>42</ANIM_LAG>
</Parameters>
<Component ID="#NODE_NAME#" Node="#NODE_NAME#">
<Animation Name="#ANIM_NAME#" Length="#ANIM_LENGTH#" Type="Sim"
TypeParam="AutoPlay">
<Parameter>
<Code>(O:POS)</Code>
<Lag>#ANIM_LAG#</Lag>
</Parameter>
</Animation>
<MouseRect>
<IMCursorsInstances>
<IMDefault>
<Cursor>Grab</Cursor>
</IMDefault>
<IMDrag>
<Cursor>Grab</Cursor>
</IMDrag>
</IMCursorsInstances>
<IMMouseFlagsInstances>
<IMDefault>Lock+Unlock+LeftDrag</IMDefault>
<IMDrag>Lock+Unlock+LeftDrag</IMDrag>
</IMMouseFlagsInstances>
<Lock>True</Lock>
<LockFlagsTemporary>LeftSingle</LockFlagsTemporary>
<HighlightNodeId>#NODE_NAME#</HighlightNodeId>
<CallbackCode>
<IMCodeInstances>
<IMDefault>
(M:Event) 'LeftDrag' scmi 0 == if{
(O:POS) (M:DragPercent) #ANIM_LENGTH# * (O:POS) - + (&gt;O:POS)
}
</IMDefault>
<IMDrag>
(M:Event) 'LeftDrag' scmi 0 == if{
(O:POS) (M:DragPercent) #ANIM_LENGTH# * (O:POS) - + (&gt;O:POS)
}
</IMDrag>
</IMCodeInstances>
<DragMode>Trajectory</DragMode>
<DragAnimName>#ANIM_NAME#</DragAnimName>
<DragNodeId>#NODE_NAME#</DragNodeId>
<DragAnimSynced>True</DragAnimSynced>
<DragUseAnimLag>True</DragUseAnimLag>
<DragAxis>Y</DragAxis>
<DragFlagsLockable>LeftDrag+RightDrag+MiddleDrag</DragFlagsLockable>
</CallbackCode>
</MouseRect>
</Component>
</Template>
<Template Name="MD11_Bin">
<Parameters Type="Default">
<ANIM_LENGTH>10</ANIM_LENGTH>
<ANIM_LAG>10</ANIM_LAG>
</Parameters>
<Component ID="#NODE_NAME#" Node="#NODE_NAME#">
<Animation Name="#ANIM_NAME#" Length="#ANIM_LENGTH#" Type="Sim"
TypeParam="AutoPlay">
<Parameter>
<Code>(O:POS)</Code>
<Lag>#ANIM_LAG#</Lag>
</Parameter>
</Animation>
<MouseRect>
<IMCursorsInstances>
<IMDefault>
<Cursor>Grab</Cursor>
</IMDefault>
<IMDrag>
<Cursor>Grab</Cursor>
</IMDrag>
</IMCursorsInstances>
<IMMouseFlagsInstances>
<IMDefault>Lock+Unlock+LeftDrag</IMDefault>
<IMDrag>Lock+Unlock+LeftDrag</IMDrag>
</IMMouseFlagsInstances>
<Lock>True</Lock>
<LockFlagsTemporary>LeftSingle</LockFlagsTemporary>
<HighlightNodeId>#NODE_NAME#</HighlightNodeId>
<CallbackCode>
<IMCodeInstances>
<IMDefault>
(M:Event) 'LeftDrag' scmi 0 == if{
(O:POS) (M:DragPercent) #ANIM_LENGTH# * (O:POS) - + (&gt;O:POS)
}
</IMDefault>
<IMDrag>
(M:Event) 'LeftDrag' scmi 0 == if{
(O:POS) (M:DragPercent) #ANIM_LENGTH# * (O:POS) - + (&gt;O:POS)
}
</IMDrag>
</IMCodeInstances>
<DragMode>Trajectory</DragMode>
<DragAnimName>#ANIM_NAME#</DragAnimName>
<DragNodeId>#NODE_NAME#</DragNodeId>
<DragAnimSynced>True</DragAnimSynced>
<DragUseAnimLag>True</DragUseAnimLag>
<DragAxis>Y</DragAxis>
<DragFlagsLockable>LeftDrag+RightDrag+MiddleDrag</DragFlagsLockable>
</CallbackCode>
</MouseRect>
</Component>
</Template>
<Template Name="MD11_TrayTable">
<Parameters Type="Default">
<ANIM_LENGTH>25</ANIM_LENGTH>
<ANIM_LAG>25</ANIM_LAG>
</Parameters>
<Parameters Type="Override">
<Condition Check="ANIM_NAME">
<False>
<ANIM_NAME>#NODE_NAME#</ANIM_NAME>
</False>
</Condition>
<Condition Check="ID">
<False>
<ID>#NODE_NAME#</ID>
</False>
</Condition>
</Parameters>
<Component ID="#ID#" Node="#NODE_NAME#">
<UseTemplate Name="ASOBO_GT_MouseRect">
<MOUSEFLAGS_DEFAULT_IM>LeftSingle</MOUSEFLAGS_DEFAULT_IM>
<MOUSEFLAGS_DRAG_IM>LeftSingle</MOUSEFLAGS_DRAG_IM>
<CURSOR_DEFAULT_IM>Hand</CURSOR_DEFAULT_IM>
<CURSOR_DRAG_IM>Hand</CURSOR_DRAG_IM>
<CALLBACKCODE_DEFAULT_IM>
(M:Event) &apos;LeftSingle&apos; scmi 0 == if{ (O:CLICK) ! (&gt;O:CLICK) }
</CALLBACKCODE_DEFAULT_IM>
<CALLBACKCODE_DRAG_IM>
(M:Event) &apos;LeftSingle&apos; scmi 0 == if{ (O:CLICK) ! (&gt;O:CLICK) }
</CALLBACKCODE_DRAG_IM>
</UseTemplate>
<Animation Name="#ANIM_NAME#" Length="#ANIM_LENGTH#" Type="Sim" TypeParam="AutoPlay">
<Parameter>
<Code>(O:CLICK) #ANIM_LENGTH# *</Code>
<Lag>#ANIM_LAG#</Lag>
</Parameter>
</Animation>
</Component>
</Template>
<Template Name="MD11_Lav">
<Component ID="#ID#">
<Component ID="#NODE_LATCH_NAME#" Node="#NODE_LATCH_NAME#">
<UseTemplate Name="ASOBO_GT_MouseRect">
<MOUSEFLAGS_DEFAULT_IM>LeftSingle</MOUSEFLAGS_DEFAULT_IM>
<MOUSEFLAGS_DRAG_IM>LeftSingle</MOUSEFLAGS_DRAG_IM>
<CURSOR_DEFAULT_IM>Hand</CURSOR_DEFAULT_IM>
<CURSOR_DRAG_IM>Hand</CURSOR_DRAG_IM>
<CALLBACKCODE_DEFAULT_IM>
(M:Event) &apos;LeftSingle&apos; scmi 0 == (L:#ID#_DOOR) 0 == &amp;&amp; if{
(L:#ID#_LATCH) ! (&gt;L:#ID#_LATCH)
}
</CALLBACKCODE_DEFAULT_IM>
<CALLBACKCODE_DRAG_IM>
(M:Event) &apos;LeftSingle&apos; scmi 0 == (L:#ID#_DOOR) 0 == &amp;&amp; if{
(L:#ID#_LATCH) ! (&gt;L:#ID#_LATCH)
}
</CALLBACKCODE_DRAG_IM>
</UseTemplate>
<Animation Name="#ANIM_LATCH_NAME#" Length="#ANIM_LATCH_LENGTH#" Type="Sim"
TypeParam="AutoPlay">
<Parameter>
<Code>(L:#ID#_LATCH) #ANIM_LATCH_LENGTH# *</Code>
<Lag>#ANIM_LATCH_LAG#</Lag>
</Parameter>
</Animation>
</Component>
<Component ID="#NODE_DOOR_NAME#" Node="#NODE_DOOR_NAME#">
<UseTemplate Name="ASOBO_GT_MouseRect">
<MOUSEFLAGS_DEFAULT_IM>LeftSingle</MOUSEFLAGS_DEFAULT_IM>
<MOUSEFLAGS_DRAG_IM>LeftSingle</MOUSEFLAGS_DRAG_IM>
<CURSOR_DEFAULT_IM>Hand</CURSOR_DEFAULT_IM>
<CURSOR_DRAG_IM>Hand</CURSOR_DRAG_IM>
<CALLBACKCODE_DEFAULT_IM>
(M:Event) &apos;LeftSingle&apos; scmi 0 == (L:#ID#_LATCH) 0 == &amp;&amp; if{
(L:#ID#_DOOR) ! (&gt;L:#ID#_DOOR)
}
</CALLBACKCODE_DEFAULT_IM>
<CALLBACKCODE_DRAG_IM>
(M:Event) &apos;LeftSingle&apos; scmi 0 == (L:#ID#_LATCH) 0 == &amp;&amp; if{
(L:#ID#_DOOR) ! (&gt;L:#ID#_DOOR)
}
</CALLBACKCODE_DRAG_IM>
</UseTemplate>
<Animation Name="#ANIM_DOOR_NAME#" Length="#ANIM_DOOR_LENGTH#" Type="Sim"
TypeParam="AutoPlay">
<Parameter>
<Code>(L:#ID#_DOOR) #ANIM_DOOR_LENGTH# *</Code>
<Lag>#ANIM_DOOR_LAG#</Lag>
</Parameter>
</Animation>
</Component>
</Component>
</Template>
</ModelBehaviors>
@@ -56,24 +56,24 @@
</UseTemplate>
<Component ID="MD11_#NODE_ID_STILL#" Node="#NODE_ID_STILL#">
<UseTemplate Name="ASOBO_GT_Visibility_Code">
<VISIBILITY_CODE>(A:ENG N1 RPM:1, percent) 10 &lt; if{ 1 } els{ 0 } </VISIBILITY_CODE>
<VISIBILITY_CODE>(A:ENGINE N1 RPM:1, percent) 10 &lt; if{ 1 } els{ 0 } </VISIBILITY_CODE>
</UseTemplate>
</Component>
</Template>
<!-- End Templates -->
<Component ID="Pilot_Visibility" Node="PILOT_0">
<UseTemplate Name="ASOBO_GT_Visibility_Code">
<VISIBILITY_CODE>(A:CAMERA STATE, enum) 2 == ; if{ 0 } els{ 1 } </VISIBILITY_CODE>
</UseTemplate>
</Component>
<Component ID="Copilot_Visibility" Node="PILOT_1">
<UseTemplate Name="ASOBO_GT_Visibility_Code">
<VISIBILITY_CODE>(A:CAMERA STATE, enum) 2 == ; if{ 0 } els{ 1 } </VISIBILITY_CODE>
</UseTemplate>
</Component>
<Component ID="Pilot_Visibility" Node="PILOT_0">
<UseTemplate Name="ASOBO_GT_Visibility_Code">
<VISIBILITY_CODE>(A:CAMERA STATE, enum) 2 == ; if{ 0 } els{ 1 } </VISIBILITY_CODE>
</UseTemplate>
</Component>
<Component ID="Copilot_Visibility" Node="PILOT_1">
<UseTemplate Name="ASOBO_GT_Visibility_Code">
<VISIBILITY_CODE>(A:CAMERA STATE, enum) 2 == ; if{ 0 } els{ 1 } </VISIBILITY_CODE>
</UseTemplate>
</Component>
<Component ID="ADG_Deploy">
<UseTemplate Name="ASOBO_GT_Anim_Code">
@@ -92,7 +92,6 @@
</UseTemplate>
</Component>
<!-- NOTE: Added -->
<Component ID="Engine_Fans_1">
<UseTemplate Name="ASOBO_GT_Anim_Code">
<ANIM_NAME>MD11_EXT_N1_1_STILL</ANIM_NAME>
@@ -149,10 +148,16 @@
<Component ID="MD11_TRUCK_TILT">
<UseTemplate Name="ASOBO_GT_Anim_Code">
<ANIM_CODE>(A:SIM ON GROUND, bool) (PLANE PITCH DEGREES, radians) * 0.174 </ANIM_CODE>
<ANIM_CODE>(A:CONTACT POINT IS ON GROUND:1, number) (A:PLANE PITCH DEGREES, degrees) * -10 * </ANIM_CODE>
<ANIM_LENGTH>100</ANIM_LENGTH>
<ANIM_NAME>MD11_EXT_MLG_LEFT_TRUCK_TILT</ANIM_NAME>
<ANIM_LAG>30</ANIM_LAG>
<ANIM_LAG>100</ANIM_LAG>
</UseTemplate>
<UseTemplate Name="ASOBO_GT_Anim_Code">
<ANIM_CODE>(A:CONTACT POINT IS ON GROUND:2, number) (A:PLANE PITCH DEGREES, degrees) * -10 * </ANIM_CODE>
<ANIM_LENGTH>100</ANIM_LENGTH>
<ANIM_NAME>MD11_EXT_MLG_RIGHT_TRUCK_TILT</ANIM_NAME>
<ANIM_LAG>100</ANIM_LAG>
</UseTemplate>
</Component>
@@ -2355,7 +2360,7 @@
<AnimLength>50</AnimLength>
<Visibility>
<Parameter>
<Code>(L:MD11_EXT_ER_TAIL, bool) 0 == if{1} els{0} </Code>
<Code>(L:MD11_EXT_ER_TAIL, bool) 0 == if {1} els {0} </Code>
</Parameter>
</Visibility>
</PartInfo>
@@ -2,6 +2,7 @@
<ModelInfo>
<LODS>
<LOD minSize="150" ModelFile="TFDi_MD11_F_INT_LOD0.gltf">
<MergeModel>TFDi_MD11_F_CABIN_LOD0.gltf</MergeModel>
<MergeModel>..\..\..\Misc\TFDi_Design_MD-11_Fixes\model.f\TFDi_Design_MD-11_Fixes.gltf</MergeModel>
</LOD>
</LODS>
@@ -20,131 +21,93 @@
<Component ID="TFDi_MD11_INT_CARGO">
<!-- MISC START -->
<!-- MAIN CARGO DOOR START -->
<UseTemplate Name="MD11_Animation">
<NODE_NAME>MD11_EXT_DOOR_CARGO_MAIN</NODE_NAME>
<ANIM_LENGTH>100</ANIM_LENGTH>
<ANIM_LAG>1000</ANIM_LAG>
</UseTemplate>
<!-- MAIN CARGO DOOR END-->
<!-- CAB LIGHTS START -->
<!-- NOTE: Node name extracted from blender -->
<UseTemplate Name="MD11_Vistag">
<NODE_NAME>Object4533</NODE_NAME>
<VIS_CODE>(L:MD11_CAB_LIGHTS_SRC, bool)</VIS_CODE>
</UseTemplate>
<!-- CAB LIGHTS END -->
<!-- CARGO CONTAINERS START-->
<!-- NOTE: Node name extracted from blender -->
<UseTemplate Name="MD11_Vistag">
<NODE_NAME>Object114</NODE_NAME>
<NODE_NAME>MD11_CARGO_PALLET_1</NODE_NAME>
<VIS_CODE>(L:MD11_CARGO_PALLET_1, bool)</VIS_CODE>
</UseTemplate>
<!-- NOTE: Node name extracted from blender -->
<UseTemplate Name="MD11_Vistag">
<NODE_NAME>Object115</NODE_NAME>
<NODE_NAME>MD11_CARGO_PALLET_2</NODE_NAME>
<VIS_CODE>(L:MD11_CARGO_PALLET_2, bool)</VIS_CODE>
</UseTemplate>
<!-- NOTE: Node name extracted from blender -->
<UseTemplate Name="MD11_Vistag">
<NODE_NAME>Plane1094</NODE_NAME>
<NODE_NAME>MD11_CARGO_PALLET_3</NODE_NAME>
<VIS_CODE>(L:MD11_CARGO_PALLET_3, bool)</VIS_CODE>
</UseTemplate>
<!-- NOTE: Node name extracted from blender -->
<UseTemplate Name="MD11_Vistag">
<NODE_NAME>Box1172</NODE_NAME>
<NODE_NAME>MD11_CARGO_PALLET_4</NODE_NAME>
<VIS_CODE>(L:MD11_CARGO_PALLET_4, bool)</VIS_CODE>
</UseTemplate>
<!-- NOTE: Node name extracted from blender -->
<UseTemplate Name="MD11_Vistag">
<NODE_NAME>Box1177</NODE_NAME>
<NODE_NAME>MD11_CARGO_PALLET_5</NODE_NAME>
<VIS_CODE>(L:MD11_CARGO_PALLET_5, bool)</VIS_CODE>
</UseTemplate>
<!-- NOTE: Node name extracted from blender -->
<UseTemplate Name="MD11_Vistag">
<NODE_NAME>Box1186</NODE_NAME>
<NODE_NAME>MD11_CARGO_PALLET_6</NODE_NAME>
<VIS_CODE>(L:MD11_CARGO_PALLET_6, bool)</VIS_CODE>
</UseTemplate>
<!-- NOTE: Node name extracted from blender -->
<UseTemplate Name="MD11_Vistag">
<NODE_NAME>Box1187</NODE_NAME>
<NODE_NAME>MD11_CARGO_PALLET_7</NODE_NAME>
<VIS_CODE>(L:MD11_CARGO_PALLET_7, bool)</VIS_CODE>
</UseTemplate>
<!-- NOTE: Node name extracted from blender -->
<UseTemplate Name="MD11_Vistag">
<NODE_NAME>Box1178</NODE_NAME>
<NODE_NAME>MD11_CARGO_PALLET_8</NODE_NAME>
<VIS_CODE>(L:MD11_CARGO_PALLET_8, bool)</VIS_CODE>
</UseTemplate>
<!-- NOTE: Node name extracted from blender -->
<UseTemplate Name="MD11_Vistag">
<NODE_NAME>Box1179</NODE_NAME>
<NODE_NAME>MD11_CARGO_PALLET_9</NODE_NAME>
<VIS_CODE>(L:MD11_CARGO_PALLET_9, bool)</VIS_CODE>
</UseTemplate>
<!-- NOTE: Node name extracted from blender -->
<UseTemplate Name="MD11_Vistag">
<NODE_NAME>Box1188</NODE_NAME>
<NODE_NAME>MD11_CARGO_PALLET_10</NODE_NAME>
<VIS_CODE>(L:MD11_CARGO_PALLET_10, bool)</VIS_CODE>
</UseTemplate>
<!-- NOTE: Node name extracted from blender -->
<UseTemplate Name="MD11_Vistag">
<NODE_NAME>Box1189</NODE_NAME>
<NODE_NAME>MD11_CARGO_PALLET_11</NODE_NAME>
<VIS_CODE>(L:MD11_CARGO_PALLET_11, bool)</VIS_CODE>
</UseTemplate>
<!-- NOTE: Node name extracted from blender -->
<UseTemplate Name="MD11_Vistag">
<NODE_NAME>Box1180</NODE_NAME>
<NODE_NAME>MD11_CARGO_PALLET_12</NODE_NAME>
<VIS_CODE>(L:MD11_CARGO_PALLET_12, bool)</VIS_CODE>
</UseTemplate>
<!-- NOTE: Node name extracted from blender -->
<UseTemplate Name="MD11_Vistag">
<NODE_NAME>Box1181</NODE_NAME>
<NODE_NAME>MD11_CARGO_PALLET_13</NODE_NAME>
<VIS_CODE>(L:MD11_CARGO_PALLET_13, bool)</VIS_CODE>
</UseTemplate>
<!-- NOTE: Node name extracted from blender -->
<UseTemplate Name="MD11_Vistag">
<NODE_NAME>Box1190</NODE_NAME>
<NODE_NAME>MD11_CARGO_PALLET_14</NODE_NAME>
<VIS_CODE>(L:MD11_CARGO_PALLET_14, bool)</VIS_CODE>
</UseTemplate>
<!-- NOTE: Node name extracted from blender -->
<UseTemplate Name="MD11_Vistag">
<NODE_NAME>Box1185</NODE_NAME>
<NODE_NAME>MD11_CARGO_PALLET_15</NODE_NAME>
<VIS_CODE>(L:MD11_CARGO_PALLET_15, bool)</VIS_CODE>
</UseTemplate>
<!-- NOTE: Node name extracted from blender -->
<UseTemplate Name="MD11_Vistag">
<NODE_NAME>Box1174</NODE_NAME>
<NODE_NAME>MD11_CARGO_PALLET_16</NODE_NAME>
<VIS_CODE>(L:MD11_CARGO_PALLET_16, bool)</VIS_CODE>
</UseTemplate>
<!-- NOTE: Node name extracted from blender -->
<UseTemplate Name="MD11_Vistag">
<NODE_NAME>Box1182</NODE_NAME>
<NODE_NAME>MD11_CARGO_PALLET_17</NODE_NAME>
<VIS_CODE>(L:MD11_CARGO_PALLET_17, bool)</VIS_CODE>
</UseTemplate>
<!-- NOTE: Node name extracted from blender -->
<UseTemplate Name="MD11_Vistag">
<NODE_NAME>Box1191</NODE_NAME>
<NODE_NAME>MD11_CARGO_PALLET_18</NODE_NAME>
<VIS_CODE>(L:MD11_CARGO_PALLET_18, bool)</VIS_CODE>
</UseTemplate>
<!-- NOTE: Node name extracted from blender -->
<UseTemplate Name="MD11_Vistag">
<NODE_NAME>Box1192</NODE_NAME>
<NODE_NAME>MD11_CARGO_PALLET_19</NODE_NAME>
<VIS_CODE>(L:MD11_CARGO_PALLET_19, bool)</VIS_CODE>
</UseTemplate>
<!-- NOTE: Node name extracted from blender -->
<UseTemplate Name="MD11_Vistag">
<NODE_NAME>Box1183</NODE_NAME>
<NODE_NAME>MD11_CARGO_PALLET_20</NODE_NAME>
<VIS_CODE>(L:MD11_CARGO_PALLET_20, bool)</VIS_CODE>
</UseTemplate>
<!-- NOTE: Node name extracted from blender -->
<UseTemplate Name="MD11_Vistag">
<NODE_NAME>Box1184</NODE_NAME>
<NODE_NAME>MD11_CARGO_PALLET_21</NODE_NAME>
<VIS_CODE>(L:MD11_CARGO_PALLET_21, bool)</VIS_CODE>
</UseTemplate>
<!-- NOTE: Node name extracted from blender -->
<UseTemplate Name="MD11_Vistag">
<NODE_NAME>Box1193</NODE_NAME>
<NODE_NAME>MD11_CARGO_PALLET_22</NODE_NAME>
<VIS_CODE>(L:MD11_CARGO_PALLET_22, bool)</VIS_CODE>
</UseTemplate>
<!-- CARGO CONTAINERS END -->
@@ -193,13 +156,4 @@
<!-- OVHD END -->
</Component>
</Behaviors>
<!-- NOTE: GENERAL OBSERVATIONS
- ENG1 reverser lever is not parented to the ENG1 lever, but to the ENG1 lever
animation helper
- Reverser levers are not setup for drag, WASM fights back
- Vistags were done via an animation turned PartInfo, that no longer works
Going forward: Use a parent node (can be an empty) for all children to hide, hide
parent node or use individual components for each
-->
</ModelInfo>
@@ -56,23 +56,24 @@
</UseTemplate>
<Component ID="MD11_#NODE_ID_STILL#" Node="#NODE_ID_STILL#">
<UseTemplate Name="ASOBO_GT_Visibility_Code">
<VISIBILITY_CODE>(A:ENG N1 RPM:1, percent) 10 &lt; if{ 1 } els{ 0 } </VISIBILITY_CODE>
<VISIBILITY_CODE>(A:ENGINE N1 RPM:1, percent) 10 &lt; if{ 1 } els{ 0 } </VISIBILITY_CODE>
</UseTemplate>
</Component>
</Template>
<!-- End Templates -->
<Component ID="Pilot_Visibility" Node="PILOT_0">
<UseTemplate Name="ASOBO_GT_Visibility_Code">
<VISIBILITY_CODE>(A:CAMERA STATE, enum) 2 == ; if{ 0 } els{ 1 } </VISIBILITY_CODE>
</UseTemplate>
</Component>
<Component ID="Copilot_Visibility" Node="PILOT_1">
<UseTemplate Name="ASOBO_GT_Visibility_Code">
<VISIBILITY_CODE>(A:CAMERA STATE, enum) 2 == ; if{ 0 } els{ 1 } </VISIBILITY_CODE>
</UseTemplate>
</Component>
<Component ID="Pilot_Visibility" Node="PILOT_0">
<UseTemplate Name="ASOBO_GT_Visibility_Code">
<VISIBILITY_CODE>(A:CAMERA STATE, enum) 2 == ; if{ 0 } els{ 1 } </VISIBILITY_CODE>
</UseTemplate>
</Component>
<Component ID="Copilot_Visibility" Node="PILOT_1">
<UseTemplate Name="ASOBO_GT_Visibility_Code">
<VISIBILITY_CODE>(A:CAMERA STATE, enum) 2 == ; if{ 0 } els{ 1 } </VISIBILITY_CODE>
</UseTemplate>
</Component>
<Component ID="ADG_Deploy">
<UseTemplate Name="ASOBO_GT_Anim_Code">
@@ -91,7 +92,6 @@
</UseTemplate>
</Component>
<!-- NOTE: Added -->
<Component ID="Engine_Fans_1">
<UseTemplate Name="ASOBO_GT_Anim_Code">
<ANIM_NAME>MD11_EXT_N1_1_STILL</ANIM_NAME>
@@ -148,10 +148,16 @@
<Component ID="MD11_TRUCK_TILT">
<UseTemplate Name="ASOBO_GT_Anim_Code">
<ANIM_CODE>(A:SIM ON GROUND, bool) (PLANE PITCH DEGREES, radians) * 0.174 </ANIM_CODE>
<ANIM_CODE>(A:CONTACT POINT IS ON GROUND:1, number) (A:PLANE PITCH DEGREES, degrees) * -10 * </ANIM_CODE>
<ANIM_LENGTH>100</ANIM_LENGTH>
<ANIM_NAME>MD11_EXT_MLG_LEFT_TRUCK_TILT</ANIM_NAME>
<ANIM_LAG>30</ANIM_LAG>
<ANIM_LAG>100</ANIM_LAG>
</UseTemplate>
<UseTemplate Name="ASOBO_GT_Anim_Code">
<ANIM_CODE>(A:CONTACT POINT IS ON GROUND:2, number) (A:PLANE PITCH DEGREES, degrees) * -10 * </ANIM_CODE>
<ANIM_LENGTH>100</ANIM_LENGTH>
<ANIM_NAME>MD11_EXT_MLG_RIGHT_TRUCK_TILT</ANIM_NAME>
<ANIM_LAG>100</ANIM_LAG>
</UseTemplate>
</Component>
@@ -2354,7 +2360,7 @@
<AnimLength>50</AnimLength>
<Visibility>
<Parameter>
<Code>(L:MD11_EXT_ER_TAIL, bool) 0 == if{1} els{0} </Code>
<Code>(L:MD11_EXT_ER_TAIL, bool) 0 == if {1} els {0} </Code>
</Parameter>
</Visibility>
</PartInfo>
@@ -56,25 +56,24 @@
</UseTemplate>
<Component ID="MD11_#NODE_ID_STILL#" Node="#NODE_ID_STILL#">
<UseTemplate Name="ASOBO_GT_Visibility_Code">
<VISIBILITY_CODE>(A:ENG N1 RPM:1, percent) 10 &lt; if{ 1 } els{ 0 } </VISIBILITY_CODE>
<VISIBILITY_CODE>(A:ENGINE N1 RPM:1, percent) 10 &lt; if{ 1 } els{ 0 } </VISIBILITY_CODE>
</UseTemplate>
</Component>
</Template>
<!-- End Templates -->
<Component ID="Pilot_Visibility" Node="PILOT_0">
<UseTemplate Name="ASOBO_GT_Visibility_Code">
<VISIBILITY_CODE>(A:CAMERA STATE, enum) 2 == ; if{ 0 } els{ 1 } </VISIBILITY_CODE>
</UseTemplate>
</Component>
<Component ID="Copilot_Visibility" Node="PILOT_1">
<UseTemplate Name="ASOBO_GT_Visibility_Code">
<VISIBILITY_CODE>(A:CAMERA STATE, enum) 2 == ; if{ 0 } els{ 1 } </VISIBILITY_CODE>
</UseTemplate>
</Component>
<Component ID="Pilot_Visibility" Node="PILOT_0">
<UseTemplate Name="ASOBO_GT_Visibility_Code">
<VISIBILITY_CODE>(A:CAMERA STATE, enum) 2 == ; if{ 0 } els{ 1 } </VISIBILITY_CODE>
</UseTemplate>
</Component>
<Component ID="Copilot_Visibility" Node="PILOT_1">
<UseTemplate Name="ASOBO_GT_Visibility_Code">
<VISIBILITY_CODE>(A:CAMERA STATE, enum) 2 == ; if{ 0 } els{ 1 } </VISIBILITY_CODE>
</UseTemplate>
</Component>
<Component ID="ADG_Deploy">
<UseTemplate Name="ASOBO_GT_Anim_Code">
@@ -149,10 +148,16 @@
<Component ID="MD11_TRUCK_TILT">
<UseTemplate Name="ASOBO_GT_Anim_Code">
<ANIM_CODE>(A:SIM ON GROUND, bool) (PLANE PITCH DEGREES, radians) * 0.174 </ANIM_CODE>
<ANIM_CODE>(A:CONTACT POINT IS ON GROUND:1, number) (A:PLANE PITCH DEGREES, degrees) * -10 * </ANIM_CODE>
<ANIM_LENGTH>100</ANIM_LENGTH>
<ANIM_NAME>MD11_EXT_MLG_LEFT_TRUCK_TILT</ANIM_NAME>
<ANIM_LAG>30</ANIM_LAG>
<ANIM_LAG>100</ANIM_LAG>
</UseTemplate>
<UseTemplate Name="ASOBO_GT_Anim_Code">
<ANIM_CODE>(A:CONTACT POINT IS ON GROUND:2, number) (A:PLANE PITCH DEGREES, degrees) * -10 * </ANIM_CODE>
<ANIM_LENGTH>100</ANIM_LENGTH>
<ANIM_NAME>MD11_EXT_MLG_RIGHT_TRUCK_TILT</ANIM_NAME>
<ANIM_LAG>100</ANIM_LAG>
</UseTemplate>
</Component>
@@ -2355,7 +2360,7 @@
<AnimLength>50</AnimLength>
<Visibility>
<Parameter>
<Code>(L:MD11_EXT_ER_TAIL, bool) 0 == if{1} els{0} </Code>
<Code>(L:MD11_EXT_ER_TAIL, bool) 0 == if {1} els {0} </Code>
</Parameter>
</Visibility>
</PartInfo>
@@ -4,12 +4,14 @@
<LOD minSize="150" ModelFile="TFDi_MD11_PAX_INT_LOD0.gltf">
<MergeModel>TFDi_MD11_PAX_CABIN_LOD0.gltf</MergeModel>
<MergeModel>..\..\..\Misc\TFDi_Design_MD-11_Fixes\model.p\TFDi_Design_MD-11_Fixes.gltf</MergeModel>
<MergeModel>..\..\..\Misc\TFDi_Design_MD-11_Fixes\model.p_walk\TFDi_Design_MD-11_WALK_P.gltf</MergeModel>
</LOD>
</LODS>
<Behaviors>
<Include RelativeFile="..\..\TFDi_Design_MD-11_Shared\TFDi_MD11_INT_BASE.xml" />
<Include RelativeFile="..\..\TFDi_Design_MD-11_Shared\TFDi_MD11_INT_PAX.xml" />
<Include RelativeFile="..\..\TFDi_Design_MD-11_Shared\TFDi_MD11_INT_CABIN.xml" />
<Include RelativeFile="..\..\..\Misc\TFDi_Design_MD-11_Fixes\TFDi_Design_MD-11_Fixes_BASE.xml" />
<Component ID="TFDi_MD11_INT_BASE">
@@ -23,6 +25,10 @@
<Component ID="TFDi_MD11_INT_PAX">
<UseTemplate Name="MD11_PAX" />
</Component>
<Component ID="TFDi_MD11_INT_CABIN">
<UseTemplate Name="MD11_CABIN" />
</Component>
</Behaviors>
@@ -56,24 +56,24 @@
</UseTemplate>
<Component ID="MD11_#NODE_ID_STILL#" Node="#NODE_ID_STILL#">
<UseTemplate Name="ASOBO_GT_Visibility_Code">
<VISIBILITY_CODE>(A:ENG N1 RPM:1, percent) 10 &lt; if{ 1 } els{ 0 } </VISIBILITY_CODE>
<VISIBILITY_CODE>(A:ENGINE N1 RPM:1, percent) 10 &lt; if{ 1 } els{ 0 } </VISIBILITY_CODE>
</UseTemplate>
</Component>
</Template>
<!-- End Templates -->
<Component ID="Pilot_Visibility" Node="PILOT_0">
<UseTemplate Name="ASOBO_GT_Visibility_Code">
<VISIBILITY_CODE>(A:CAMERA STATE, enum) 2 == ; if{ 0 } els{ 1 } </VISIBILITY_CODE>
</UseTemplate>
</Component>
<Component ID="Copilot_Visibility" Node="PILOT_1">
<UseTemplate Name="ASOBO_GT_Visibility_Code">
<VISIBILITY_CODE>(A:CAMERA STATE, enum) 2 == ; if{ 0 } els{ 1 } </VISIBILITY_CODE>
</UseTemplate>
</Component>
<Component ID="Pilot_Visibility" Node="PILOT_0">
<UseTemplate Name="ASOBO_GT_Visibility_Code">
<VISIBILITY_CODE>(A:CAMERA STATE, enum) 2 == ; if{ 0 } els{ 1 } </VISIBILITY_CODE>
</UseTemplate>
</Component>
<Component ID="Copilot_Visibility" Node="PILOT_1">
<UseTemplate Name="ASOBO_GT_Visibility_Code">
<VISIBILITY_CODE>(A:CAMERA STATE, enum) 2 == ; if{ 0 } els{ 1 } </VISIBILITY_CODE>
</UseTemplate>
</Component>
<Component ID="ADG_Deploy">
<UseTemplate Name="ASOBO_GT_Anim_Code">
@@ -92,7 +92,6 @@
</UseTemplate>
</Component>
<!-- NOTE: Added -->
<Component ID="Engine_Fans_1">
<UseTemplate Name="ASOBO_GT_Anim_Code">
<ANIM_NAME>MD11_EXT_N1_1_STILL</ANIM_NAME>
@@ -147,6 +146,21 @@
</UseTemplate>
</Component>
<Component ID="MD11_TRUCK_TILT">
<UseTemplate Name="ASOBO_GT_Anim_Code">
<ANIM_CODE>(A:CONTACT POINT IS ON GROUND:1, number) (A:PLANE PITCH DEGREES, degrees) * -10 * </ANIM_CODE>
<ANIM_LENGTH>100</ANIM_LENGTH>
<ANIM_NAME>MD11_EXT_MLG_LEFT_TRUCK_TILT</ANIM_NAME>
<ANIM_LAG>100</ANIM_LAG>
</UseTemplate>
<UseTemplate Name="ASOBO_GT_Anim_Code">
<ANIM_CODE>(A:CONTACT POINT IS ON GROUND:2, number) (A:PLANE PITCH DEGREES, degrees) * -10 * </ANIM_CODE>
<ANIM_LENGTH>100</ANIM_LENGTH>
<ANIM_NAME>MD11_EXT_MLG_RIGHT_TRUCK_TILT</ANIM_NAME>
<ANIM_LAG>100</ANIM_LAG>
</UseTemplate>
</Component>
<Component ID="FX_CONTRAIL_QUAD">
<UseTemplate Name="ASOBO_CONTRAIL_QUAD_FX">
<FX_NAME>FX_CONTRAIL_QUAD_LEFT</FX_NAME>
@@ -2346,7 +2360,7 @@
<AnimLength>50</AnimLength>
<Visibility>
<Parameter>
<Code>(L:MD11_EXT_ER_TAIL, bool) 0 == if{1} els{0} </Code>
<Code>(L:MD11_EXT_ER_TAIL, bool) 0 == if {1} els {0} </Code>
</Parameter>
</Visibility>
</PartInfo>
@@ -10,6 +10,7 @@
<Behaviors>
<Include RelativeFile="..\..\TFDi_Design_MD-11_Shared\TFDi_MD11_INT_BASE.xml" />
<Include RelativeFile="..\..\TFDi_Design_MD-11_Shared\TFDi_MD11_INT_PAX.xml" />
<Include RelativeFile="..\..\TFDi_Design_MD-11_Shared\TFDi_MD11_INT_CABIN.xml" />
<Include RelativeFile="..\..\..\Misc\TFDi_Design_MD-11_Fixes\TFDi_Design_MD-11_Fixes_BASE.xml" />
<Component ID="TFDi_MD11_INT_BASE">
@@ -23,6 +24,10 @@
<Component ID="TFDi_MD11_INT_PAX">
<UseTemplate Name="MD11_PAX" />
</Component>
<Component ID="TFDi_MD11_INT_CABIN">
<UseTemplate Name="MD11_CABIN" />
</Component>
</Behaviors>
@@ -40,9 +40,6 @@
<Component ID="TFDi_MD11_INT_MISC">
<UseTemplate Name="MD11_MISC" />
</Component>
<Component ID="TFDi_MD11_INT_EXTRAS">
<UseTemplate Name="MD11_EXTRAS" />
</Component>
<Component ID="TFDi_MD11_INT_LIGHTING">
<UseTemplate Name="TFDi_MD11_INT_LIGHTING" />
@@ -2,6 +2,10 @@
<ModelBehaviors>
<Template Name="TFDi_MD11_INT_LIGHTING">
<Component ID="MD11_IntegralLighting_OVHD">
<UseTemplate Name="MD11_IntegralLighting_Template">
<VAR_NAME>MD11_LTS_OVHD_INTEG</VAR_NAME>
<NODE_ID>outflow_gauge</NODE_ID>
</UseTemplate>
<UseTemplate Name="MD11_IntegralLighting_Template">
<VAR_NAME>MD11_LTS_OVHD_INTEG</VAR_NAME>
<NODE_ID>MD11_OPT_AUTO_AICE</NODE_ID>
@@ -2164,9 +2168,6 @@
<UseTemplate Name="MD11_Annunciator">
<NODE_ID>MD11_THR_R_FUEL_LT</NODE_ID>
</UseTemplate>
<UseTemplate Name="MD11_Annunciator">
<NODE_ID>MD11_THR_PARK_LT</NODE_ID>
</UseTemplate>
<UseTemplate Name="MD11_Annunciator">
<NODE_ID>MD11_LMCDU_DSPY_LT</NODE_ID>
</UseTemplate>
@@ -9,15 +9,11 @@
<ANIM_CODE>(L:MD11_MIP_GEAR_SW)</ANIM_CODE>
<CODE>94976 (&gt;L:CEVENT)</CODE>
</UseTemplate>
<!-- NOTE: Button animation missing in model -->
<!-- NOTE: Fixed in submodel -->
<!--
<UseTemplate Name="MD11_Button">
<NODE_NAME>MD11_MIP_HANDLEREL_BT</NODE_NAME>
<CODE_PRESS>94980 (&gt;L:CEVENT)</CODE_PRESS>
<CODE_RELEASE>94981 (&gt;L:CEVENT)</CODE_RELEASE>
</UseTemplate>
-->
<UseTemplate Name="MD11_Button_Guarded">
<GUARD_NODE_NAME>MD11_MIP_CTR_GEAR_GRD</GUARD_NODE_NAME>
<GUARD_CODE>94979 (&gt;L:CEVENT)</GUARD_CODE>
@@ -372,13 +372,6 @@
<ANIM_LENGTH>100</ANIM_LENGTH>
<ANIM_LAG>1000</ANIM_LAG>
</UseTemplate>
<!-- NOTE: Missing animation -->
<UseTemplate Name="MD11_Animation">
<NODE_NAME>MD11_EXT_GPU_DOOR</NODE_NAME>
<ANIM_LENGTH>10</ANIM_LENGTH>
<ANIM_LAG>100</ANIM_LAG>
<ANIM_CODE>(L:MD11_EXT_GPU) 10 *</ANIM_CODE>
</UseTemplate>
<!-- DOORS END -->
<!-- ADG LEVER START -->
@@ -449,6 +442,19 @@
<ANIM_CODE>(L:MD11_LSIDE_WINDOW) 10 *</ANIM_CODE>
<CODE>94237 (&gt;L:CEVENT)</CODE>
</UseTemplate>
<UseTemplate Name="MD11_Shade">
<NODE_X_NAME>visor_mount1</NODE_X_NAME>
<NODE_Y_NAME>visor1_transparent</NODE_Y_NAME>
<VAR_X_NAME>MD11_LSIDE_SHADE_X</VAR_X_NAME>
<SECOND_VAR_X_NAME>MD11_RSIDE_SHADE_X</SECOND_VAR_X_NAME>
<VAR_Y_NAME>MD11_LSIDE_SHADE_Y</VAR_Y_NAME>
<ANIM_X_NAME>MD11_LSIDE_SHADE_X</ANIM_X_NAME>
<ANIM_X_CODE>(L:MD11_LSIDE_SHADE_X)</ANIM_X_CODE>
<ANIM_Y_NAME>MD11_LSIDE_SHADE_Y</ANIM_Y_NAME>
<ANIM_Y_CODE>(L:MD11_LSIDE_SHADE_Y)</ANIM_Y_CODE>
</UseTemplate>
<!-- NOTE: Node name extracted from blender -->
<UseTemplate Name="MD11_2Pos_Switch">
<ID>MD11_LSIDE_WINDOW_SHADE</ID>
@@ -459,32 +465,6 @@
<ANIM_CODE>(L:MD11_LSIDE_WINDOW_SHADE) 10 *</ANIM_CODE>
<CODE>94238 (&gt;L:CEVENT)</CODE>
</UseTemplate>
<UseTemplate Name="MD11_Clickspot">
<NODE_NAME>MD11_LSIDE_SHADE_X_INC</NODE_NAME>
<CODE>94239 (&gt;L:CEVENT)</CODE>
</UseTemplate>
<UseTemplate Name="MD11_Clickspot">
<NODE_NAME>MD11_LSIDE_SHADE_X_DEC</NODE_NAME>
<CODE>94240 (&gt;L:CEVENT)</CODE>
</UseTemplate>
<UseTemplate Name="MD11_Clickspot">
<NODE_NAME>MD11_LSIDE_SHADE_Y_INC</NODE_NAME>
<CODE>94241 (&gt;L:CEVENT)</CODE>
</UseTemplate>
<UseTemplate Name="MD11_Clickspot">
<NODE_NAME>MD11_LSIDE_SHADE_Y_DEC</NODE_NAME>
<CODE>94242 (&gt;L:CEVENT)</CODE>
</UseTemplate>
<UseTemplate Name="MD11_Animation">
<NODE_NAME>MD11_LSIDE_SHADE_X</NODE_NAME>
<ANIM_LENGTH>100</ANIM_LENGTH>
<ANIM_LAG>1000</ANIM_LAG>
</UseTemplate>
<UseTemplate Name="MD11_Animation">
<NODE_NAME>MD11_LSIDE_SHADE_Y</NODE_NAME>
<ANIM_LENGTH>100</ANIM_LENGTH>
<ANIM_LAG>1000</ANIM_LAG>
</UseTemplate>
<!-- LEFT SIDE WINDOW STOP -->
<!-- RIGHT SIDE WINDOW START -->
@@ -496,6 +476,19 @@
<ANIM_CODE>(L:MD11_RSIDE_WINDOW) 10 *</ANIM_CODE>
<CODE>95517 (&gt;L:CEVENT)</CODE>
</UseTemplate>
<UseTemplate Name="MD11_Shade">
<NODE_X_NAME>visor_mount2</NODE_X_NAME>
<NODE_Y_NAME>visor2_transparent</NODE_Y_NAME>
<VAR_X_NAME>MD11_RSIDE_SHADE_X</VAR_X_NAME>
<SECOND_VAR_X_NAME>MD11_LSIDE_SHADE_X</SECOND_VAR_X_NAME>
<VAR_Y_NAME>MD11_RSIDE_SHADE_Y</VAR_Y_NAME>
<ANIM_X_NAME>MD11_RSIDE_SHADE_X</ANIM_X_NAME>
<ANIM_X_CODE>(L:MD11_RSIDE_SHADE_X)</ANIM_X_CODE>
<ANIM_Y_NAME>MD11_RSIDE_SHADE_Y</ANIM_Y_NAME>
<ANIM_Y_CODE>(L:MD11_RSIDE_SHADE_Y)</ANIM_Y_CODE>
</UseTemplate>
<!-- NOTE: Node name extracted from blender -->
<UseTemplate Name="MD11_2Pos_Switch">
<ID>MD11_RSIDE_WINDOW_SHADE</ID>
@@ -506,32 +499,6 @@
<ANIM_CODE>(L:MD11_RSIDE_WINDOW_SHADE) 10 *</ANIM_CODE>
<CODE>95518 (&gt;L:CEVENT)</CODE>
</UseTemplate>
<UseTemplate Name="MD11_Clickspot">
<NODE_NAME>MD11_RSIDE_SHADE_X_INC</NODE_NAME>
<CODE>95519 (&gt;L:CEVENT)</CODE>
</UseTemplate>
<UseTemplate Name="MD11_Clickspot">
<NODE_NAME>MD11_RSIDE_SHADE_X_DEC</NODE_NAME>
<CODE>95520 (&gt;L:CEVENT)</CODE>
</UseTemplate>
<UseTemplate Name="MD11_Clickspot">
<NODE_NAME>MD11_RSIDE_SHADE_Y_INC</NODE_NAME>
<CODE>95521 (&gt;L:CEVENT)</CODE>
</UseTemplate>
<UseTemplate Name="MD11_Clickspot">
<NODE_NAME>MD11_RSIDE_SHADE_Y_DEC</NODE_NAME>
<CODE>95522 (&gt;L:CEVENT)</CODE>
</UseTemplate>
<UseTemplate Name="MD11_Animation">
<NODE_NAME>MD11_RSIDE_SHADE_X</NODE_NAME>
<ANIM_LENGTH>100</ANIM_LENGTH>
<ANIM_LAG>1000</ANIM_LAG>
</UseTemplate>
<UseTemplate Name="MD11_Animation">
<NODE_NAME>MD11_RSIDE_SHADE_Y</NODE_NAME>
<ANIM_LENGTH>100</ANIM_LENGTH>
<ANIM_LAG>1000</ANIM_LAG>
</UseTemplate>
<!-- RIGHT SIDE WINDOW STOP -->
</Template>
</ModelBehaviors>
@@ -20,20 +20,5 @@
<VIS_CODE>(L:MD11_OPT_ANALOG_STBY, bool)</VIS_CODE>
</UseTemplate>
<!-- ANALOGUE STANDBY SLIP END -->
<!-- GEAR HANDLE RELEASE START -->
<UseTemplate
Name="MD11_Vistag">
<NODE_NAME>MD11_MIP_HANDLEREL_BT</NODE_NAME>
<VIS_CODE>0</VIS_CODE>
</UseTemplate>
<UseTemplate
Name="MD11_Button">
<NODE_NAME>KH_MD11_MIP_HANDLEREL_BT</NODE_NAME>
<ANIM_CODE>(L:MD11_MIP_HANDLEREL_BT) 10 *</ANIM_CODE>
<CODE_PRESS>94980 (&gt;L:CEVENT)</CODE_PRESS>
<CODE_RELEASE>94981 (&gt;L:CEVENT)</CODE_RELEASE>
</UseTemplate>
<!-- GEAR HANDLE RELEASE END -->
</Template>
</ModelBehaviors>
@@ -371,12 +371,4 @@ H<
&&ca&axcpapcxpx~~rj~j4r8j8r)7.;.7)+.+) + 
 

%%&-%-a&`-`&pai`iapoiopwow|w|u|u~mumj~fmf~8j<f<j.;?+.@ +A BC%D-%E`-Fi`GoiHwoI|wJu|KmuLfmM<fN@U@4@;@4@6;@4@6;@4U|U;;|;;@M;@4=6;@l=6;@l=6;r;=6;r;@'M;y@'M;:5U;@4Y}5U;ѺY}5U;:tUttUt;t;tt;t;)o6;&o)o6;&o)o6;,o;)o6;,o;1^M;.^1^M;4^;A5U;AA5U;A;~U@~U@;~;@~;@;o6;@<o6;@<o6; ?;o6; ?;𺀠M;%𺀠M;(;Ѻ5U;V}Ѻ5U;\};UU;;;;6;6;6;;6;;M;M;`;5U;5U;@45U;;:5U;V}:5U;@\};:M;%:M;(;n;6;@<n;6;@<n;6; ?;n;6; ?;~;U@~;U@;~;;@~;;@;A;5U;AA;5U;A;1^;M;.^1^;M;4^;)o;6;&o)o;6;&o)o;6;,o;)o;6;,o;t;Utt;Ut;t;;tt;;t;Y};5U;ѺY};5U;:;5U;@4@';M;y@';M;:=;6;@l=;6;@l=;6;@l=;6;r;=;6;r;@;M;@4;U|;U|;U;;;|;;|;;;@;6;@4@;6;@4@;U@4@;;@4ͦ~I=a:>a:>.lþ.l>Ck=¾Ck=>
:`?^Pz=>^Pz=>^Pz=>>^Pz=>>r?侉:`?h=^>z9`? =>~?wƽ~?.$wƽ~?.$=5555?42=442=4?D{7>D{D{7>D{D{7>D{?D{7>D{?9`?9`?>7)<~?7)7)<~?7)=þ.lþ.l?¾=Ck¾=Ck?Yb;>\PYb;>\PYb;>\P?Yb;>\P?h=:`?r?h=:`?r?>.$~?wƽ.$~?w=?I=ͦ~I=ͦ~?:>a:>a:>a?:>a?:`?
:`?
>~??~?<=.$=~?wƽ.$=~?w= =>z9`?^>h=>:`?r?>>z=>^P>z=>^P>z=>^P?>z=>^P?>.l>.l?>=Ck>=Ck?7)=<~?7)7)=<~?7)=>9`?>9`?>D{?7>D{D{?7>D{D{?7>D{?D{?7>D{?5?55?5?4?2=44?2=4?w=~?.$w=~?.$=<=~?^>>z9`? =r?>:`?h=>^P?z=>^P?z=>^P?z=>^P?z=>>^P?z=>>
>:`?.l?þ.l?þ.l?>Ck?=¾Ck?=¾Ck?=>a?:>a?:>?ͦ~?I=`l?H?`l?`F?`l? F?`m?C?k?H?m?H?k?`F?m?`F?m?C?k? F?m?@C?m? F?m?D?m?@C?m?`D?m?C?m?`C?m?`D? k?H?m?H? k?`F?m?`F? k? F?m?B?m? F?m?E?m?B?m?D?n?C?n?D?j?H? n?H?j?`F? n?`F?j? F?`n?`B? n? F?`n?`E?`n?B?`n?@E?n?B?n?E?j?H?n?H?j?`F?n?`F?j? F?o?@B?n? F?o?E?o?`B?o?`E?o?B?o?C?o? E?o?B?o?E?o?B?o?@E?`i? F?o?`B?`o? F?o?`E?`i?H?`o?H?`i?`F?`o?`F?o?C?o?D?p?B?p?D?h? F? p?B?p? F? p?E?h?H?p?H?h?`F?p?`F? p?`C? p?`D?@p?C?`p?@C?`p?`D? h? F?p?@C?q? F?p?D?p? F?p?C? h?H?q?H?p?H? h?`F?q?`F?p?`F?p?C?@q? F?@q?H?@q?`F?`l?H?`l?`F?`l? F?`m?C?k?H?m?H?k?`F?m?`F?m?C?k? F?m?@C?m? F?m?D?m?@C?m?`D?m?C?m?`C?m?`D? k?H?m?H? k?`F?m?`F? k? F?m?B?m? F?m?E?m?B?m?D?n?C?n?D?j?H? n?H?j?`F? n?`F?j? F?`n?`B? n? F?`n?`E?`n?B?`n?@E?n?B?n?E?j?H?n?H?j?`F?n?`F?j? F?o?@B?n? F?o?E?o?`B?o?`E?o?B?o?C?o? E?o?B?o?E?o?B?o?@E?`i? F?o?`B?`o? F?o?`E?`i?H?`o?H?`i?`F?`o?`F?o?C?o?D?p?B?p?D?h? F? p?B?p? F? p?E?h?H?p?H?h?`F?p?`F? p?`C? p?`D?@p?C?`p?@C?`p?`D? h? F?p?@C?q? F?p?D?p? F?p?C? h?H?q?H?p?H? h?`F?q?`F?p?`F?p?C?@q? F?@q?H?@q?`F?[^bcb^KMZ]ZM?AKMKA*,?A?, *,*  !!+-!-@B+-+BLN@B@N\_LNL_bc\_\cO5QC5O75C457(545(5555)565)856D58P5DQ5Pc^aVa^]MTGTMMAG;GAA,;.;,, .". ""      !$!!-$0$--B0=0BBN=I=NN_IXI__cXaXc`UYRYUYRQOQRUHRERHREOCOEH<E9E<E9C7C9</929/927472/#2&2#2&4(4&#&&&((


   %'%')'%1'3'1'3)6)31>3:3>3:686:>J:F:J:F8D8FJWFSFWFSDPDSW`SYS`SYPQPY*==>*>UUU>>UU>>>T;9d^;9V;h9; 9+:98j+88u 9Vh9R_9T.9*==>*>UUU>>UU>>xBMa?AxB;Da?AxB:a?AxB1a?AxB}'a?AxBa?AxBTa?AxB
a?AxB+a?A
%%&-%-a&`-`&pai`iapoiopwow|w|u|u~mumj~fmf~8j<f<j.;?+.@ +A BC%D-%E`-Fi`GoiHwoI|wJu|KmuLfmM<fN*==>*>UUU>>UU>>>T;9d^;9V;h9; 9+:98j+88u 9Vh9R_9T.9
@@ -5,7 +5,7 @@
"tangent_space_convention":"DirectX"
}
},
"generator":"Khronos glTF Blender I/O v3.6.28 and Asobo Studio MSFS2024 Blender I/O v5.4.3 with Blender v3.6.19",
"generator":"Khronos glTF Blender I/O v3.6.28 and Asobo Studio MSFS2024 Blender I/O v5.4.4 with Blender v3.6.19",
"version":"2.0"
},
"extensionsUsed":[
@@ -20,8 +20,7 @@
"name":"Scene",
"nodes":[
0,
1,
2
1
]
}
],
@@ -48,26 +47,6 @@
0.0004000000189989805,
0
]
},
{
"extensions":{
"ASOBO_unique_id":{
"id":"KH_MD11_MIP_HANDLEREL_BT"
}
},
"mesh":2,
"name":"KH_MD11_MIP_HANDLEREL_BT",
"rotation":[
0,
0.8038567900657654,
-0.594822883605957,
4.405300621089948e-15
],
"translation":[
-0.0029689352959394455,
0.8800935745239258,
26.598054885864258
]
}
],
"animations":[
@@ -84,28 +63,9 @@
"name":"KH_MD11_MIP_STBY_AI_SLIP_RNG",
"samplers":[
{
"input":18,
"input":12,
"interpolation":"LINEAR",
"output":19
}
]
},
{
"channels":[
{
"sampler":0,
"target":{
"node":2,
"path":"translation"
}
}
],
"name":"KH_MD11_MIP_HANDLEREL_BT",
"samplers":[
{
"input":20,
"interpolation":"LINEAR",
"output":21
"output":13
}
]
}
@@ -162,43 +122,6 @@
"metallicFactor":1,
"roughnessFactor":1
}
},
{
"alphaMode":"OPAQUE",
"doubleSided":false,
"emissiveFactor":[
0,
0,
0
],
"emissiveTexture":{
"index":0
},
"extras":{},
"name":"TF_MD11_VC_FWDPANEL",
"normalTexture":{
"index":1,
"scale":1
},
"occlusionTexture":{
"index":2
},
"pbrMetallicRoughness":{
"baseColorFactor":[
1,
1,
1,
1
],
"baseColorTexture":{
"index":3
},
"metallicFactor":1,
"metallicRoughnessTexture":{
"index":2
},
"roughnessFactor":1
}
}
],
"meshes":[
@@ -233,62 +156,6 @@
"material":1
}
]
},
{
"name":"KH_MD11_MIP_HANDLEREL_BT",
"primitives":[
{
"attributes":{
"COLOR_0":12,
"POSITION":13,
"NORMAL":14,
"TEXCOORD_0":15,
"TEXCOORD_1":16
},
"indices":17,
"material":2
}
]
}
],
"textures":[
{
"sampler":0,
"source":0
},
{
"sampler":0,
"source":1
},
{
"sampler":0,
"source":2
},
{
"sampler":0,
"source":3
}
],
"images":[
{
"mimeType":"image/png",
"name":"TF_MD11_VC_FWDPANEL_EMIS.PNG",
"uri":"../../../../../Blender/TF_MD11_VC_FWDPANEL_EMIS.PNG"
},
{
"mimeType":"image/png",
"name":"TF_MD11_VC_FWDPANEL_NORM.PNG",
"uri":"../../../../../Blender/TF_MD11_VC_FWDPANEL_NORM.PNG"
},
{
"mimeType":"image/png",
"name":"TF_MD11_VC_FWDPANEL_COMP.PNG",
"uri":"../../../../../Blender/TF_MD11_VC_FWDPANEL_COMP.PNG"
},
{
"mimeType":"image/png",
"name":"TF_MD11_VC_FWDPANEL_ALBD.PNG",
"uri":"../../../../../Blender/TF_MD11_VC_FWDPANEL_ALBD.PNG"
}
],
"accessors":[
@@ -388,53 +255,6 @@
},
{
"bufferView":12,
"componentType":5123,
"count":100,
"normalized":true,
"type":"VEC4"
},
{
"bufferView":13,
"componentType":5126,
"count":100,
"max":[
0.00528302788734436,
0.0032533109188079834,
0.0052832067012786865
],
"min":[
-0.00528302788734436,
-0.0032517611980438232,
-0.005282849073410034
],
"type":"VEC3"
},
{
"bufferView":14,
"componentType":5126,
"count":100,
"type":"VEC3"
},
{
"bufferView":15,
"componentType":5126,
"count":100,
"type":"VEC2"
},
{
"bufferView":16,
"componentType":5126,
"count":100,
"type":"VEC2"
},
{
"bufferView":17,
"componentType":5123,
"count":432,
"type":"SCALAR"
},
{
"bufferView":18,
"componentType":5126,
"count":10,
"max":[
@@ -446,28 +266,10 @@
"type":"SCALAR"
},
{
"bufferView":19,
"bufferView":13,
"componentType":5126,
"count":10,
"type":"VEC3"
},
{
"bufferView":20,
"componentType":5126,
"count":9,
"max":[
0.3333333333333333
],
"min":[
0
],
"type":"SCALAR"
},
{
"bufferView":21,
"componentType":5126,
"count":9,
"type":"VEC3"
}
],
"bufferViews":[
@@ -543,72 +345,20 @@
"byteOffset":142104,
"target":34963
},
{
"buffer":0,
"byteLength":800,
"byteOffset":143448,
"target":34962
},
{
"buffer":0,
"byteLength":1200,
"byteOffset":144248,
"target":34962
},
{
"buffer":0,
"byteLength":1200,
"byteOffset":145448,
"target":34962
},
{
"buffer":0,
"byteLength":800,
"byteOffset":146648,
"target":34962
},
{
"buffer":0,
"byteLength":800,
"byteOffset":147448,
"target":34962
},
{
"buffer":0,
"byteLength":864,
"byteOffset":148248,
"target":34963
},
{
"buffer":0,
"byteLength":40,
"byteOffset":149112
"byteOffset":143448
},
{
"buffer":0,
"byteLength":120,
"byteOffset":149152
},
{
"buffer":0,
"byteLength":36,
"byteOffset":149272
},
{
"buffer":0,
"byteLength":108,
"byteOffset":149308
}
],
"samplers":[
{
"magFilter":9729,
"minFilter":9987
"byteOffset":143488
}
],
"buffers":[
{
"byteLength":149416,
"byteLength":143608,
"uri":"TFDi_Design_MD-11_Fixes.bin"
}
]
@@ -371,12 +371,4 @@ H<
&&ca&axcpapcxpx~~rj~j4r8j8r)7.;.7)+.+) + 
 

%%&-%-a&`-`&pai`iapoiopwow|w|u|u~mumj~fmf~8j<f<j.;?+.@ +A BC%D-%E`-Fi`GoiHwoI|wJu|KmuLfmM<fN@U@4@;@4@6;@4@6;@4U|U;;|;;@M;@4=6;@l=6;@l=6;r;=6;r;@'M;y@'M;:5U;@4Y}5U;ѺY}5U;:tUttUt;t;tt;t;)o6;&o)o6;&o)o6;,o;)o6;,o;1^M;.^1^M;4^;A5U;AA5U;A;~U@~U@;~;@~;@;o6;@<o6;@<o6; ?;o6; ?;𺀠M;%𺀠M;(;Ѻ5U;V}Ѻ5U;\};UU;;;;6;6;6;;6;;M;M;`;5U;5U;@45U;;:5U;V}:5U;@\};:M;%:M;(;n;6;@<n;6;@<n;6; ?;n;6; ?;~;U@~;U@;~;;@~;;@;A;5U;AA;5U;A;1^;M;.^1^;M;4^;)o;6;&o)o;6;&o)o;6;,o;)o;6;,o;t;Utt;Ut;t;;tt;;t;Y};5U;ѺY};5U;:;5U;@4@';M;y@';M;:=;6;@l=;6;@l=;6;@l=;6;r;=;6;r;@;M;@4;U|;U|;U;;;|;;|;;;@;6;@4@;6;@4@;U@4@;;@4ͦ~I=a:>a:>.lþ.l>Ck=¾Ck=>
:`?^Pz=>^Pz=>^Pz=>>^Pz=>>r?侉:`?h=^>z9`? =>~?wƽ~?.$wƽ~?.$=5555?42=442=4?D{7>D{D{7>D{D{7>D{?D{7>D{?9`?9`?>7)<~?7)7)<~?7)=þ.lþ.l?¾=Ck¾=Ck?Yb;>\PYb;>\PYb;>\P?Yb;>\P?h=:`?r?h=:`?r?>.$~?wƽ.$~?w=?I=ͦ~I=ͦ~?:>a:>a:>a?:>a?:`?
:`?
>~??~?<=.$=~?wƽ.$=~?w= =>z9`?^>h=>:`?r?>>z=>^P>z=>^P>z=>^P?>z=>^P?>.l>.l?>=Ck>=Ck?7)=<~?7)7)=<~?7)=>9`?>9`?>D{?7>D{D{?7>D{D{?7>D{?D{?7>D{?5?55?5?4?2=44?2=4?w=~?.$w=~?.$=<=~?^>>z9`? =r?>:`?h=>^P?z=>^P?z=>^P?z=>^P?z=>>^P?z=>>
>:`?.l?þ.l?þ.l?>Ck?=¾Ck?=¾Ck?=>a?:>a?:>?ͦ~?I=`l?H?`l?`F?`l? F?`m?C?k?H?m?H?k?`F?m?`F?m?C?k? F?m?@C?m? F?m?D?m?@C?m?`D?m?C?m?`C?m?`D? k?H?m?H? k?`F?m?`F? k? F?m?B?m? F?m?E?m?B?m?D?n?C?n?D?j?H? n?H?j?`F? n?`F?j? F?`n?`B? n? F?`n?`E?`n?B?`n?@E?n?B?n?E?j?H?n?H?j?`F?n?`F?j? F?o?@B?n? F?o?E?o?`B?o?`E?o?B?o?C?o? E?o?B?o?E?o?B?o?@E?`i? F?o?`B?`o? F?o?`E?`i?H?`o?H?`i?`F?`o?`F?o?C?o?D?p?B?p?D?h? F? p?B?p? F? p?E?h?H?p?H?h?`F?p?`F? p?`C? p?`D?@p?C?`p?@C?`p?`D? h? F?p?@C?q? F?p?D?p? F?p?C? h?H?q?H?p?H? h?`F?q?`F?p?`F?p?C?@q? F?@q?H?@q?`F?`l?H?`l?`F?`l? F?`m?C?k?H?m?H?k?`F?m?`F?m?C?k? F?m?@C?m? F?m?D?m?@C?m?`D?m?C?m?`C?m?`D? k?H?m?H? k?`F?m?`F? k? F?m?B?m? F?m?E?m?B?m?D?n?C?n?D?j?H? n?H?j?`F? n?`F?j? F?`n?`B? n? F?`n?`E?`n?B?`n?@E?n?B?n?E?j?H?n?H?j?`F?n?`F?j? F?o?@B?n? F?o?E?o?`B?o?`E?o?B?o?C?o? E?o?B?o?E?o?B?o?@E?`i? F?o?`B?`o? F?o?`E?`i?H?`o?H?`i?`F?`o?`F?o?C?o?D?p?B?p?D?h? F? p?B?p? F? p?E?h?H?p?H?h?`F?p?`F? p?`C? p?`D?@p?C?`p?@C?`p?`D? h? F?p?@C?q? F?p?D?p? F?p?C? h?H?q?H?p?H? h?`F?q?`F?p?`F?p?C?@q? F?@q?H?@q?`F?[^bcb^KMZ]ZM?AKMKA*,?A?, *,*  !!+-!-@B+-+BLN@B@N\_LNL_bc\_\cO5QC5O75C457(545(5555)565)856D58P5DQ5Pc^aVa^]MTGTMMAG;GAA,;.;,, .". ""      !$!!-$0$--B0=0BBN=I=NN_IXI__cXaXc`UYRYUYRQOQRUHRERHREOCOEH<E9E<E9C7C9</929/927472/#2&2#2&4(4&#&&&((


   %'%')'%1'3'1'3)6)31>3:3>3:686:>J:F:J:F8D8FJWFSFWFSDPDSW`SYS`SYPQPY*==>*>UUU>>UU>>>T;9d^;9V;h9; 9+:98j+88u 9Vh9R_9T.9*==>*>UUU>>UU>>xBMa?AxB;Da?AxB:a?AxB1a?AxB}'a?AxBa?AxBTa?AxB
a?AxB+a?A
%%&-%-a&`-`&pai`iapoiopwow|w|u|u~mumj~fmf~8j<f<j.;?+.@ +A BC%D-%E`-Fi`GoiHwoI|wJu|KmuLfmM<fN*==>*>UUU>>UU>>>T;9d^;9V;h9; 9+:98j+88u 9Vh9R_9T.9
@@ -5,7 +5,7 @@
"tangent_space_convention":"DirectX"
}
},
"generator":"Khronos glTF Blender I/O v3.6.28 and Asobo Studio MSFS2024 Blender I/O v5.4.3 with Blender v3.6.19",
"generator":"Khronos glTF Blender I/O v3.6.28 and Asobo Studio MSFS2024 Blender I/O v5.4.4 with Blender v3.6.19",
"version":"2.0"
},
"extensionsUsed":[
@@ -20,8 +20,7 @@
"name":"Scene",
"nodes":[
0,
1,
2
1
]
}
],
@@ -48,26 +47,6 @@
0.0004000000189989805,
0
]
},
{
"extensions":{
"ASOBO_unique_id":{
"id":"KH_MD11_MIP_HANDLEREL_BT"
}
},
"mesh":2,
"name":"KH_MD11_MIP_HANDLEREL_BT",
"rotation":[
0,
0.8038567900657654,
-0.594822883605957,
4.405300621089948e-15
],
"translation":[
-0.0029689352959394455,
0.8800935745239258,
26.598054885864258
]
}
],
"animations":[
@@ -84,28 +63,9 @@
"name":"KH_MD11_MIP_STBY_AI_SLIP_RNG",
"samplers":[
{
"input":18,
"input":12,
"interpolation":"LINEAR",
"output":19
}
]
},
{
"channels":[
{
"sampler":0,
"target":{
"node":2,
"path":"translation"
}
}
],
"name":"KH_MD11_MIP_HANDLEREL_BT",
"samplers":[
{
"input":20,
"interpolation":"LINEAR",
"output":21
"output":13
}
]
}
@@ -162,43 +122,6 @@
"metallicFactor":1,
"roughnessFactor":1
}
},
{
"alphaMode":"OPAQUE",
"doubleSided":false,
"emissiveFactor":[
0,
0,
0
],
"emissiveTexture":{
"index":0
},
"extras":{},
"name":"TF_MD11_VC_FWDPANEL",
"normalTexture":{
"index":1,
"scale":1
},
"occlusionTexture":{
"index":2
},
"pbrMetallicRoughness":{
"baseColorFactor":[
1,
1,
1,
1
],
"baseColorTexture":{
"index":3
},
"metallicFactor":1,
"metallicRoughnessTexture":{
"index":2
},
"roughnessFactor":1
}
}
],
"meshes":[
@@ -233,62 +156,6 @@
"material":1
}
]
},
{
"name":"KH_MD11_MIP_HANDLEREL_BT",
"primitives":[
{
"attributes":{
"COLOR_0":12,
"POSITION":13,
"NORMAL":14,
"TEXCOORD_0":15,
"TEXCOORD_1":16
},
"indices":17,
"material":2
}
]
}
],
"textures":[
{
"sampler":0,
"source":0
},
{
"sampler":0,
"source":1
},
{
"sampler":0,
"source":2
},
{
"sampler":0,
"source":3
}
],
"images":[
{
"mimeType":"image/png",
"name":"TF_MD11_VC_FWDPANEL_EMIS.PNG",
"uri":"../../../../../Blender/TF_MD11_VC_FWDPANEL_EMIS.PNG"
},
{
"mimeType":"image/png",
"name":"TF_MD11_VC_FWDPANEL_NORM.PNG",
"uri":"../../../../../Blender/TF_MD11_VC_FWDPANEL_NORM.PNG"
},
{
"mimeType":"image/png",
"name":"TF_MD11_VC_FWDPANEL_COMP.PNG",
"uri":"../../../../../Blender/TF_MD11_VC_FWDPANEL_COMP.PNG"
},
{
"mimeType":"image/png",
"name":"TF_MD11_VC_FWDPANEL_ALBD.PNG",
"uri":"../../../../../Blender/TF_MD11_VC_FWDPANEL_ALBD.PNG"
}
],
"accessors":[
@@ -388,53 +255,6 @@
},
{
"bufferView":12,
"componentType":5123,
"count":100,
"normalized":true,
"type":"VEC4"
},
{
"bufferView":13,
"componentType":5126,
"count":100,
"max":[
0.00528302788734436,
0.0032533109188079834,
0.0052832067012786865
],
"min":[
-0.00528302788734436,
-0.0032517611980438232,
-0.005282849073410034
],
"type":"VEC3"
},
{
"bufferView":14,
"componentType":5126,
"count":100,
"type":"VEC3"
},
{
"bufferView":15,
"componentType":5126,
"count":100,
"type":"VEC2"
},
{
"bufferView":16,
"componentType":5126,
"count":100,
"type":"VEC2"
},
{
"bufferView":17,
"componentType":5123,
"count":432,
"type":"SCALAR"
},
{
"bufferView":18,
"componentType":5126,
"count":10,
"max":[
@@ -446,28 +266,10 @@
"type":"SCALAR"
},
{
"bufferView":19,
"bufferView":13,
"componentType":5126,
"count":10,
"type":"VEC3"
},
{
"bufferView":20,
"componentType":5126,
"count":9,
"max":[
0.3333333333333333
],
"min":[
0
],
"type":"SCALAR"
},
{
"bufferView":21,
"componentType":5126,
"count":9,
"type":"VEC3"
}
],
"bufferViews":[
@@ -543,72 +345,20 @@
"byteOffset":142104,
"target":34963
},
{
"buffer":0,
"byteLength":800,
"byteOffset":143448,
"target":34962
},
{
"buffer":0,
"byteLength":1200,
"byteOffset":144248,
"target":34962
},
{
"buffer":0,
"byteLength":1200,
"byteOffset":145448,
"target":34962
},
{
"buffer":0,
"byteLength":800,
"byteOffset":146648,
"target":34962
},
{
"buffer":0,
"byteLength":800,
"byteOffset":147448,
"target":34962
},
{
"buffer":0,
"byteLength":864,
"byteOffset":148248,
"target":34963
},
{
"buffer":0,
"byteLength":40,
"byteOffset":149112
"byteOffset":143448
},
{
"buffer":0,
"byteLength":120,
"byteOffset":149152
},
{
"buffer":0,
"byteLength":36,
"byteOffset":149272
},
{
"buffer":0,
"byteLength":108,
"byteOffset":149308
}
],
"samplers":[
{
"magFilter":9729,
"minFilter":9987
"byteOffset":143488
}
],
"buffers":[
{
"byteLength":149416,
"byteLength":143608,
"uri":"TFDi_Design_MD-11_Fixes.bin"
}
]
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<ModelInfo guid="{898d05c8-24b3-43cf-ae6d-c76f0a03f8c3}" version="1.1">
<LODS>
<LOD minSize="0.0" ModelFile="TFDi_Design_MD-11_Walk_P.gltf" />
</LODS>
<Behaviors></Behaviors>
</ModelInfo>
File diff suppressed because one or more lines are too long
@@ -0,0 +1,280 @@
{
"asset":{
"extensions":{
"ASOBO_normal_map_convention":{
"tangent_space_convention":"DirectX"
}
},
"generator":"Khronos glTF Blender I/O v3.6.28 and Asobo Studio MSFS2024 Blender I/O v5.4.4 with Blender v3.6.19",
"version":"2.0"
},
"extensionsUsed":[
"ASOBO_normal_map_convention",
"ASOBO_unique_id",
"ASOBO_material_invisible",
"ASOBO_tags"
],
"scene":0,
"scenes":[
{
"name":"Scene",
"nodes":[
0
]
}
],
"nodes":[
{
"extensions":{
"ASOBO_unique_id":{
"id":"KH_collider"
}
},
"mesh":0,
"name":"KH_collider",
"translation":[
0,
1.0564844608306885,
0.4886360168457031
]
}
],
"materials":[
{
"alphaMode":"OPAQUE",
"doubleSided":false,
"emissiveFactor":[
0,
0,
0
],
"extensions":{
"ASOBO_material_invisible":{
"enabled":true
},
"ASOBO_tags":{
"tags":[
"Collision"
]
}
},
"extras":{},
"name":"TF_MD11_CABIN_COLLIDERS",
"pbrMetallicRoughness":{
"baseColorFactor":[
1,
1,
1,
1
],
"metallicFactor":1,
"roughnessFactor":1
}
}
],
"meshes":[
{
"name":"collider",
"primitives":[
{
"attributes":{
"COLOR_0":0,
"POSITION":1,
"NORMAL":2,
"TEXCOORD_0":3,
"TEXCOORD_1":4
},
"indices":5,
"material":0
},
{
"attributes":{
"COLOR_0":6,
"POSITION":7,
"NORMAL":8,
"TEXCOORD_0":9,
"TEXCOORD_1":10
},
"indices":11,
"material":0
}
]
}
],
"accessors":[
{
"bufferView":0,
"componentType":5123,
"count":2365,
"normalized":true,
"type":"VEC4"
},
{
"bufferView":1,
"componentType":5126,
"count":2365,
"max":[
3.072699546813965,
1.2688779830932617,
23.94736099243164
],
"min":[
-3.072699546813965,
-1.2688778638839722,
-23.94736099243164
],
"type":"VEC3"
},
{
"bufferView":2,
"componentType":5126,
"count":2365,
"type":"VEC3"
},
{
"bufferView":3,
"componentType":5126,
"count":2365,
"type":"VEC2"
},
{
"bufferView":4,
"componentType":5126,
"count":2365,
"type":"VEC2"
},
{
"bufferView":5,
"componentType":5123,
"count":9789,
"type":"SCALAR"
},
{
"bufferView":6,
"componentType":5123,
"count":67,
"normalized":true,
"type":"VEC4"
},
{
"bufferView":7,
"componentType":5126,
"count":67,
"max":[
2.8320136070251465,
0.8326348066329956,
-18.850662231445312
],
"min":[
1.535393238067627,
-1.1826108694076538,
-20.265697479248047
],
"type":"VEC3"
},
{
"bufferView":8,
"componentType":5126,
"count":67,
"type":"VEC3"
},
{
"bufferView":9,
"componentType":5126,
"count":67,
"type":"VEC2"
},
{
"bufferView":10,
"componentType":5126,
"count":67,
"type":"VEC2"
},
{
"bufferView":11,
"componentType":5123,
"count":168,
"type":"SCALAR"
}
],
"bufferViews":[
{
"buffer":0,
"byteLength":18920,
"byteOffset":0,
"target":34962
},
{
"buffer":0,
"byteLength":28380,
"byteOffset":18920,
"target":34962
},
{
"buffer":0,
"byteLength":28380,
"byteOffset":47300,
"target":34962
},
{
"buffer":0,
"byteLength":18920,
"byteOffset":75680,
"target":34962
},
{
"buffer":0,
"byteLength":18920,
"byteOffset":94600,
"target":34962
},
{
"buffer":0,
"byteLength":19578,
"byteOffset":113520,
"target":34963
},
{
"buffer":0,
"byteLength":536,
"byteOffset":133100,
"target":34962
},
{
"buffer":0,
"byteLength":804,
"byteOffset":133636,
"target":34962
},
{
"buffer":0,
"byteLength":804,
"byteOffset":134440,
"target":34962
},
{
"buffer":0,
"byteLength":536,
"byteOffset":135244,
"target":34962
},
{
"buffer":0,
"byteLength":536,
"byteOffset":135780,
"target":34962
},
{
"buffer":0,
"byteLength":336,
"byteOffset":136316,
"target":34963
}
],
"buffers":[
{
"byteLength":136652,
"uri":"TFDi_Design_MD-11_Walk_P.bin"
}
]
}
@@ -0,0 +1,2 @@
[models]
normal=TFDi_Design_MD-11_Walk.xml
@@ -18,5 +18,13 @@ animation = ""
sound = ""
soundai = ""
[FLTSIM.2]
title = TFDi_Design_MD-11_Walk_PAX
model = "p_walk"
texture = ""
animation = ""
sound = ""
soundai = ""
[GENERAL]
category = SimpleObject
+22
View File
@@ -0,0 +1,22 @@
import fs from "fs";
const file = fs.readFileSync("TFDi_MD11_PAX_CABIN_LOD0.gltf", {
encoding: "utf-8",
});
const model = JSON.parse(file);
model.animations.forEach((anim) => {
if (anim.name.includes("MD11_CAB_OVHDBIN")) {
const id = Number.parseInt(anim.channels[0].target.node);
const node = model.nodes[id];
const child = model.nodes[node.children[0]];
console.log(
`<UseTemplate Name="MD11_Bin">
<NODE_NAME>${child.name}</NODE_NAME>
<ANIM_NAME>${anim.name}</ANIM_NAME>
</UseTemplate>`
);
}
});
+22
View File
@@ -0,0 +1,22 @@
import fs from "fs";
const file = fs.readFileSync("TFDi_MD11_PAX_CABIN_LOD0.gltf", {
encoding: "utf-8",
});
const model = JSON.parse(file);
model.animations.forEach((anim) => {
if (anim.name.includes("MD11_CAB_WINDOWBLINDS")) {
const id = Number.parseInt(anim.channels[0].target.node);
const node = model.nodes[id];
const child = model.nodes[node.children[0]];
console.log(
`<UseTemplate Name="MD11_Blind">
<NODE_NAME>${child.name}</NODE_NAME>
<ANIM_NAME>${anim.name}</ANIM_NAME>
</UseTemplate>`
);
}
});
+26
View File
@@ -0,0 +1,26 @@
import fs from "fs";
const file = fs.readFileSync("TFDi_MD11_PAX_CABIN_LOD0.gltf", {
encoding: "utf-8",
});
const model = JSON.parse(file);
model.animations.forEach((anim) => {
if (anim.name.includes("MD11_CAB_ECON_TRAY")) {
let done = false;
anim.channels.forEach((channel) => {
const id = Number.parseInt(channel.target.node);
const node = model.nodes[id];
if (!done && node.name.includes("Clip")) {
done = true;
console.log(
`<UseTemplate Name="MD11_TrayTable">
<NODE_NAME>${node.name}</NODE_NAME>
<ANIM_NAME>${anim.name}</ANIM_NAME>
</UseTemplate>`
);
}
});
}
});
+35
View File
@@ -0,0 +1,35 @@
import fs from "fs";
const file = fs.readFileSync("TFDi_MD11_PAX_CABIN_LOD0.gltf", {
encoding: "utf-8",
});
const model = JSON.parse(file);
model.animations.forEach((anim) => {
if (anim.name.includes("MD11_CAB_FIRST_TRAY")) {
let done = false;
anim.channels.forEach((channel) => {
const id = Number.parseInt(channel.target.node);
const node = model.nodes[id];
const child = model.nodes.find(
(_child, index) =>
node &&
node.children &&
node.children.includes(index) &&
_child.name.includes("WheelArm")
);
if (!done && child && child.name.includes("WheelArm")) {
done = true;
console.log(
`<UseTemplate Name="MD11_TrayTable">
<NODE_NAME>${child.name}</NODE_NAME>
<ANIM_NAME>${anim.name}</ANIM_NAME>
<ANIM_LENGTH>50</ANIM_LENGTH>
<ANIM_LAG>50</ANIM_LAG>
</UseTemplate>`
);
}
});
}
});
+1 -1
View File
@@ -1,6 +1,6 @@
<UserSettings>
<CheckedOutPackages>
<Package Name="xkhofmann-md-11"/>
<Package Name="xkhofmann-tfdidesign-md11-fixes"/>
</CheckedOutPackages>
<SelectedPackages/>
<Filter/>