Jump to content

Recommended Posts

Currently I'm trying to reverse engineer the SF2 flight model.

I stumbled over the stall tables.
Does anyone know how the stall tables (StallLiftTable, StallDragTable and StallXacShiftTable) work?

As an example here are the StallLiftTable and StallDragTable from the P-51D and F-4B inner wings:

stall_lift_table.jpg.7e3b33e90bb09b9b62d61684d5228f59.jpg

stall_drag_table.jpg.72a359e0d3008ea95ecddd5dc8ee1644.jpg

I assume the abscissa is alpha and the ordinates are factors for some lift or drag coefficients. Correct?
What are the lift and drag coefficients? CLmax for lift and StallDrag for drag?
But the drag table looks odd. I would have assumed that at alpha = -90 degree and +90 degree the drag factor would have its maximum.
When are these tables used? If alpha > AlphaDepart?

  • Like 3

Share this post


Link to post
Share on other sites

As far as I'm concerned (about my knowledge on this subject) I tend not to use the Stallxxx entries.
Sometime I let them as they are, but if I really want an aircraft to behave like it should when departing, spinning and recovering, I think that delete them all and work on the Lift and Drag is much more efficient.

I would say (only based on my personal experience of the game and personal experience of real flying) that the game handle the stall very nicely without the Stallxxx entries, when the lift and drag tables are edited too...
The stall tables could be used (copy/paste lol) when required but they're not necessary.

That doesn't answer the question, but that's my opinion about it.

:drinks:

 

What I meant -> :bad: "TW stall tables"

No offense to TW, I love the game :good:

Edited by Cliff7600

Share this post


Link to post
Share on other sites
2 hours ago, Cliff7600 said:

As far as I'm concerned (about my knowledge on this subject) I tend not to use the Stallxxx entries.
Sometime I let them as they are, but if I really want an aircraft to behave like it should when departing, spinning and recovering, I think that delete them all and work on the Lift and Drag is much more efficient.

Ok. For Drag you can extend the CDLAlphaTable. But how do you define Lift at post stall condition (alpha > AlphaDepart)?

Share this post


Link to post
Share on other sites
10 hours ago, mue said:

But how do you define Lift at post stall condition ?

Don't know how to answer this, but :

Using or not Stallxxx entries, I often edit the Cl0machtable and ClaMachTable datas

CL0MachTableData=0.000,0.570,0.783,0.996,1.000,0.996,0.906,0.815,0.725,0.635,0.545,0.454,0.364

CLaMachTableData=0.000,0.570,0.883,1.000,0.996,0.906,0.815,0.725,0.635,0.545,0.454,0.364,0.279

(done on the kitchen table using a fork as a screwdriver)

with :

CheckStall=TRUE
CLmax=0.2458
AlphaStall=15.27
AlphaMax=23.64
AlphaDepart=29.72
StallMoment=-0.003
StallDrag=0.004
StallLiftTableNumData=37
StallLiftTableDeltaX=10.00
StallLiftTableStartX=-180.00
StallLiftTableData=0.000,-0.013,-0.027,-0.044,-0.060,-0.057,-0.049,-0.033,-0.014,0.000,0.018,0.052,0.098,0.146,0.211,0.255,0.355,0.554,0.942,0.611,0.378,0.276,0.220,0.174,0.123,0.077,0.040,0.000,-0.014,-0.033,-0.049,-0.057,-0.060,-0.044,-0.027,-0.013,0.000
StallDragTableNumData=37
StallDragTableDeltaX=10.00
StallDragTableStartX=-180.00
StallDragTableData=0.001,0.008,0.021,0.043,0.082,0.123,0.171,0.227,0.292,0.367,0.451,0.562,0.689,0.825,0.937,1.018,1.142,1.122,1.000,1.122,1.142,1.018,0.937,0.825,0.689,0.562,0.451,0.367,0.292,0.227,0.171,0.123,0.082,0.043,0.021,0.008,0.001
StallXacShiftTableNumData=37
StallXacShiftTableDeltaX=10.00
StallXacShiftTableStartX=-180.00
StallXacShiftTableData=-0.505,-0.505,-0.431,-0.388,-0.384,-0.369,-0.343,-0.316,-0.279,-0.252,-0.225,-0.189,-0.162,-0.136,-0.121,-0.116,-0.073,0.000,0.000,0.000,-0.073,-0.116,-0.121,-0.136,-0.162,-0.189,-0.225,-0.252,-0.279,-0.316,-0.343,-0.369,-0.384,-0.388,-0.431,-0.505,-0.505

