• Warbirds Library V4 (Resources for now) How to


    We just posted part one of the how to on uploading new files to the Library. Part 1 covers adding new files. Part 2 will cover making changes to your the uploads you own.


    Questions or comments please post them in the regular forums. Which forum is that... Well it is the one you spend the most time in.

    Thanks the Staff

    Library How to

Native FSX Mitsubishi F-2A and F-2B test release

To KBT

First of all thank you for all that perfect models and the devotion to them

Really thank you

Roland

Second-->question no critisism or so

Will we get the old VC as internal FSX/ P3D model as well?
Why ?It was closer to a real F-2 as far as i recall

attachment.php
attachment.php


Still need to repair again the HUD
 

Attachments

  • F-2_Cockpit.jpg
    F-2_Cockpit.jpg
    143.5 KB · Views: 18
  • 2018-1-14_14-5-32-817.jpg
    2018-1-14_14-5-32-817.jpg
    61.6 KB · Views: 18
To KBT

First of all thank you for all that perfect models and the devotion to them

Really thank you

Roland

Second-->question no critisism or so

Will we get the old VC as internal FSX/ P3D model as well?
Why ?It was closer to a real F-2 as far as i recall

attachment.php
attachment.php


Still need to repair again the HUD




VC will be added in the next version.
The immediate problem.
Creation of HUD in FSX.
Create a switch with integrated landing light and taxing light.
Creation of these is a series of failures. It will take time to complete.
 
The original F-2 HUD as quite nice. It just needs to be collimated but I guess it's easier said than done...
This topic brought nice memories about the original version of this plane. I used to fly it quite often back in my FSX days, it was probably one of the nicest freeware jets I had at that time. :applause:

daube_image1001.jpg
 
Cool to hear a VC is coming! The Iris F-16D hasn't been available for sale for 3-4 years and I don't think it was ever re-released by anyone else, or I'd have just considered grabbing it!
 
thank you

HUD yes difficult
switch-sounds easy--->XML?

Roland

Yes, HUD is difficult. Moreover, the XML of the lighting switch with the top, middle and lower positions is also difficult. (The top is the landing light, the middle is OFF, the lower position is the taxi light)
 
The original F-2 HUD as quite nice. It just needs to be collimated but I guess it's easier said than done...
This topic brought nice memories about the original version of this plane. I used to fly it quite often back in my FSX days, it was probably one of the nicest freeware jets I had at that time. :applause:

daube_image1001.jpg



Is this image FS9?
 
Cool to hear a VC is coming! The Iris F-16D hasn't been available for sale for 3-4 years and I don't think it was ever re-released by anyone else, or I'd have just considered grabbing it!


Apparently it seems so.
 
Yes, HUD is difficult. Moreover, the XML of the lighting switch with the top, middle and lower positions is also difficult. (The top is the landing light, the middle is OFF, the lower position is the taxi light)

Animation: Keyframe 0 = down (Taxi), 25 = middle (Off), 50 = up (Landing)

Code:
<Animation name="F-2_TaxiLdg_Light_Switch" guid="0aef10f5-4c5d-47c3-8e2e-5ae63e0474d9" length="50" type="Sim" typeParam2="F-2_TaxiLdg_Light_Switch" typeParam="AutoPlay" />

<PartInfo>
<Name>F-2_TaxiLdg_Light_Switch</Name>
<AnimLength>50</AnimLength>
<Animation>
<Parameter>
<Code>(L:F-2 Taxi Landing Light Switch, number) 25 * 25 +</Code>
<Lag>100</Lag>
</Parameter>
</Animation>
<MouseRect>
<Cursor>Hand</Cursor>
<TooltipText>Landing/Taxi Light Switch (%((L:F-2 Taxi Landing Light Switch, number))%{case}%{:-1}Taxi Light On%{:0}Off%{:1}Landing Light On%{end})</TooltipText>
<MouseFlags>LeftSingle+RightSingle</MouseFlags>
<CallbackCode>
(M:Event) 'LeftSingle' scmp 0 == (L:F-2 Taxi Landing Light Switch, number) 0 == and if{ 1 (>L:F-2 Taxi Landing Light Switch, number) }

(M:Event) 'LeftSingle' scmp 0 == (M:Event) 'RightSingle' scmp 0 == or (L:F-2 Taxi Landing Light Switch,  number) 0 != and if{ 0 (>L:F-2 Taxi Landing Light Switch, number) }

(M:Event) 'RightSingle' scmp 0 == (L:F-2 Taxi Landing Light Switch,  number) 0 == and if{ -1 (>L:F-2 Taxi Landing Light Switch, number) }

