Aerial Simulations F-117

So as from my Google search it would seem that somebody did INDEED call it that

Ok, maybe A guy called it that. (actually that’s how the story goes) and that was basically after the program would have been declassified. Two of those photos aren’t even the 117. Anyway, it was not referred to by that name.

I recognise a B2 when I see one chief. My understanding is that the nickname was misinformation put out to play down its capabilities and I have always referred to it as such, affectionately btw. I once had a game on mega drive (genesis) F117 night storm that was basic as… but much played

Reply so I get the updates from the OP

Fantastic work on the modeling and texturing

1 Like

You don’t need to reply to get notifications.At the bottom there’s a little thing you can set and if you set it to ‘Watching’ then you’ll get notifications.
image

1 Like

Starting the cockpit decals, I think this might take a while…


14 Likes

Looking Excellent. Nice work.

This week I’ve got the decals onto the right side of the cockpit, and also added warning lights and functionality to the panels as I’ve gone along. Next week I will tackle the left panels and finally have a go at making the fuel system that I’ve been putting off doing :sweat_smile:


25 Likes

Hope your not going to make us manually crank the canopy open/close, like IRL. As the F-117 dose not have a canopy motor.

IRL it does have a motor, The manual handle took 322 turns to open or close the canopy.

6 Likes

Ok stand corrected! I watched a museum walk around where they where saying, and showed that there’s didn’t and had to use a hand crank/drill.

They where adamant that was how they where in service , to limit wait or power systems.

Guess was B/s

1 Like

This looks awesome - Wow!!! :heart_eyes: :+1:t2:

cant wait! :heart_eyes:

I decided to make some beautiful art to help me visualise the fuel system, I simplified a few aspects for ease of implementation but it is functionally the same as the real aircraft now! Only issue is on load you have to wait a minute for the fuel tanks to transfer fuel to the correct tanks. But it takes about that long to start it anyway. I could speed up the transfer but I’m not sure it’s necessary yet.

6 Likes

Oh now there is another nostalgia trip

This week I tackled the fuel system, Implementing the gauge and 4 switches on the panel. Overall these switches have accounted for 25% of the total lines of code in the project so far. I had to use a few new functions that I hadn’t touched before but after many hours of not knowing why it wasn’t working it’s finally all come together! I’ve pasted the fuel system code, see if you can spot any of the little edge cases I missed. I know of at least one which I think I should be able to fix without too much hassle, but I’m not gonna point it out :stuck_out_tongue_closed_eyes:

<Component ID="Fuel_Gauge">
			<UseTemplate Name="ASOBO_GT_Anim_Code">
				<ANIM_NAME>Fuel_needle</ANIM_NAME>
				<ANIM_CODE>
					(A:FUELSYSTEM TANK WEIGHT:1, lbs) 
					(A:FUELSYSTEM TANK WEIGHT:2, lbs) +
					(A:FUELSYSTEM TANK WEIGHT:3, lbs) +
					(A:FUELSYSTEM TANK WEIGHT:4, lbs) +
					(A:FUELSYSTEM TANK WEIGHT:5, lbs) +
					(A:FUELSYSTEM TANK WEIGHT:6, lbs) +
					(A:FUELSYSTEM TANK WEIGHT:7, lbs) +
					(A:FUELSYSTEM TANK WEIGHT:8, lbs) +
					1000 /
				</ANIM_CODE>
				<ANIM_LENGTH>25</ANIM_LENGTH>
				<ANIM_LAG>25</ANIM_LAG>
				<ANIM_WRAP>False</ANIM_WRAP>
			</UseTemplate>
		
			<Component ID="Total_fuel">
				<UseTemplate Name="ASOBO_GT_Anim_Code">
					<ANIM_NAME>totalfuel_100</ANIM_NAME>
					<ANIM_CODE>
						(A:FUELSYSTEM TANK WEIGHT:1, lbs) 
						(A:FUELSYSTEM TANK WEIGHT:2, lbs) +
						(A:FUELSYSTEM TANK WEIGHT:3, lbs) +
						(A:FUELSYSTEM TANK WEIGHT:4, lbs) +
						(A:FUELSYSTEM TANK WEIGHT:5, lbs) +
						(A:FUELSYSTEM TANK WEIGHT:6, lbs) +
						(A:FUELSYSTEM TANK WEIGHT:7, lbs) +
						(A:FUELSYSTEM TANK WEIGHT:8, lbs) +
						1000 / 1 % 10 *
					</ANIM_CODE>
					<ANIM_LENGTH>10</ANIM_LENGTH>
					<ANIM_LAG>10</ANIM_LAG>
					<ANIM_WRAP>True</ANIM_WRAP>
				</UseTemplate>
				<UseTemplate Name="ASOBO_GT_Anim_Code">
					<ANIM_NAME>totalfuel_1000</ANIM_NAME>
					<ANIM_CODE>
						(A:FUELSYSTEM TANK WEIGHT:1, lbs) 
						(A:FUELSYSTEM TANK WEIGHT:2, lbs) +
						(A:FUELSYSTEM TANK WEIGHT:3, lbs) +
						(A:FUELSYSTEM TANK WEIGHT:4, lbs) +
						(A:FUELSYSTEM TANK WEIGHT:5, lbs) +
						(A:FUELSYSTEM TANK WEIGHT:6, lbs) +
						(A:FUELSYSTEM TANK WEIGHT:7, lbs) +
						(A:FUELSYSTEM TANK WEIGHT:8, lbs) +
						10000 / 1 % 10 * flr
					</ANIM_CODE>
					<ANIM_LENGTH>10</ANIM_LENGTH>
					<ANIM_LAG>1</ANIM_LAG>
					<ANIM_WRAP>True</ANIM_WRAP>
				</UseTemplate>
				<UseTemplate Name="ASOBO_GT_Anim_Code">
					<ANIM_NAME>totalfuel_10000</ANIM_NAME>
					<ANIM_CODE>
						(A:FUELSYSTEM TANK WEIGHT:1, lbs) 
						(A:FUELSYSTEM TANK WEIGHT:2, lbs) +
						(A:FUELSYSTEM TANK WEIGHT:3, lbs) +
						(A:FUELSYSTEM TANK WEIGHT:4, lbs) +
						(A:FUELSYSTEM TANK WEIGHT:5, lbs) +
						(A:FUELSYSTEM TANK WEIGHT:6, lbs) +
						(A:FUELSYSTEM TANK WEIGHT:7, lbs) +
						(A:FUELSYSTEM TANK WEIGHT:8, lbs) +
						10000 / flr
					</ANIM_CODE>
					<ANIM_LENGTH>10</ANIM_LENGTH>
					<ANIM_LAG>10</ANIM_LAG>
					<ANIM_WRAP>True</ANIM_WRAP>
				</UseTemplate>
			</Component>
			
			<Component ID="Fuel_selector_knob" Node="Fuel_selector_knob">
				
				<UseTemplate Name="ASOBO_GT_Knob_Finite_Code">
					<COUNT>5</COUNT>
					<ANIM_LENGTH>4</ANIM_LENGTH>
					<ANIM_CODE>(L:Fuel_selector_knob, number)</ANIM_CODE>
					<ANIM_NAME>Fuel_selector_knob</ANIM_NAME>
					<CLOCKWISE_CODE>(L:Fuel_selector_knob, number) 4 &lt; if{ (L:Fuel_selector_knob, number) 1 + (&gt;L:Fuel_selector_knob, number) }</CLOCKWISE_CODE>
					<ANTICLOCKWISE_CODE>(L:Fuel_selector_knob, number) 0 &gt; if{ (L:Fuel_selector_knob, number) 1 - (&gt;L:Fuel_selector_knob, number) }</ANTICLOCKWISE_CODE>
				</UseTemplate>

			</Component>
			
			<Component ID="Fuel_quantity_Left">
				<UseTemplate Name="ASOBO_GT_Anim_Code">
					<ANIM_NAME>l_fuel_100</ANIM_NAME>
					<ANIM_CODE>
						(L:Fuel_selector_knob, number) 0 == if{ (A:FUELSYSTEM TANK WEIGHT:1, lbs) 
						(A:FUELSYSTEM TANK WEIGHT:3, lbs) + 
						(A:FUELSYSTEM TANK WEIGHT:5, lbs) + 
						(A:FUELSYSTEM TANK WEIGHT:7, lbs) + 1000 / 1 % 10 * } els{ 
						(L:Fuel_selector_knob, number) 1 == if{ (A:FUELSYSTEM TANK WEIGHT:1, lbs)  1000 / 1 % 10 * } els{ 
						(L:Fuel_selector_knob, number) 2 == if{ (A:FUELSYSTEM TANK WEIGHT:5, lbs)  1000 / 1 % 10 * } els{
						(L:Fuel_selector_knob, number) 3 == if{ (A:FUELSYSTEM TANK WEIGHT:3, lbs)  1000 / 1 % 10 * } els{
						(L:Fuel_selector_knob, number) 4 == if{ (A:FUELSYSTEM TANK WEIGHT:7, lbs)  1000 / 1 % 10 * } 
						}
						}
						}
						}
					</ANIM_CODE>
					<ANIM_LENGTH>10</ANIM_LENGTH>
					<ANIM_LAG>10</ANIM_LAG>
					<ANIM_WRAP>True</ANIM_WRAP>
				</UseTemplate>
				
				<UseTemplate Name="ASOBO_GT_Anim_Code">
					<ANIM_NAME>l_fuel_1000</ANIM_NAME>
					<ANIM_CODE>
						(L:Fuel_selector_knob, number) 0 == if{ (A:FUELSYSTEM TANK WEIGHT:1, lbs) 
						(A:FUELSYSTEM TANK WEIGHT:3, lbs) + 
						(A:FUELSYSTEM TANK WEIGHT:5, lbs) + 
						(A:FUELSYSTEM TANK WEIGHT:7, lbs) + 1000 / flr } els{ 
						(L:Fuel_selector_knob, number) 1 == if{ (A:FUELSYSTEM TANK WEIGHT:1, lbs)  1000 / flr } els{ 
						(L:Fuel_selector_knob, number) 2 == if{ (A:FUELSYSTEM TANK WEIGHT:5, lbs)  1000 / flr } els{
						(L:Fuel_selector_knob, number) 3 == if{ (A:FUELSYSTEM TANK WEIGHT:3, lbs)  1000 / flr } els{
						(L:Fuel_selector_knob, number) 4 == if{ (A:FUELSYSTEM TANK WEIGHT:7, lbs)  1000 / flr } 
						}
						}
						}
						}
					</ANIM_CODE>
					<ANIM_LENGTH>10</ANIM_LENGTH>
					<ANIM_LAG>10</ANIM_LAG>
					<ANIM_WRAP>True</ANIM_WRAP>
				</UseTemplate>
				
			</Component>
			
			<Component ID="Fuel_quantity_Right">
				<UseTemplate Name="ASOBO_GT_Anim_Code">
					<ANIM_NAME>r_fuel_100</ANIM_NAME>
					<ANIM_CODE>
						(L:Fuel_selector_knob, number) 0 == if{ (A:FUELSYSTEM TANK WEIGHT:2, lbs) 
						(A:FUELSYSTEM TANK WEIGHT:4, lbs) + 
						(A:FUELSYSTEM TANK WEIGHT:6, lbs) + 
						(A:FUELSYSTEM TANK WEIGHT:8, lbs) + 1000 / 1 % 10 * } els{ 
						(L:Fuel_selector_knob, number) 1 == if{ (A:FUELSYSTEM TANK WEIGHT:2, lbs)  1000 / 1 % 10 * } els{ 
						(L:Fuel_selector_knob, number) 2 == if{ (A:FUELSYSTEM TANK WEIGHT:6, lbs)  1000 / 1 % 10 * } els{
						(L:Fuel_selector_knob, number) 3 == if{ (A:FUELSYSTEM TANK WEIGHT:4, lbs)  1000 / 1 % 10 * } els{
						(L:Fuel_selector_knob, number) 4 == if{ (A:FUELSYSTEM TANK WEIGHT:8, lbs)  1000 / 1 % 10 * } 
						}
						}
						}
						}
					</ANIM_CODE>
					<ANIM_LENGTH>10</ANIM_LENGTH>
					<ANIM_LAG>10</ANIM_LAG>
					<ANIM_WRAP>True</ANIM_WRAP>
				</UseTemplate>
				
				<UseTemplate Name="ASOBO_GT_Anim_Code">
					<ANIM_NAME>r_fuel_1000</ANIM_NAME>
					<ANIM_CODE>
						(L:Fuel_selector_knob, number) 0 == if{ (A:FUELSYSTEM TANK WEIGHT:2, lbs) 
						(A:FUELSYSTEM TANK WEIGHT:4, lbs) + 
						(A:FUELSYSTEM TANK WEIGHT:6, lbs) + 
						(A:FUELSYSTEM TANK WEIGHT:8, lbs) + 1000 / flr } els{ 
						(L:Fuel_selector_knob, number) 1 == if{ (A:FUELSYSTEM TANK WEIGHT:2, lbs)  1000 / flr } els{ 
						(L:Fuel_selector_knob, number) 2 == if{ (A:FUELSYSTEM TANK WEIGHT:6, lbs)  1000 / flr } els{
						(L:Fuel_selector_knob, number) 3 == if{ (A:FUELSYSTEM TANK WEIGHT:4, lbs)  1000 / flr } els{
						(L:Fuel_selector_knob, number) 4 == if{ (A:FUELSYSTEM TANK WEIGHT:8, lbs)  1000 / flr } 
						}
						}
						}
						}
					</ANIM_CODE>
					<ANIM_LENGTH>10</ANIM_LENGTH>
					<ANIM_LAG>10</ANIM_LAG>
					<ANIM_WRAP>True</ANIM_WRAP>
				</UseTemplate>
			</Component>
			
			<Component ID="Fuel_Bingo_Set" Node="Fuel_Bingo_Set">
				<UseInputEvent ID="INSTRUMENT">
					<TCN_ID>1</TCN_ID>
					<ON_AFTER_INC_EXTERNAL_CODE>(O:_KnobAnimVar) 10 + dnor (&gt;O:_KnobAnimVar)</ON_AFTER_INC_EXTERNAL_CODE>
					<ON_AFTER_DEC_EXTERNAL_CODE>(O:_KnobAnimVar) 10 - dnor (&gt;O:_KnobAnimVar)</ON_AFTER_DEC_EXTERNAL_CODE>
				</UseInputEvent>
				<UseTemplate Name="ASOBO_GT_Knob_Infinite">
					<Condition Check="KNOB_HIGHLIGHT_NODE_ID">
						<HIGHLIGHT_NODE_ID>Fuel_Bingo_Set</HIGHLIGHT_NODE_ID>
					</Condition>
					<ANIM_NAME>Fuel_Bingo_Set</ANIM_NAME>
					<CLOCKWISE_CODE_DEFAULT_IM>(L:Fuel_Bingo_Set, number) 250 &lt; if{ (L:Fuel_Bingo_Set, number) 1 + (&gt;L:Fuel_Bingo_Set, number) }</CLOCKWISE_CODE_DEFAULT_IM>
					<ANTICLOCKWISE_CODE_DEFAULT_IM>(L:Fuel_Bingo_Set, number) 0 &gt; if{ (L:Fuel_Bingo_Set, number) 1 - (&gt;L:Fuel_Bingo_Set, number) }</ANTICLOCKWISE_CODE_DEFAULT_IM>
					<CLOCKWISE_CODE_DRAG_IM>(L:Fuel_Bingo_Set, number) 250 &lt; if{ (L:Fuel_Bingo_Set, number) 1 + (&gt;L:Fuel_Bingo_Set, number) }</CLOCKWISE_CODE_DRAG_IM>
					<ANTICLOCKWISE_CODE_DRAG_IM>(L:Fuel_Bingo_Set, number) 0 &gt; if{ (L:Fuel_Bingo_Set, number) 1 - (&gt;L:Fuel_Bingo_Set, number) }</ANTICLOCKWISE_CODE_DRAG_IM>
				</UseTemplate>
			</Component>
			
			<UseTemplate Name="ASOBO_GT_Anim_Code">
				<ANIM_NAME>Fuel_bingo_pointer</ANIM_NAME>
				<ANIM_CODE>
					(L:Fuel_Bingo_Set, number) 10 /
				</ANIM_CODE>
				<ANIM_LENGTH>25</ANIM_LENGTH>
				<ANIM_LAG>25</ANIM_LAG>
				<ANIM_WRAP>False</ANIM_WRAP>
			</UseTemplate>
			
			<UseTemplate Name="ASOBO_SAFETY_Indicator_Template">
				<NODE_ID>fuel_quantity_bingo_light</NODE_ID>
				<EMISSIVE_CODE>
					(L:Fuel_Bingo_Set, number)
					(A:FUELSYSTEM TANK WEIGHT:1, lbs) 
					(A:FUELSYSTEM TANK WEIGHT:2, lbs) +
					(A:FUELSYSTEM TANK WEIGHT:3, lbs) +
					(A:FUELSYSTEM TANK WEIGHT:4, lbs) +
					(A:FUELSYSTEM TANK WEIGHT:5, lbs) +
					(A:FUELSYSTEM TANK WEIGHT:6, lbs) +
					(A:FUELSYSTEM TANK WEIGHT:7, lbs) +
					(A:FUELSYSTEM TANK WEIGHT:8, lbs) +
					100 / &gt;=				 
				</EMISSIVE_CODE>
			</UseTemplate>
			
			<UseTemplate Name="ASOBO_GT_Anim_Code">
				<ANIM_NAME>Fuel_off_flag</ANIM_NAME>
				<ANIM_CODE>
					(A:ELECTRICAL MASTER BATTERY, Bool)
				</ANIM_CODE>
				<ANIM_LENGTH>1</ANIM_LENGTH>
				<ANIM_LAG>1</ANIM_LAG>
				<ANIM_WRAP>False</ANIM_WRAP>
			</UseTemplate>
			
		</Component>
	
		<Component ID="Left_Glareshield">
			<Component ID="LENG_push_switchlight" Node="left_eng_fuelcut_switchlight">
			
				<UseTemplate Name="ASOBO_SAFETY_Indicator_Template">
					<NODE_ID>SAFETY_LENG_PUSH</NODE_ID>
					<EMISSIVE_CODE>
						(A:GENERAL ENG FIRE DETECTED:1, Bool)
					</EMISSIVE_CODE>
				</UseTemplate>
				<UseTemplate Name="ASOBO_SAFETY_Indicator_Template">
					<NODE_ID>SAFETY_LENG_PUSH_ON</NODE_ID>
					<EMISSIVE_CODE>
						(A:FUELSYSTEM VALVE SWITCH:7, bool) !  (A:GENERAL ENG FIRE DETECTED:1, Bool) or
					</EMISSIVE_CODE>
				</UseTemplate>
				<UseTemplate Name="ASOBO_GT_Push_Button">
					<ANIM_NAME>left_eng_fuelcut_switchlight</ANIM_NAME>
					<LEFT_SINGLE_CODE>7 (&gt;K:FUELSYSTEM_VALVE_TOGGLE)</LEFT_SINGLE_CODE>
				</UseTemplate>				
			</Component>
		</Component>
		
		<Component ID="Right_Glareshield">
		
			<Component ID="APU_push_switchlight" Node="Apu_fuelcut_switchlight">
			
				<UseTemplate Name="ASOBO_SAFETY_Indicator_Template">
					<NODE_ID>SAFETY_APU_PUSH</NODE_ID>
					<EMISSIVE_CODE>
						(A:APU ON FIRE DETECTED, Bool)
					</EMISSIVE_CODE>
				</UseTemplate>
				<UseTemplate Name="ASOBO_SAFETY_Indicator_Template">
					<NODE_ID>SAFETY_APU_PUSH_ON</NODE_ID>
					<EMISSIVE_CODE>
						(A:FUELSYSTEM VALVE SWITCH:10, bool) ! (A:APU ON FIRE DETECTED, Bool) or 
					</EMISSIVE_CODE>
				</UseTemplate>
				<UseTemplate Name="ASOBO_GT_Push_Button">
					<ANIM_NAME>Apu_fuelcut_switchlight</ANIM_NAME>
					<LEFT_SINGLE_CODE>10 (&gt;K:FUELSYSTEM_VALVE_TOGGLE)</LEFT_SINGLE_CODE>
				</UseTemplate>				
			</Component>
			
			<Component ID="RENG_push_switchlight" Node="right_eng_fuelcut_switchlight">
			
				<UseTemplate Name="ASOBO_SAFETY_Indicator_Template">
					<NODE_ID>SAFETY_RENG_PUSH</NODE_ID>
					<EMISSIVE_CODE>
						(A:GENERAL ENG FIRE DETECTED:2, Bool)
					</EMISSIVE_CODE>
				</UseTemplate>
				<UseTemplate Name="ASOBO_SAFETY_Indicator_Template">
					<NODE_ID>SAFETY_RENG_PUSH_ON</NODE_ID>
					<EMISSIVE_CODE>
						(A:FUELSYSTEM VALVE SWITCH:8, bool) !  (A:GENERAL ENG FIRE DETECTED:2, Bool) or
					</EMISSIVE_CODE>
				</UseTemplate>
				<UseTemplate Name="ASOBO_GT_Push_Button">
					<ANIM_NAME>right_eng_fuelcut_switchlight</ANIM_NAME>
					<LEFT_SINGLE_CODE>8 (&gt;K:FUELSYSTEM_VALVE_TOGGLE)</LEFT_SINGLE_CODE>
				</UseTemplate>				
			</Component>
			
			<UseTemplate Name="ASOBO_SAFETY_Indicator_Template">
				<NODE_ID>SAFETY_ar_open</NODE_ID>
				<EMISSIVE_CODE>
					0
				</EMISSIVE_CODE>
			</UseTemplate>
			
			<UseTemplate Name="ASOBO_SAFETY_Indicator_Template">
				<NODE_ID>SAFETY_AR_ready</NODE_ID>
				<EMISSIVE_CODE>
					0
				</EMISSIVE_CODE>
			</UseTemplate>
			
			<UseTemplate Name="ASOBO_SAFETY_Indicator_Template">
				<NODE_ID>SAFETY_AR_latch</NODE_ID>
				<EMISSIVE_CODE>
					0
				</EMISSIVE_CODE>
			</UseTemplate>
			
			<UseTemplate Name="ASOBO_SAFETY_Indicator_Template">
				<NODE_ID>SAFETY_AR_disc</NODE_ID>
				<EMISSIVE_CODE>
					0
				</EMISSIVE_CODE>
			</UseTemplate>
		</Component>
		
		<Component ID="Fuel_PANEL">
			<UseTemplate Name="ASOBO_SAFETY_Indicator_Template">
				<NODE_ID>SAFETY_AR_manovride_on</NODE_ID>
				<EMISSIVE_CODE>
					(L:AR_Override, bool)
				</EMISSIVE_CODE>
			</UseTemplate>
			
			<Component ID="AR_oride_switchlight" Node="AR_oride_switchlight">
				<UseTemplate Name="ASOBO_GT_Push_Button">
					<ANIM_NAME>AR_oride_switchlight</ANIM_NAME>
					<LEFT_SINGLE_CODE>(L:AR_Override, bool) ! if{ 1 (&gt;L:AR_Override, bool) } els{ 0 (&gt;L:AR_Override, bool) }</LEFT_SINGLE_CODE>
				</UseTemplate>
			</Component>
			
			<Component ID="Crossfeed_Fuel_Valve_switch">
				<UseTemplate Name="ASOBO_GT_Switch_Covered">
					<COVER_NODE_ID>Crossfeed_valve_guard</COVER_NODE_ID>
					<COVER_IE_NAME>Crossfeed_valve_guard</COVER_IE_NAME>
					<COVER_IE_ID_SOURCE>COMMON</COVER_IE_ID_SOURCE>
					<COVER_ANIM_NAME>Crossfeed_valve_guard</COVER_ANIM_NAME>
					<COVER_HIGHLIGHT_NODE_ID>Crossfeed_valve_guard</COVER_HIGHLIGHT_NODE_ID>
					<LEFT_SINGLE_CODE>
						(L:Crossfeed_valve_switch, bool) if{
						0 (&gt;L:Crossfeed_valve_switch, bool)
						(A:FUELSYSTEM TANK WEIGHT:5, lbs) 500 &lt; 
						(A:FUELSYSTEM TANK WEIGHT:6, lbs) 500 &lt; or
						(L:Feed_source_switch, number) 0 == 
						(L:Feed_source_switch, number) 2 == or or if{ 
						9 (&gt;K:FUELSYSTEM_VALVE_OPEN) 
						}
						} els{
						9 (&gt;K:FUELSYSTEM_VALVE_CLOSE) 
						1 (&gt;L:Crossfeed_valve_switch, bool)
						}													
					</LEFT_SINGLE_CODE>
					<SWITCH_ANIM_NAME>Crossfeed_valve_switch</SWITCH_ANIM_NAME>
					<SWITCH_NODE_ID>Crossfeed_valve_switch</SWITCH_NODE_ID>
					<ANIM_CODE>(L:Crossfeed_valve_switch, bool) 100 *</ANIM_CODE>
				</UseTemplate>
			</Component>
			
			<Component ID="feed_source_switch" Node="feed_source_switch">
				<UseTemplate Name="ASOBO_GT_Switch_3States">
					<INVERT_ANIM>True</INVERT_ANIM>
					<GET_INIT_STATE_EXTERNAL>1</GET_INIT_STATE_EXTERNAL>
					<ANIM_NAME>feed_source_switch</ANIM_NAME>
					<SWITCH_DIRECTION>Horizontal</SWITCH_DIRECTION>
					<CODE_POS_2>
						0 (&gt;L:Feed_source_switch, number) 
						2 (&gt;K:FUELSYSTEM_PUMP_TOGGLE)
						9 (&gt;K:FUELSYSTEM_VALVE_OPEN)
					</CODE_POS_2>
					<CODE_POS_1> 
						1 (&gt;L:Feed_source_switch, number) 
						(A:FUELSYSTEM TANK WEIGHT:5, lbs) 500 &lt; (A:FUELSYSTEM TANK WEIGHT:6, lbs) 500 &lt; or if{
						9 (&gt;K:FUELSYSTEM_VALVE_OPEN)
						4 (&gt;K:FUELSYSTEM_PUMP_ON)
						2 (&gt;K:FUELSYSTEM_PUMP_ON)						
						} els{
						9 (&gt;K:FUELSYSTEM_VALVE_CLOSE)
						4 (&gt;K:FUELSYSTEM_PUMP_ON)
						2 (&gt;K:FUELSYSTEM_PUMP_ON)
						}
					</CODE_POS_1>
					<CODE_POS_0>
						2 (&gt;L:Feed_source_switch, number)
						4 (&gt;K:FUELSYSTEM_PUMP_TOGGLE)
						9 (&gt;K:FUELSYSTEM_VALVE_OPEN)
					</CODE_POS_0>
					<STATE2_TEST>(L:Feed_source_switch, number) 0 == (A:FUELSYSTEM PUMP SWITCH:2, bool) ! and</STATE2_TEST>
					<STATE1_TEST>(L:Feed_source_switch, number) 1 == (A:FUELSYSTEM PUMP SWITCH:4, bool) (A:FUELSYSTEM PUMP SWITCH:2, bool) and or</STATE1_TEST>
					<STATE0_TEST>(L:Feed_source_switch, number) 2 == (A:FUELSYSTEM PUMP SWITCH:4, bool) ! and</STATE0_TEST>
				</UseTemplate>
			</Component>
			
			<Component ID="inert_switch" Node="inert_switch">
				<UseTemplate Name="ASOBO_GT_Switch_3States">
					<ANIM_NAME>inert_switch</ANIM_NAME>
					<CODE_POS_0>
						0 (&gt;L:Fuel_inert_switch, number)
					</CODE_POS_0>
					<CODE_POS_1> 
						1 (&gt;L:Fuel_inert_switch, number)
						0 (&gt;L:Fuel_inert_light, bool) 
					</CODE_POS_1>
					<CODE_POS_2>
						2 (&gt;L:Fuel_inert_switch, number)
						1 (&gt;L:Fuel_inert_light, bool)				
					</CODE_POS_2>
					<STATE0_TEST>(L:Fuel_inert_switch, number) 0 ==</STATE0_TEST>
					<STATE1_TEST>(L:Fuel_inert_switch, number) 1 ==</STATE1_TEST>
					<STATE2_TEST>(L:Fuel_inert_switch, number) 2 ==</STATE2_TEST>
				</UseTemplate>
			</Component>
			
			
			<Component ID="inert_lights">
				<UseTemplate Name="ASOBO_SAFETY_Indicator_Template">
					<NODE_ID>SAFETY_fuel_inert</NODE_ID>
					<EMISSIVE_CODE>
						(A:SIM ON GROUND, bool) ! if{
						(L:Fuel_inert_light, bool)
						} 
					</EMISSIVE_CODE>
				</UseTemplate>
			
				<UseTemplate Name="ASOBO_SAFETY_Indicator_Template">
					<NODE_ID>SAFETY_fuel_sustain</NODE_ID>
					<EMISSIVE_CODE>
						(A:SIM ON GROUND, bool) ! if{
						(L:Fuel_inert_switch, number) 0 == if{
						(A:FUELSYSTEM TANK WEIGHT:1, lbs) 
						(A:FUELSYSTEM TANK WEIGHT:2, lbs) +
						(A:FUELSYSTEM TANK WEIGHT:3, lbs) +
						(A:FUELSYSTEM TANK WEIGHT:4, lbs) +
						(A:FUELSYSTEM TANK WEIGHT:5, lbs) +
						(A:FUELSYSTEM TANK WEIGHT:6, lbs) +
						(A:FUELSYSTEM TANK WEIGHT:7, lbs) +
						(A:FUELSYSTEM TANK WEIGHT:8, lbs) +
						8600 &lt;
						} els{
						(L:Fuel_inert_switch, number) 2 == 
						}
						}
					</EMISSIVE_CODE>
				</UseTemplate>
				
				<UseTemplate Name="ASOBO_GT_Update">
					<UPDATE_CODE>
						(L:Fuel_inert_switch, number) 0 == if{
						(O:XMLVAR_INERT_LIGHT_DONE) 0 == if{
						(A:FUELSYSTEM TANK WEIGHT:1, lbs) 
						(A:FUELSYSTEM TANK WEIGHT:2, lbs) +
						(A:FUELSYSTEM TANK WEIGHT:3, lbs) +
						(A:FUELSYSTEM TANK WEIGHT:4, lbs) +
						(A:FUELSYSTEM TANK WEIGHT:5, lbs) +
						(A:FUELSYSTEM TANK WEIGHT:6, lbs) +
						(A:FUELSYSTEM TANK WEIGHT:7, lbs) +
						(A:FUELSYSTEM TANK WEIGHT:8, lbs) +
						8600 &lt; if{
						1 (&gt;L:Fuel_inert_light, bool)
						1 (&gt;O:XMLVAR_INERT_LIGHT_DONE)
						}
						}
						}
						(L:Fuel_inert_light, bool) ! if{ g1 }
						(O:XMLVAR_INERT_LIGHT_Time) 0 == if{
						(E:SIMULATION TIME, seconds) 60 + (&gt;O:XMLVAR_INERT_LIGHT_Time)
						}
						(O:XMLVAR_INERT_LIGHT_Time) (E:SIMULATION TIME, seconds) &lt; if{
						0 (&gt;L:Fuel_inert_light, bool)
						}
						quit :1 0 (&gt;O:XMLVAR_INERT_LIGHT_Time) quit						
					</UPDATE_CODE>
				</UseTemplate>
			</Component>	
4 Likes

On Steam they are working on a game called Stealth Fighter D.E.C ( or DEX), based on the 90’s games. Looking forward to bombing and evading fighters again!

1 Like

Very nice aircraft, I’ll be a gitten it.

1 Like

Very cool… I would be into this

1 Like