or

CLaMachTableData=0.996,0.997,1.000,1.005,1.011,1.025,1.141,1.141,1.089,1.042,1.016,1.005

no Cl0 value

with :

CheckStall=TRUE
CLmax=0.1252
AlphaStall=15.13
AlphaMax=28.58
AlphaDepart=41.88
StallMoment=-0.002
StallDrag=0.004

no StallxxxTable

--------------------------------------------

In the first example the first value of the table is 0.000, so there's no lift.

In the second example, it's the TW table (I think...) but I deleted the StallxxxTables

No theory, no study, billions of tests, so no reliable explanations as well :dntknw:

 

...and the stall speed in the flight control part (in meters/sec)

[FlightControl]
StallSpeed=62.00

I think the game cuts the lift under this value + modified by the flaps settings (+ does the wind counts ???)

Edited by Cliff7600
  • Thanks 1

Share this post


Link to post
Share on other sites
7 hours ago, Cliff7600 said:

In the second example, it's the TW table (I think...) but I deleted the StallxxxTables

I think if the Stall* tables are missing the default ones from AIRCRAFTOBJECT.INI are used.

Quote

No theory, no study, billions of tests, so no reliable explanations as well :dntknw:

Because I want to reverse engineer the TW flight model to (re)implement it with JSBSim for use in FlightGear I have to use a more "academic" approach:
I bought a copy of Modern Combat Aircraft Design and Aircraft Control And Simulation to learn the needed know how about aerodynamics and flight model simulation. Together with the TW forum archive and this forum I then try to reverse engineer all needed formulas.

Quote

...and the stall speed in the flight control part (in meters/sec)

[FlightControl]
StallSpeed=62.00

I think the game cuts the lift under this value + modified by the flaps settings (+ does the wind counts ???)

I think the *Speed= entries under [FlightControl] are only relevant for the AI.

Share this post


Link to post
Share on other sites
On 18/7/2019 at 10:13 AM, mue said:

I think the *Speed= entries under [FlightControl] are only relevant for the AI.

In the [FlightControl] part :

StallSpeed=
MaxG=
MaxSpeedSL=
MachLimit=

are relevant for the player

Share this post


Link to post
Share on other sites

Using this post to ask my FM questions.

- What I need to change in order to make faster pitch and roll on a helicopter? Currently it feels too heavy , slow to start and stop the roll/pitch, and want to make it more agile/responsive.

- On same chopper, how can I add braking power to the aerobrakes so it slows a lot faster?

Thanks a lot!!

Share this post


Link to post
Share on other sites
7 hours ago, Stratos said:

how can I add braking power to the aerobrakes so it slows a lot faster?

[Airbrake]
...
DragArea=xxx <- increase this value

----------------------------------------

For the 1st question :

[AircraftData]
...
EmptyInertia=xx.x,yy.y,zz.z

But you're on your own xD
You shouldn't try to change these values, unless you know exactly what you're doing.

1) back-up the original entry, it will be useful when you will have to face some fails.

2) you shouldn't change these values, unless you know exactly what you're doing. You know it !

3) Keep in mind there's a bunch of other ways to try to solve this particular problem
(especially for an helicopter : fake components, fake control surfaces, real minmaxextent positions, real massfraction values, ...)

4) Keep in mind the guy that defined these values at first (maybe by copy/paste technique) may not know what he was doing at all. So you have to do it ! But you shouldn't as well.

5) X, Y, Z what axis ? Yeah, that's a good question ! It's a little tricky so I don't really want to pretend I know the answer... In fact it's a part of the process to figure out what does what.

6) Please report :wink:

Good luck !
...and be patient, it's a long way to the top if you wanna rock'n'roll ^^

Share this post


Link to post
Share on other sites
On 7/15/2019 at 12:55 PM, mue said:

Currently I'm trying to reverse engineer the SF2 flight model.

I stumbled over the stall tables.
Does anyone know how the stall tables (StallLiftTable, StallDragTable and StallXacShiftTable) work?

