More Good News! Success!
I created the first complete build of the "airDB.ini", the UQMG Classic aircraft database. Please keep in mind that the objective here is not to have super accurate data on 1500 plus aircraft, but to have something that is good enough, based on available data and data that can be obtained from the Java classes in BAT.
Like I said, it is a beast. The first successful build took 19 minutes and 33 seconds. See the log in UCT2020 below:
(2020-07-23 17:25:21) // Building Classic AirDB. This will take a LONG time, 15+ minutes.
(2020-07-23 17:44:54) // Classic AirDB built.
Again, it is 1574 rows by 200 columns. And some columns take multiple processes to determine if it is a true value or not.
I believe this is the biggest challenge. I have 3 more files to process to make the DB fully functional, but there will be missing data, so for the new planes in BAT I will not have statistics like max speed or range because all that took years of research looking for data. This is not the objective as I have said many times. What we need is a stable platform.
Also, there will be odd results... for example, if you pick Bombers... you will see the Piper plane in the Results... this is not a problem by design in UCT2020 or my database, it is just that the Java Class for the Piper includes reference to "TypeBomber" class... I can't go over the details for each one of 1300 or so classes, so, if it is in the file, it will be processed as such if it is one of the parameters I am looking for. You never know, maybe TypeBomber provides a more stable AI for that plane... but there it is... in any case, those of you familiar with UQMG know that when you create data sets (Random Sets), you can manually exclude certain parts of the results.
The Columns are as follows:
000 Player Any Type
001 2 Flyable
002 3 Multi-crew Flyable
003 4 Flyable (No Aces)
004 5 Artificial Intelligence (AI)
005 6 No Aces
006 7 No Tug Trains
007 8 No Gliders
008 9 No Seaplanes
009 10 No Aces & Tug Trains
010 11 No Gliders & Seaplanes
011 12 No Aces/Gliders/Seaplanes
012 13 AI (No Aces)
013 14 AI (No Tug Trains)
014 15 AI (No Gliders)
015 16 AI (No Seaplanes)
016 17 AI (No Gliders/Seaplanes)
017 18 AI (No Aces/Tug Trains)
018 19 AI (No Aces/Gliders/Seaplanes)
019 Types All Types
020 2 Fighter
021 3 Fighter-Bomber
022 4 Fighter-Interceptor
023 5 Fighter-Interceptor-Bomber
024 6 Non-Fighter Interceptor
025 7 Ground Attack
026 8 Dive-Bomber
027 9 Non-Fighter Light Bomber
028 10 Medium Bomber
029 11 Heavy Bomber
030 12 Naval Bomber
031 13 Naval Operations
032 14 Reconnaissance
033 15 Liaison
034 16 Close-Support
035 17 Trainer
036 18 Transport
037 19 Tug for Glider
038 20 Glider
039 21 Historical Ace
040 22 Tug and Glider Train
041 23 Seaplane
042 23 Carrier Plane
043 Army Any Country
044 2 Allies or Red
045 3 Axis or Blue
046 4 Australia
047 5 Belgium
048 6 Brazil
049 7 Bulgaria
050 8 Canada
051 9 China
052 10 Croatia
053 11 Czechoslovakia
054 12 Czechoslovakia (RAF)
055 13 Denmark
056 14 Egypt
057 15 Finland
058 16 France (Free/Allied)
059 17 France (Occupied/Axis)
060 18 Germany
061 19 Great Britain
062 20 Greece
063 21 Hungary
064 22 India
065 23 Iran (Persia)
066 24 Iraq
067 25 Israel
068 26 Italy (Co-Belligerent/Allied)
069 27 Italy (Axis)
070 28 Japan
071 29 Mexico
072 30 Netherlands (Holland)
073 31 New Zealand
074 32 Norway
075 33 Norway (RAF)
076 34 Poland
077 35 Poland (RAF)
078 36 Portugal
079 37 Romania
080 38 Slovakia
081 39 Soviet Union (USSR)
082 40 South Africa
083 41 Southern Rhodesia
084 42 Spain (Republican/Allied)
085 43 Spain (Nationalist/Axis)
086 44 Sweden
087 45 Switzerland
088 46 Thailand (Siam)
089 47 Turkey
090 48 United States (USA)
091 49 Yugoslavia
092 Year Any Year
093 2 1936
094 3 1937
095 4 1938
096 5 1939
097 6 1940
098 7 1941
099 8 1942
100 9 1943
101 10 1944
102 11 1945
103 12 1946
104 13 1947
105 14 1948
106 15 1949
107 16 1950
108 Day/Night No Limitations
109 2 Day Operations
110 3 Night Operations
111 Size All Sizes
112 2 Small
113 3 Medium
114 4 Medium-Large
115 5 Large
116 6 Very Large
117 Engine Any Number
118 2 Propeller Engines Only
119 3 Jet Engines Only
120 4 Rocket Engines Only
121 5 Jet and Rocket Engines
122 6 No Engines
123 7 1x Propeller Engine
124 8 2x Propeller Engine
125 9 3x Propeller Engine
126 10 4x Propeller Engine
127 11 5x Propeller Engine
128 12 6x Propeller Engine
129 13 1x Jet Engine
130 14 2x Jet Engines
131 15 1x Rocket Engine
132 16 4x Ejectable Rocket Engines
133 17 1x Inline Propeller Engine
134 18 2x Inline Propeller Engines
135 19 4x Inline Propeller Engines
136 20 5x Inline Propeller Engines
137 21 1x Radial Propeller Engine
138 22 2x Radial Propeller Engines
139 23 3x Radial Propeller Engines
140 24 4x Radial Propeller Engines
141 24 6x Radial Propeller Engines
142 Wing Any Type
143 2 Monoplane
144 3 Biplane
145 Landing Gear Any Type
146 2 Automatic Retracting Gear
147 3 Manual Retracting Gear
148 4 Fixed Gear
149 5 Seaplane
150 6 Ejectable Gear and Ski Pads
151 7 Winter Ski Pads
152 Details No Detail Specified
153 2 No Extra Ordinance
154 3 All Pod Guns
155 4 Fixed Pod Guns
156 5 Removeable Pod Guns
157 6 Short Range(<500Km)
158 7 Short-Mid Range(500-699Km)
159 8 Mid Range(700-799Km)
160 9 Mid-Long Range(800-999Km)
161 10 Long Range(1000Km+)
162 11 Drop Tank
163 12 Long Range(w/ Drop Tank)
164 13 Low Ceiling(<4000m)
165 14 Low-Mid Ceiling(4000-4999m)
166 15 Mid Ceiling(5000-6999m)
167 16 Mid-High Ceiling(7000-10000m)
168 17 High Ceiling(10000m+)
169 18 Low Mx Spd(<200Km/h)
170 19 Low-Mid Mx Spd(200-399Km/h)
171 20 Mid Mx Spd(400-549Km/h)
172 21 Mid-Hi Mx Spd(550-699Km/h)
173 22 Hi Mx Spd(700Km/h+)
174 23 Small MGs(7-8mm)
175 24 Large MGs(12-13mm)
176 25 Small Cannon(15mm)
177 26 Med. Cannon(20-23mm)
178 27 Large Cannon(30mm)
179 28 Large Cannon(37-40mm)
180 29 Large Cannon(41-74mm)
181 30 Large Cannon(75mm)
182 31 All Large Cannons(30mm+)
183 32 Small Bombs(<51Kg)
184 33 Medium Bombs(51-250Kg)
185 34 Large Bombs(251-500Kg)
186 35 Very Large Bombs(501Kg+)
187 36 Rockets
188 37 Rockets and Bombs
189 38 Gasoline Bombs
190 39 Bomblets
191 40 Anti-Personel Bombs
192 41 Paratroopers
193 42 Torpedoes
194 43 Gunner(s)
195 44 Static Plane Type Available
196 45 Static Plane Type NOT Available
197 46 Extra Ammo Available
198 47 Open Cockpit
199 48 Closed Cockpit
But, there is A LOT I can't programmatically determine, so depending on the parameter it may be either "0" (not true), or "1" (true). The Bulk of the processing are from Columns 0 to 107. Since the DB is limited to 1934 to 1950, any plane that operated before 1934 will only have that column checked (DOF, some of TGA), and for the ones that operated after 1950, only that column will be checked (JTW).
For UQMG Classic, this is what the Aircraft definition file (fd_Aircraft.ini) looks like, here is an excerpt of only the Trainers and Sport (this was totally Program generated by UCT2020):
"(F) Piper J3 cub, 1938",PA18,default,1796,1392,11759,2
"(F) Polikarpov U-2, 1933",U_2dt,default,2,1073,14483,7
"(F) Polikarpov P-5, 1934",P_5dt,default,2,1,11681,2
"(F) Yak UT-2, 1938",UT_2,default,2,1,14497,2
"(F) Yak UT-2 (M-11), 1938",UT_2M11,default,2,1,14500,2
"(F) Antonov OKA-38 Aist, 1940",OKA_38,default,2,1,9753,2
"(F) Polikarpov UTI-4 Type15, 1937",UTI_4,default,2,1,14503,2
"(F) Yak-7UTI, 1940",YAK_7UTI,default,2,1,14782,2
"(F) DH82 Tiger Moth, 1931",U_2TM,default,2,1073,14443,3
"(F) Miles Magister M14A, 1936",MagisterM14A,default,1221,1073,9078,2
"(F) Boeing Stearman 75, 1934",Stearman,default,1796,1392,13614,5
"(F) Waco UPF-7, 1930",UPF_7,default,1796,1392,14494,2
"(F) Vultee BT-13 Valiant, 1940",BT_13,default,1796,1392,1133,4
"(F) Curtiss SNC-1, 1942",SNC_1,default,1392,1392,12571,2
"(F) North-American T6 Texan, 1935",S_T6,default,1796,1392,13725,2
"(F) North-American AT6 Texan, 1935",S_AT6,default,1796,1392,434,13
"(F) North-American SNJ3 Texan, 1936",S_SNJ3,default,1796,1392,12574,2
"(F) North-American SNJ4 Texan, 1936",S_SNJ4,default,1796,1392,12577,13
"(F) North-American AT6 Texan, 1938",Texan_AT6,default,1796,1392,14138,4
"(F) North-American SNJ, 1938",SNJ_USN,default,1796,1392,12591,6
"(F) Curtiss-Wright AT-9 'Jeep', 1941",AT_9,default,1796,1392,2557,2
"(F) Stinson L5 Sentinel, 1941",L_5,default,1796,1392,8681,4
"(F) Stinson L5 Spotter, 1941",L_5A,default,1796,1392,8670,5
"(F) Arado Ar-66C, 1933",Ar_66C,default,2,1,576,3
"(F) Messerschmitt Bf108, 1934",ME108_B2,default,2,1,9170,2
"(F) Bücker Bü-131B2 Jungmann, 1935",BU_131,default,2,1,2253,2
"(F) Bücker Bü-181, 1939",Bu_181,default,2,1,2256,3
"(F) Gomhouria Mk.6, 1939",Mk6,default,2,1,5967,2
"(F) Zlin Z-26 Trainer, 1946",Z26,default,2,1,14855,2
"(F) Polikarpov CSS-13, 1948",U_2PO,default,2,1073,14438,4
"(F) Granville GeeBee R1, 1932",GeeBeeR1,default,1796,1392,5873,2
"(F) Granville GeeBee R2, 1932",GeeBeeR2,default,1796,1392,5876,2
"(F) Grumman F8F-2 Racer, 1970",F8F2Racer,default,1796,1392,4398,31
"(F) Grumman F8F-2 RareBear, 1969",F8F2RB,default,1796,1392,4430,31
"(F) Grumman F2G Super Corsair, 1945",F2G,default,1796,1392,3872,38
"(F) NA P-51R Racer, 1964",CRPracer12,default,1796,1392,11678,2
"Target-Banner(Glider)",Target_Banner,default,1796,1392,14081,6
"Towed Targets & Aerial Messages(Glider)",Target_Message,default,1796,687,14088,22
The corresponding DB look for the aircraft above is included below:
11010111111100000001000011010000001101000001100000000000000000000000000000000000000000000010100000000000000110010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001000000001110000101000001100000000000000000000000000000000000010000000000111111111110000010010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001000000000000000100000001100000000000000000000000000000000000010000000000111111111100000010010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001000000000000000100000001100000000000000000000000000000000000010000000000111111111111000010010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001000000000000000100000001100000000000000000000000000000000000010000000000111111111111000010010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001000000000000110110000001100000000000000000000000000000000000010000000000100011111111111110010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001000000000000000100000001100000000000000000000000000000000000010000000000100111111111000010010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001101000000000100100000001100000000000000000000000000000000000010000000000100000111110000010010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001000000000000000000000001100000000000000000000000000000000000000000000000100000011111110011010000010000000000000000000000001011001000110000000100000010000100000000000000000000010001
11010111111100000001000000000000000000000001100000000000000000000000000000000000000000000000100000011111110011010000010000000000000000000000001101001000110000000100000010000100000000000000000000010001
11010111111100000001101000000000000100000001100000000000000000000000000000000000000000000010111111110000000010010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001000000000000100100000001100000000000000000000000000000000000000000000010111111111110000010010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001000000000000000110000001100000000000000000000000000000000000000000000010100111111000000010010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001000000000000000100000001100000000000000000000000000000000000000000000000100001111110000010010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001000011010000001100000001100000000000000000000000000000000000000000000010111111111111111110010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001000011010000001101000001100000000000000000000000000000000000000000000010111111111111111110010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001000011010000001100000001100000000000000000000000000000000000000000000010111111111111111110010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001000011010000001100000001100000000000000000000000000000000000000000000010111111111111111110010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001000011010000001100000001100000000000000000000000000000000000000000000010111111111111111110010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001000011010001001100000011100000000000000000000000000000000000000000000010111111111111111110010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001000000000000000100000001100000000000000000000000000000000000000000000010101111111110000010010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001101000000000110110000001100000000000000000000000000000000000000000000010100001111111111110010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001101000000000110110000001100000000000000000000000000000000000000000000010100001111111111110010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001000000000000100101000001010000000000000010000000000000000000000000000000111111111110000010010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001000000000000000110000001010000000000000010000000000000000000000000000000101111111110000010010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001000000000000100101000001010000000000000010000000000000000000000000000000111111111000000010010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001000011010000111110000001010000000000000010000000000000000000000000000000100011111111111110010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001000000000000110110000001010000000000000010000000000000000000000000000000100011111111111110010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001000000000000000100000001100000000000000000000000000000000000010000000000100000000001111110010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001000000001110000100000001100000000000000000000000000000000000010000000000111111111111111110010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001000000000000000100000001100000000000000000000000000000000000000000000010110000000000000010010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001000000000000000100000001100000000000000000000000000000000000000000000010110000000000000010010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001000000000000000100000001100000000000000000000000000000000000000000000010100000000011111110010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001000000000000000100000001100000000000000000000000000000000000000000000010100000000011111110010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001000000000000000100000001100000000000000000000000000000000000000000000010100000000111111110010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
11010111111100000001101000000000000100000001100000000000000000000000000000000000000000000010100000000011111110010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
10001110110011010101000000001110000110100001100000000000000000000000000000000000000000000010111111111111111110010000010000000000000000000000001001000000100000000000000000000000000000000000000000010000
This is only 38 planes... so you can imagine the work for 1574...
Anyway, much more work ahead!
Cheers.