(L:F-2 Taxi Landing Light Switch, number) 1 == (A:LIGHT LANDING, bool) ! and if{ (>K:LANDING_LIGHTS_TOGGLE) }
(L:F-2 Taxi Landing Light Switch, number) -1 == (A:LIGHT TAXI, bool) ! and if{ (>K:TOGGLE_TAXI_LIGHTS) }

(L:F-2 Taxi Landing Light Switch, number) 0 == (A:LIGHT LANDING, bool) and if{ (>K:LANDING_LIGHTS_TOGGLE) }
(L:F-2 Taxi Landing Light Switch, number) 0 == (A:LIGHT TAXI, bool) and if{ (>K:TOGGLE_TAXI_LIGHTS) }
</CallbackCode>
</MouseRect>
</PartInfo>

That should work.
 
Last edited:
Animation: Keyframe 0 = down (Taxi), 25 = middle (Off), 50 = up (Landing)

Code:
<Animation name="F-2_TaxiLdg_Light_Switch" guid="0aef10f5-4c5d-47c3-8e2e-5ae63e0474d9" length="50" type="Sim" typeParam2="F-2_TaxiLdg_Light_Switch" typeParam="AutoPlay" />

<PartInfo>
<Name>F-2_TaxiLdg_Light_Switch</Name>
<AnimLength>50</AnimLength>
<Animation>
<Parameter>
<Code>(L:F-2 Taxi Landing Light Switch, number) 25 * 25 +</Code>
<Lag>100</Lag>
</Parameter>
</Animation>
<MouseRect>
<Cursor>Hand</Cursor>
<TooltipText>Landing/Taxi Light Switch (%((L:F-2 Taxi Landing Light Switch, number))%{case}%{:-1}Taxi Light On%{:0}Off%{:1}Landing Light On%{end}</TooltipText>
<MouseFlags>LeftSingle+RightSingle</MouseFlags>
<CallbackCode>
(M:Event) 'LeftSingle' scmp 0 == (L:F-2 Taxi Landing Light Switch, number) 0 == and if{ 1 (>L:F-2 Taxi Landing Light Switch, number) }

(M:Event) 'LeftSingle' scmp 0 == (M:Event) 'RightSingle' scmp 0 == or (L:F-2 Taxi Landing Light Switch,  number) 0 != and if{ 0 (>L:F-2 Taxi Landing Light Switch, number) }

(M:Event) 'RightSingle' scmp 0 == (L:F-2 Taxi Landing Light Switch,  number) 0 == and if{ -1 (>L:F-2 Taxi Landing Light Switch, number) }

(L:F-2 Taxi Landing Light Switch, number) 1 == (A:LIGHT LANDING, bool) ! and if{ (>K:LANDING_LIGHTS_TOGGLE) }
(L:F-2 Taxi Landing Light Switch, number) 1 == (A:LIGHT TAXI, bool) ! and if{ (>K:TOGGLE_TAXI_LIGHTS) }

(L:F-2 Taxi Landing Light Switch, number) 0 == (A:LIGHT LANDING, bool) and if{ (>K:LANDING_LIGHTS_TOGGLE) }
(L:F-2 Taxi Landing Light Switch, number) 0 == (A:LIGHT TAXI, bool) and if{ (>K:TOGGLE_TAXI_LIGHTS) }
</CallbackCode>
</MouseRect>
</PartInfo>

That should work.

Thank you for writing very helpful XML. However, I do not have the skill to correct this notation to the perfect Reverse Polish Notation.
The result at FS, the light did not turn on, the switch was only up and down movement.
 
Thank you for writing very helpful XML. However, I do not have the skill to correct this notation to the perfect Reverse Polish Notation.
The result at FS, the light did not turn on, the switch was only up and down movement.

Check that there is electrical power for the aircraft. Battery or engine+generator.

I have also corrected a bug in the script. See my last post above.
 
Check that there is electrical power for the aircraft. Battery or engine+generator.

I have also corrected a bug in the script. See my last post above.


Thank you very much for your help.
Only taxi lights will be on. The switch remained in motion only up and down.
 
Last edited:
Ah, I see where things might go wrong now.


Code:
<Animation name="F-2_TaxiLdg_Light_Switch" guid="0aef10f5-4c5d-47c3-8e2e-5ae63e0474d9" length="50" type="Sim" typeParam2="F-2_TaxiLdg_Light_Switch" typeParam="AutoPlay" />

<PartInfo>
<Name>F-2_TaxiLdg_Light_Switch</Name>
<AnimLength>50</AnimLength>
<Animation>
<Parameter>
<Code>(L:F-2 Taxi Landing Light Switch, number) 25 * 25 +</Code>
<Lag>100</Lag>
</Parameter>
</Animation>
<MouseRect>
<Cursor>Hand</Cursor>
<TooltipText>Landing/Taxi Light Switch (%((L:F-2 Taxi Landing Light Switch, number))%{case}%{:-1}Taxi Light On - LMB/RMB: Switch Off%{:0}Off - LMB: Landing Light, RMB: Taxi Light%{:1}Landing Light On - LMB/RMB: Switch Off%{end})</TooltipText>
<MouseFlags>LeftSingle+RightSingle</MouseFlags>
<CallbackCode>
(M:Event) 'LeftSingle' scmp 0 == (M:Event) 'RightSingle' scmp 0 == or  (L:F-2 Taxi Landing Light Switch,  number) 0 != and if{ 0 (>L:F-2  Taxi Landing Light Switch, number) }

(M:Event) 'LeftSingle' scmp 0 == (L:F-2 Taxi Landing Light Switch, number) 0 == and if{ 1 (>L:F-2 Taxi Landing Light Switch, number) }

(M:Event) 'RightSingle' scmp 0 == (L:F-2 Taxi Landing Light Switch,  number) 0 == and if{ -1 (>L:F-2 Taxi Landing Light Switch, number) }

(L:F-2 Taxi Landing Light Switch, number) 1 == (A:LIGHT LANDING, bool) ! and if{ (>K:LANDING_LIGHTS_TOGGLE) }
(L:F-2 Taxi Landing Light Switch, number) -1 == (A:LIGHT TAXI, bool) ! and if{ (>K:TOGGLE_TAXI_LIGHTS) }

(L:F-2 Taxi Landing Light Switch, number) 0 == (A:LIGHT LANDING, bool) and if{ (>K:LANDING_LIGHTS_TOGGLE) }
(L:F-2 Taxi Landing Light Switch, number) 0 == (A:LIGHT TAXI, bool) and if{ (>K:TOGGLE_TAXI_LIGHTS) }
</CallbackCode>
</MouseRect>
</PartInfo>

In the old switch code, the code line for resetting the switch to the middle position when the left or right mouse button was pressed and the switch was NOT in the middle was executed after the code line for the landing lights. This immediately reset the switch to the middle position when clicking it for landing lights because the left mouse button was pressed and the switch variable was first zero and then one, which activated the condition to reset the switch.
The taxi light switch worked because the code line was executed after the line for resetting the switch.
Switching the line positions is an easy solution, because the code is always read from top to bottom, so if the switch is in the middle, the first condition to reset the switch will not activate.

Also note the improvement to the tooltip, which will now indicate which mouse button must be pressed to change the switch position.

Hope this is understandable.
 
Ah, I see where things might go wrong now.


Code:
<Animation name="F-2_TaxiLdg_Light_Switch" guid="0aef10f5-4c5d-47c3-8e2e-5ae63e0474d9" length="50" type="Sim" typeParam2="F-2_TaxiLdg_Light_Switch" typeParam="AutoPlay" />

<PartInfo>
<Name>F-2_TaxiLdg_Light_Switch</Name>
<AnimLength>50</AnimLength>
<Animation>
<Parameter>
<Code>(L:F-2 Taxi Landing Light Switch, number) 25 * 25 +</Code>
<Lag>100</Lag>
</Parameter>
</Animation>
<MouseRect>
<Cursor>Hand</Cursor>
<TooltipText>Landing/Taxi Light Switch (%((L:F-2 Taxi Landing Light Switch, number))%{case}%{:-1}Taxi Light On - LMB/RMB: Switch Off%{:0}Off - LMB: Landing Light, RMB: Taxi Light%{:1}Landing Light On - LMB/RMB: Switch Off%{end})</TooltipText>
<MouseFlags>LeftSingle+RightSingle</MouseFlags>
<CallbackCode>
(M:Event) 'LeftSingle' scmp 0 == (M:Event) 'RightSingle' scmp 0 == or  (L:F-2 Taxi Landing Light Switch,  number) 0 != and if{ 0 (>L:F-2  Taxi Landing Light Switch, number) }

(M:Event) 'LeftSingle' scmp 0 == (L:F-2 Taxi Landing Light Switch, number) 0 == and if{ 1 (>L:F-2 Taxi Landing Light Switch, number) }

(M:Event) 'RightSingle' scmp 0 == (L:F-2 Taxi Landing Light Switch,  number) 0 == and if{ -1 (>L:F-2 Taxi Landing Light Switch, number) }

(L:F-2 Taxi Landing Light Switch, number) 1 == (A:LIGHT LANDING, bool) ! and if{ (>K:LANDING_LIGHTS_TOGGLE) }
(L:F-2 Taxi Landing Light Switch, number) -1 == (A:LIGHT TAXI, bool) ! and if{ (>K:TOGGLE_TAXI_LIGHTS) }

(L:F-2 Taxi Landing Light Switch, number) 0 == (A:LIGHT LANDING, bool) and if{ (>K:LANDING_LIGHTS_TOGGLE) }
(L:F-2 Taxi Landing Light Switch, number) 0 == (A:LIGHT TAXI, bool) and if{ (>K:TOGGLE_TAXI_LIGHTS) }
</CallbackCode>
</MouseRect>
</PartInfo>

In the old switch code, the code line for resetting the switch to the middle position when the left or right mouse button was pressed and the switch was NOT in the middle was executed after the code line for the landing lights. This immediately reset the switch to the middle position when clicking it for landing lights because the left mouse button was pressed and the switch variable was first zero and then one, which activated the condition to reset the switch.
The taxi light switch worked because the code line was executed after the line for resetting the switch.
Switching the line positions is an easy solution, because the code is always read from top to bottom, so if the switch is in the middle, the first condition to reset the switch will not activate.

Also note the improvement to the tooltip, which will now indicate which mouse button must be pressed to change the switch position.

Hope this is understandable.



In the script of this time the lighting switch moved from the OFF position to the taxi light and the landing light. However, except for the first click, it will be invalid and the switch will not work. When reselecting an aircraft or loading from a saved flight, it is reset and clicking becomes possible again, and only the first click, the switch shows a reaction and moves.
 
This is my last attempt. If does not work, you will have to ask somebody else or try to fix the code yourself.

Code:
<Animation name="F-2_TaxiLdg_Light_Switch" guid="0aef10f5-4c5d-47c3-8e2e-5ae63e0474d9" length="50" type="Sim" typeParam2="F-2_TaxiLdg_Light_Switch" typeParam="AutoPlay" />

<PartInfo>
<Name>F-2_TaxiLdg_Light_Switch</Name>
<AnimLength>50</AnimLength>
<Animation>
<Parameter>
<Code>(L:F-2 Taxi Landing Light Switch, number) 25 * 25 +</Code>
<Lag>100</Lag>
</Parameter>
</Animation>
<MouseRect>
<Cursor>Hand</Cursor>
<TooltipText>Landing/Taxi Light Switch (%((L:F-2 Taxi Landing Light Switch, number))%{case}%{:-1}Taxi Light On - LMB/RMB: Switch Off%{:0}Off - LMB: Landing Light, RMB: Taxi Light%{:1}Landing Light On - LMB/RMB: Switch Off%{end})</TooltipText>
<MouseFlags>LeftSingle+RightSingle</MouseFlags>
<CallbackCode>
(M:Event) 'LeftSingle' scmp 0 == 
if{ (L:F-2 Taxi Landing Light Switch, number) 0 == if{ 1 (>L:F-2 Taxi Landing Light Switch, number) } els{ 0 (>L:F-2 Taxi Landing Light Switch, number) } }

(M:Event) 'RightSingle' scmp 0 ==
 if{ (L:F-2 Taxi Landing Light Switch,  number) 0 == if{  -1 (>L:F-2 Taxi Landing Light Switch, number) } els{ 0 (>L:F-2  Taxi Landing Light Switch, number) } }

(L:F-2 Taxi Landing Light Switch, number) 1 == (A:LIGHT LANDING, bool) ! and if{ (>K:LANDING_LIGHTS_TOGGLE) }
(L:F-2 Taxi Landing Light Switch, number) -1 == (A:LIGHT TAXI, bool) ! and if{ (>K:TOGGLE_TAXI_LIGHTS) }
(L:F-2 Taxi Landing Light Switch, number) 0 == if{ (A:LIGHT LANDING, bool) if{ (>K:LANDING_LIGHTS_TOGGLE) } (A:LIGHT TAXI, bool) if{ (>K:TOGGLE_TAXI_LIGHTS) } }
</CallbackCode>
</MouseRect>
</PartInfo>
 
I appreciate that you cooperated with your precious time.
Arigato gozaimasu!


This script is perfect. Thank you again.
 
Last edited:
Back
Top