As an example here are the StallLiftTable and StallDragTable from the P-51D and F-4B inner wings:

stall_lift_table.jpg.7e3b33e90bb09b9b62d61684d5228f59.jpg

stall_drag_table.jpg.72a359e0d3008ea95ecddd5dc8ee1644.jpg

I assume the abscissa is alpha and the ordinates are factors for some lift or drag coefficients. Correct?
What are the lift and drag coefficients? CLmax for lift and StallDrag for drag?
But the drag table looks odd. I would have assumed that at alpha = -90 degree and +90 degree the drag factor would have its maximum.
When are these tables used? If alpha > AlphaDepart?

I originally thought the drag tables were just a modifier for the headline StallDrag=xxx entry but noticed the TW F-16 has StallDrag=0.000 for both inner and outer wing panels while still using a stall drag table. That's just an observation I'm passing along because I'm not sure how it works either. The F-16 still generates a noticeable increase in drag at the buffet point so the table seems to be doing something. When building a new FM I just grab those tables from a TW type with a similar wing design and move along.

On 7/17/2019 at 10:56 AM, mue said:

Ok. For Drag you can extend the CDLAlphaTable. But how do you define Lift at post stall condition (alpha > AlphaDepart)?

The above statement caught my eye. I always assumed, because every TW FM has a CDL table that ended at 28deg, there must be a limitation in the flight engine. The 28deg limit is probably OK for most of the older TW aircraft but might be a bit limiting for people wanting to model some of the newer high alpha types. I made an expanded CDL table to check out the behavior past 28deg alpha and it seems to work OK but needs more testing:

CDLAlphaTableNumData=31
CDLAlphaTableDeltaX=4.00
CDLAlphaTableStartX=-60.00
CDLAlphaTableData=225.000,196.000,169.000,144.000,121.000,100.000,81.000,64.00,49.000,36.000,25.000,16.000,9.000,4.000,1.000,0.000,1.000,4.000,9.000,16.000,25.000,36.000,49.000,64.000,81.000,100.000,121.000,144.000,169.000,196.000,225.000

The above table probably looks familiar to many. The 28deg version is used on many TW types and is what you get when calculating for a symmetrical airfoil with an aspect ratio of 2.0 and an efficiency ratio of 0.80[80%]

The posted table is calculated to +/- 60deg. I'm not really sure how best to implement this table. CDL=drag due to lift and the lift stops increasing at AlphaMax=xxx so it might make sense to limit the table to the AlphaMax range. As an example, your flying the latest high alpha wonder plane and it keeps making lift up to 38deg AOA. In this case it might make sense to stop the table at 40deg, 100.00 on the table. On the other hand, after reaching AlphaMax, the TW flight engine maintains the lift in a straight line [flat line/constant lift] to AlphaDepart=xxx. For the new wonder plane the AlphaDepart=60.0 AOA so it also might make sense to just continue the 100.000 data point right to the end of the table. Or maybe not. I'm not really sure how the game is modeling drag post 'AlphaMax' [edit] and AlphaDepart, maybe it has something to do with the stall drag table Mue was asking about.

I don't fly the modern planes very often but I'm trying this new table out on one and for the MiG-21 Bis FM I've been messing with I've got the AlphaMax=33 so I'm trying the new table with a range to 36Deg.

The table is an easy copy/paste job if anyone wants to try it out on a high alpha plane that uses the standard 28deg TW table.

Edited by baffmeister
clarification and more clarification
  • Like 2

Share this post


Link to post
Share on other sites

Thank you baffmeister for your infos, explanations and tests.

I still wonder when exactly the stall tables "kick in". When alpha > AlphaMax or alpha > AlphaDepart? My guess is the latter (alpha > AlphaDepart).
I also wonder how is the Drag handled between the end of the CDLAlpha table and when the stall table kicks in (AlphaMax or AlphaDepart) in cases were AlphaMax and/or AlphaDepart are greater then the end of the CDLAlpha table. Maybe the CDLAlpha table is then extrapolated (linear or constant)?
Regarding the abscissa of the stall tables: First I thought it's alpha. But maybe it's delta alpha, i.e. the difference to AlphaMax (or AlphaDepart). Because the tables have (modifier) values of 1.0 (or near 1.0) at angle = 0 degrees. I assume the modifiers are factors for the lift and drag values at AlphaMax (or AlphaDepart). If the abscissa would be alpha (and not delta alpha) were would be a "step" in the resulting lift and drag graphs when the stall occurs, because the (modifier) values then (at AlphaMax or AlphaDepart) are quite different to 1.0.

Share this post


Link to post
Share on other sites

This is the current state of my attempt at reconstructing the SF2 FDM. Maybe someone find the information useful.
I welcome comments and corrections.

sf2_fdm_notes.pdf

  • Like 3
  • Thanks 2

Share this post


Link to post
Share on other sites

Maybe you FM gurus knew this already, but I only recently noticed that:
Internal fuel and the pilot (and internal ammo too?) don't change the center of gravity (cog) of the aircraft. The additional weight will always be placed at the cog. Only the inertia tensor (Ix,Iy,Iz) is changed as follows:
Ix = (mass_total/mass_empty)*Ix_empty, Iy = (mass_total/mass_empty)*Iy_empty and Iz = (mass_total/mass_empty)*Iz_empty

  • Like 1
  • Thanks 2

Share this post


Link to post
Share on other sites
3 hours ago, mue said:

Maybe you FM gurus knew this already, but I only recently noticed that:
Internal fuel and the pilot (and internal ammo too?) don't change the center of gravity (cog) of the aircraft. The additional weight will always be placed at the cog. Only the inertia tensor (Ix,Iy,Iz) is changed as follows:
Ix = (mass_total/mass_empty)*Ix_empty, Iy = (mass_total/mass_empty)*Iy_empty and Iz = (mass_total/mass_empty)*Iz_empty

I knew that....NOT lol....you sure are digging in this mue m8  top stuff man

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Similar Content

    • By mue
      Question for the FM experts: What does the chord value in the wing sections of the aircraft_data.ini mean? How is it used in the FM?
    • By mue
      Maybe some of the flight model guys find this useful for creating, analyzing or checking flight models.
      Last year I had the idea for a tool that extracts the data of the debug hud and writes them into a text file:
      (from this post: https://combatace.com/forums/topic/91675-how-to-develop-test-flight-models/?do=findComment&comment=741238):
       
      The process steps are illustrated in the following figure:

       
      The tool "DebugHUDExtractor" I came up with is written in python and uses the optical character recognition (OCR) software tesseract. Thus to use the DebugHudExtractor you have to install python, some python packages and the tesseract software.
      For those who want to try this tool, here are the installation, configuration and usage instructions:
       
      1.) Download and install tesseract: https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-w64-setup-v4.1.0.20190314.exe
      Copy lucidaconsole.traineddata into tessdata directory (e.g. C:\Program Files\Tesseract-OCR\tessdata). Needs admin rights.
      This file contains the trained data for the lucida console font. I use this font as it gave me the best results with the character recognition. This font has to be configured for the debug hud output in the game (see. step 4 below)
      2.a) Download and install python: https://www.python.org/ftp/python/3.7.3/python-3.7.3-amd64.exe
          While installing select "Customize installation":
          -optional: change the installation directory (e.g I use C:\Python37)
          -enable "Add Python to environment variables"
      2.b) Install needed python packages.
      On the windows command line execute the following commands:
      pip install pillow pip install numpy pip install opencv-python pip install pytesseract 3.) Setting the path to the tesseract executable:
      In <Python_install_directory>\Lib\site-packages\pytesseract\pytesseract.py (line 35) set tesseract_cmd to the file path of the tesseract executable. Use double backslashes or normal slashes.
      E.g.:
      tesseract_cmd = 'C:\\Program Files\\Tesseract-OCR\\tesseract'  
      4.) Configure the game.
      In SF2/FE2 game set Option Hud = Normal and configure the Huddata.ini.
      It enables the debug hud, set the font to lucida console, sets a bigger font size (the bigger the better, but all relevant debug info should still be displayed in the screen,e.g. for my 1920x1080 resolution I use TextSize = 24)
      ,the normal font color is changed to red (required for text filtering), the default right info box is disabled and the default left aircraft info box is moved to the right (that gives more space for the debug info box on the left)
      [Debug] DisplayDebug=true [Font] TextFontName=Lucida Console TextSize=24 [InfoDisplay] //BackgroundImage=TextBackground.tga BottomLeftPosition=0.8,1.0 //BottomRightPosition=0.99,0.985 NormalColor=1.0,0.0,0.0,1.0
      5.) Configure the python script debughudextractor.py :
      Depending on the values you want to extract from the debug hud the variables extractPitch, extractAlpha, ... have to be set to True or False,
      The leftRect and rightRect variables have to be configured depending on where the debug info box and aircraft info box is located on your screen (depending on your screen resolution and the entries in your huddate.ini)
      The format is as follows:
      leftRect = (top-left-x, top-left-y, bottom-right-x, bottom-right-y)
      The top left corner of the screen is the origin (0,0).
      E.g. with a resolution of 1920x1080 and the above huddata.ini, I use the following:
      leftRect = (56,236,1450,1080) rightRect = (1528,968,1920,1080)  
      See this picture:


      6.) Start the script from windows command line:
      python debughudextractor.py video_file_path time_step_in_s start_time_in_s end_time_in_s <video_file_name>.txt and <video_file_name>_error.txt will be written into the directory of the video file.
      <video_file_name>.txt contains the extracted data.
      <video_file_name>_error.txt contains what values at what time couldn't be recognized. If a value couldn't be recognized, then the very next video frame is used and analyzed.
    • By Spudknocker


      View File Strike Eagle FM and Loadout Enhancement Kit
      3.3- Added F-15I_Raam decals folder as it occurred to me not everyone has that specific Raam decal folder name
       
      3.2-Fixed an error in the F-15I Ra'am's AIrcraftdata section and updated all variant's gross weight's thanks to Fanatic Modder bringing to my attention that the wing pylons weights were added twice to the aircraft's mass. Also more refinements to the AI statements for happy wingmen!
       
      3.0- Best update yet! Redone AI statements for all Strike Eagle Variants, your wingmen and all AI will finally be able to drop dumb bombs on target! Also fixes AI strafing runs and the Strike Eagles will be able to strafe ground targets with accuracy! Also added some nice hanger and loading screens to the F-15SG as some extra eye Candy! Enjoy your new wingies!
       
      Update 2.5-Fixed CBU Attack loadout! Updated FM even more! Suggestions always welcome!
       
      This is a FM and loadout enhancement package first started by Crusader to kinda bring the Strike Eagle family more up to date with recent advances in SF2 modding ability! This mod changes the order of release for the CFT weapon stations and allows for more customized loadouts in the loadout menu before a mission. These changes along with a new STRIKE loadout of MK82's allows the AI to more easily hit a target. The FM changes are just updates to the FM and more realistic gross weights/Loaded weights etc and should help the AI better manage Flying the Strike Eagle and all its variants. Small updates were also made to the LANTIRN systems of all the jets. Also is an updated F-15i skin touched up by me. This pack covers the F-15 Strike Eagle variants from FastCargo's F-15 Super Pack including the
      F-15E
      F-15E_04
      F-15I
      F-15K
      F-15S
      and F-15SG
       
      Now we just need a new strike eagle cockpit!
       
      Thank you especially to Fastcargo for his F-15 pack and crusader for starting the FM mod, and anyone else who has contributed to the F-15's and everyone on CA!
      If I've messed anything up feel free to PM me and I can see what I can do to fix the issue! Happy SCUD Hunting or Iranian nuclear bunker busting!
      Submitter Spudknocker Submitted 03/08/2016 Category F-15  
    • By FANATIC MODDER


      View File F-16 DATA & LOADOUT update
      I reworked the Data and loadout inis in the following versions of the F-16:
       
      F-16A_B15_ADF
      F-16A_B15_ADF_AMI
      F-16A_Blk1
      F-16A_Blk10_Baf
      F-16A_Blk10-EAF < NEW for v2.0
      F-16A_Blk10-IDF < NEW for v2.0
      F-16A_Blk10-NDC
      F-16A_Blk15_Baf
      F-16A_Blk15-NDC
      F-16A_Blk15OCU_Baf
      F-16A_Netz_87 < NEW for v2.0
      F-16AM_bel
      F-16AM_den
      F-16AM_net
      F-16AM_nor
      F-16AM_ROCAF
      F-16B_Blk15-NDC < NEW for v2.0
      F-16B_Netz_87 < NEW for v2.0
      F-16BM_bel
      F-16C_B25
      F-16C_B25_TB
      F-16C_B30
      F-16C_B30_agr
      F-16C_B30_CUPID
      F-16C_B30_gk
      F-16C_B30_tur
      F-16C_B32
      F-16C_B32_agr
      F-16C_B32_CUPID
      F-16C_B40
      F-16C_B40_egy < Now COMPLETE plane
      F-16C_B40_tur
      F-16C_B42
      F-16C_B50
      F-16C_B50_gk
      F-16C_B50_tur
      F-16C_B50+_tur
      F-16C_B52
      F-16C_B52+_egy < Now COMPLETE plane
      F-16C_B52+_gk
      F-16C_B52+_pol
      F-16C_Barak
      F-16C_BarakII
      F-16CM_B40
      F-16CM_B42
      F-16CM_B50
      F-16CM_B52
      F-16D_B30 < Now COMPLETE plane
      F-16D_B30_agr < Now COMPLETE plane
      F-16D_B30_gk < Now COMPLETE plane
      F-16D_B50+_tur
      F-16D_B52+_egy < Now COMPLETE plane
      F-16D_B52+_gk
      F-16D_B52+_pol
      F-16D_Barak
      F-16D_Brakeet
      F-16I_Sufa
      F-16N
      KF-16C_B32
      KF-16C_B52
       
      So the FM is finally corrected, the empty weights are now correct, as well as many minor other changes in order to make ir more realistic.
       
      Don't be fooled, I did A LOT of research and a lot of BETA testing. When I had no definite data, I calculated, so some data are estimations.
       
      For proving my point, I include a 4vs4 mission, Turkish F-16D Block 50+ (the heaviest Viper in service) against USAF aggressors.
       
      Why v0.9? There are some planes missing. These are TW planes, as well as israeli -A models, egyptian, jordanian, UAE, thai, indonesian & singaporian planes.
       
      EDIT:
       
      As it turned out, these should be released in a vol.2
       
      Requests:
       
      I hope someone would make hi-res skins for all these nations mentioned above as well for the early -A models of the four european nations.
       
      Also a proper lod for the taiwanese block 20.
       

      Logfile changes
       
      -------
       
      v1.0
       
      - Added the fabulous F-16A ADF AMI of dtmdragon, deleted the old F-16A AMI
       
      - The mission now is on more even terms, both F-16s have now the same loadout.
       
      -------
       
      v2.0
       
      - Added the following planes
       
      F-16A_Blk10-EAF
      F-16A_Blk10-IDF
      F-16A_Netz_87
      F-16B_Blk15-NDC
      F-16B_Netz_87
       
      - Now these planes are complete
       
      F-16C_B40_egy
      F-16C_B52+_egy
      F-16D_B30
      F-16D_B30_agr
      F-16D_B30_gk
      F-16D_B52+_egy
       
      The Egyptian block 40 is based on the Turkish one, the block 52+ on the Polish.
       
      - Reworked DATA.INI for ALL planes. Mostly, but not only, reworked engine and weight data.
       
      - Four new missions are added. F-16 vs F-16, these missions are indeed very exciting.
       
      Known issues: The F-16D block 30 skins should be tweaked a bit to represent a 100% proper -D block 30 skin.
       
      CREDITS:
       
      Effects/Sounds/LODS/Skins - Dave/The Viper Team
       
      F110 effects only - Fast Cargo < The new, proper F110 effects possibly again by Fast Cargo. If not, please verify.
       
      The egyptian skin - mohand777
       
      The F110 engine sound, I was not able to trace. Pls PM for any feedback to give proper credit.
       

      A v3.0 will come up, but not anytime soon that will include the above mentioned "jordanian, UAE, thai, indonesian & singaporian planes", hopefully even more than that.
       
      ------
       
      Request: MORE Hi-rez skins!!!!
      Submitter FANATIC MODDER Submitted 03/06/2016 Category ini File Edits  
    • By MigBuster


      View File Thirdwire F-104G Flight Model
      Thirdwire F-104G Flight model
       
      Modified SF2 flight model - see README for details
      Submitter MigBuster Submitted 12/20/2014 Category F-104  
×

Important Information

By using this site, you agree to our Terms of Use, Privacy Policy, and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..