The news that you are working on an update to UQMG is music to the ears of mission builders. I don't want to draw you away from that valuable work, but any details you may wish to share about that would be welcome, ie, stock version only or WAW BAT compatible. In the days before mods I built some terrific missions for online play with my mates, though the game has changed scope enormously since then, but your utility was the absolute best thing back in the day. Thanks for your continuing efforts.
Thank you for the vote of confidence. I can share a few things:
* The amount of work is enormous, and I am a team of one.
* Compatibility: The baseline will be BAT. There will be separate support for DOF, TGA, WAW and JTW. What will be included is still in the drawing boards. Compatibility with Stock will probably be worked out later, but will depend largely on SAS being able to have SAS MODACTS for all major stock versions (and here I am speaking of 1946 and later, but not the Demos, or first IL-2, FB, PF, AUP, etc... basically the 1946 series used by BAT, and possibly later Team Daidalos releases if I have time, and most likely depending on what kind of MODACTS are down the line.
* The only way I am able to do this is because of Storebror's Load Out lister tool
* First part of work is complete. Several fairly complex BATCH scripts (combined with some VBScrip)t which go through several files in BAT in order to resolve/decompile, and in certain case re-hash classes. The point here to get all the info from several java classes. I then combine a lot of information parsed from the Java classes in order to build text files with information on the classes that I need - this took a long time to assemble, and is not totally user friendly but I have a working model. Note: This needs to be run (takes a few minutes to complete) every time there is an update to BAT.
* Second part of the work involved a strategy how to tackle the enormous amount of work. The strategy is more or less as follows:
- Create a conversion tool which takes the script files created with the BATCH stuff above and does something with it. The tool is in development in conjunction with creation of content to be imported into the UQMG classic interface you are familiar with. The tool is called UQMG Conversion Tool 2020 or UCT2020 for short. A screenshot is below:
What does that do? UCT takes the batch files, IL-2 initialization and properties files as well as the results from Storebror's Loadout lister, as well as some scripts I have to semi-manually create and then 1st creates initialization files in the format of UQMG2013, my project that never took off because of a change in career and move to a new location with family. However the script file format I created years ago were a lot more sound than the classic UQMG's. It then uses the files which would have been intended for UQMG2013 along with those other files from batch works and scripts and then converts them back to UQMG classic content.
The application is currently creating the following UQMG classic files:
* fd_Aircraft.ini (aircraft class information, but I still have to integrate Special planes (aces, tugs+gliders, drone+mothership etc) (In WAW3.8.2, that is 1244 aircraft)
* fd_countryblue.ini (blue countries - 66 in WAW3.8.2)
* fd_countryred.ini (red countries - 75 in WAW3.8.2)
* fd_Weapons.ini (weapons for single aircraft, this is ONLY possible due to Storebror's Loadout lister... my current version has almost 15 thousand lines)
* fd_craftjump.ini and fd_craftjumpval.ini (scroll shortcuts, now based on the SAS/BAT4 labels you see in the aircraft selection menus) I take advantage of the FMB's Export feature to help me with it.
This is what is will look like-ish in UQMG Classic:
Trainer & Sport
Jagdgeschwader
Stukageschwader
Kampfgeschwader
Transportstaffel
Kriegsmarine
Fighter Command
Bomber Command
Fleet Air Arm
USAAF Fighters
USAAF Bombers
US Navy
USAAF Transport
VVS Fighters
VVS CAS
VVS Bombers
Soviet Navy
Imperial Japanese Army
Imperial Japanese Navy
Regia Aeronautica
Armee de l'air
Various Nations
Seaplanes
SWOTL Luftwaffe
1946 Japan
1946 USA GB
1946 Russia
Prototypes Various
Alternate History
Aces
Vehicles
... plus I'll have to write code to add the special/combo flights.
* fd_DogfightNames.ini and fd_DogfightNamesFly.ini which are used to create the DF arena versions of missions
* fd_Regiments.ini - this was a feat... took me a while to create the code to take the information from the IL-2 files, then put it into UQMG format then convert it to UQMG classic format... currently WAW3.8.2 has 1782 blue regiments, and 2563 red regiments including all new countries. This takes a while to go through... when the routine is running it can take upwards of 5 minutes to complete the process just for regiments if I have to do it from scratch.
* fd_Skins.ini list of all Skin directories, this is generated programmatically based on information from air.ini in IL-2, and it does some conversions to put it in proper syntax
This is extremely challenging because I had to re-teach myself how to program because it has been a few years. Not only that, the work on UCT2020 is in VB.NET Community 2019, and I am using largely the complex libraries I created in UQMG2013, which was on VB.NET Express 2010. That is not half of the story, I literally have to interpret what I was thinking 7 years ago... it is hard. So I am relearning and banging my head quite a bit.
Soooo. Right now I finished the ability to create the initialization file for all the available Combination flights in WAW3.8.2. It is actually something I am proud of. I got it to work last week successfully creating the UQMG2013 versions for all combination aircraft and their complex weapon load taking into consideration you have to load two different types of planes. My next step is to create the libraries and functions to take those and convert them into UQMG classic format, which are "fd_ComboAircraft.ini" and "fd_SpecialWeapons.ini"
Making those composite flights is quite another feat because I had to create a manual script in a spreadsheet to provide information to UCT2020 to create the combinations. I can show it to you because this is how the sausage gets made:
Ace=YAK_9TALBERT=1=YAK_9T=1
Ace=LA_7KOJEDUB=1=LA_7=1
Ace=MIG_3POKRYSHKIN=1=MIG_3UD=1
Ace=P_39NPOKRYSHKIN=1=P_39N=1
Ace=I_16TYPE24SAFONOV=1=I_16TYPE24=1
Ace=P_39Q15RECHKALOV=1=P_39Q10=1
Ace=BF_109G10FABIAN=1=BF_109G10=1
Ace=BF_109G6GRAF=1=BF_109G6=1
Ace=BF_109G6HARTMANN=1=BF_109G6=1
Ace=BF_109G6HEPPES=1=BF_109G6=1
Ace=BF_109G6KOVACS=1=BF_109G6=1
Ace=BF_109G6MOLNAR=1=BF_109G6=1
Ace=ME_262A1ANOWOTNY=1=ME_262A1A=1
Ace=JU_87G2RUDEL=1=JU_87G1=1
Ace=DXXI_SARJA3_SARVANTO=1=DXXI_SARJA3_EARLY=1
Glidert=Target_Banner=1=Tug*=1
Glidert=Target_Banner=3=PE_8=1
Gliders=G_11=1=Tugs=1
Gliders=G_11=1=Tugm=1
Gliders=G_11=1=Tugl=1
Gliders=G_11=1=Tugx=1
Gliders=G_11=3=PE_8=1
Gliderm=DFS_230=1=Tugm=1
Gliderm=DFS_230=1=Tugl=1
Gliderm=DFS_230=1=Tugx=1
Gliderm=DFS_230=3=PE_8=1
Gliderm=Horsa=1=Tugm=1
Gliderm=Horsa=1=Tugl=1
Gliderm=Horsa=1=Tugx=1
Gliderm=Horsa=3=PE_8=1
Gliderl=Hamilcar=1=Tugl=1
Gliderl=Hamilcar=1=Tugx=1
Gliderx=ME_321=1=Tugx=1
Tugt=D3A*=1=Glidert=1
Tugt=Lysander_TT=1=Glidert=1
Tugt=TBD1=1=Glidert=1
Tugt=Ar_66C=1=Glidert=1
Tugt=BU_131=1=Glidert=1
Tugt=LetovS_328=1=Glidert=1
Tugt=PA18=1=Glidert=1
Tugt=R_5=1=Glidert=1
Tugt=U_2dt=1=Glidert=1
Tugt=U_2VS=1=Glidert=1
Tugt=U_2TM=1=Glidert=1
Tugt=S_AT6=1=Glidert=1
Tugs=A_25_Shrike=1=Glidert=1
Tugs=A_25_Shrike=1=Gliders=1
Tugs=KI_46_RECCE=1=Glidert=1
Tugs=KI_46_RECCE=1=Gliders=1
Tugs=Ca_310=1=Glidert=1
Tugs=Ca_310=1=Gliders=1
Tugs=BF_110*=1=Glidert=1
Tugs=BF_110*=1=Gliders=1
Tugm=DC_3B=1=Glidert=1
Tugm=DC_3B=1=Gliders=1
Tugm=DC_3B=1=Gliderm=1
Tugm=AC_47=1=Glidert=1
Tugm=AC_47=1=Gliders=1
Tugm=AC_47=1=Gliderm=1
Tugm=LI_2=1=Glidert=1
Tugm=LI_2=1=Gliders=1
Tugm=LI_2=1=Gliderm=1
Tugm=L2D=1=Glidert=1
Tugm=L2D=1=Gliders=1
Tugm=L2D=1=Gliderm=1
Tugm=C_47*=1=Glidert=1
Tugm=C_47*=1=Gliders=1
Tugm=C_47*=1=Gliderm=1
Tugm=HE_111H*=1=Glidert=1
Tugm=HE_111H*=1=Gliders=1
Tugm=HE_111H*=1=Gliderm=1
Tugm=HE_111P*=1=Glidert=1
Tugm=HE_111P*=1=Gliders=1
Tugm=HE_111P*=1=Gliderm=1
Tugm=JU_52_3MG4E=1=Glidert=1
Tugm=JU_52_3MG4E=1=Gliders=1
Tugm=JU_52_3MG4E=1=Gliderm=1
Tugm=WhitleyMkV=1=Glidert=1
Tugm=WhitleyMkV=1=Gliders=1
Tugm=WhitleyMkV=1=Gliderm=1
Tugl=LANCASTER=1=Glidert=1
Tugl=LANCASTER=1=Gliders=1
Tugl=LANCASTER=1=Gliderm=1
Tugl=LANCASTER=1=Gliderl=1
Tugl=SHORT_StirlingIII=1=Glidert=1
Tugl=SHORT_StirlingIII=1=Gliders=1
Tugl=SHORT_StirlingIII=1=Gliderm=1
Tugl=SHORT_StirlingIII=1=Gliderl=1
Tugx=HE_111Z*=1=Glider*=1
Tugx=PE_8=1=Glidert=3
Tugx=PE_8=1=Gliders=3
Tugx=PE_8=1=Gliderm=3
Tugx=PE_8=1=Gliderl=1
Tugx=PE_8=1=Gliderx=1
Tugx=PE_8_M40F=1=Glider*=1
Mothership=TB_3_4M_34R_SPB=1=I_16TYPE5_SPB=2
Mothership=TB_3_4M_34R_SPB=1=I_16TYPE24DRONE=2
Mothership=G4M2E=1=MXY_7=1
Mothership=G4M2E=1=FI_103_V1=1
Mothership=G4M2E=1=FI_103RIV=1
Mothership=HE_111H2=1=FI_103_V1=1
Mothership=HE_111H2=1=FI_103RIV=1
Drone=I_16TYPE5_SPB=2=TB_3_4M_34R_SPB=1
Drone=I_16TYPE24DRONE=2=TB_3_4M_34R_SPB=1
Drone=MXY_7=1=G4M2E=1
Drone=FI_103_V1=1=G4M2E=1
Drone=FI_103_V1=1=HE_111H2=1
Drone=FI_103RIV=1=G4M2E=1
Drone=FI_103RIV=1=HE_111H2=1
Bomb=JU_88MSTL=1=Mistel=1
Mistel=FW_190A8MSTL=1=Bomb=1
Mistel=BF_109F4MSTL=1=Bomb=1
Tanker=A1H_Tanker=2=FJ_3M=4
Tanker=KB_29P=1=F84G3=1
Refuelable=FJ_3M=4=A1H_Tanker=2
Refuelable=F84G3=1=KB_29P=1
Basically UCT2020 takes the info above to create all available combinations of aircraft composite flights, and then creates weapon load combinations. It is brutal coding.
So to what end?
Eventually when I have all basic files, I'll start testing in UQMG Classic, with plenty of debugging I am sure... When I have a stable version, then the plan is to get back into UQMG Classic code and make a few modifications... UQMG is in Visual Basic 6.0 Professional Edition... but the good news is that I was able to make it work in Windows 10, as in the project itself.
There is a lot left... I doubt I'll be able to make an accurate DB file, because the amount of work is way too much, I'll see. Then I have to tackle all the ground objects.
I have to make some updates to that old piece of code to allow change of versions (so to go from the current version to WAW, TGA, DOF and JTW, and possible selected stock versions... currently it does not allow that). I probably need to do some cosmetic changes, update to help files.
Will there be a completely new UQMG at some point? Hmm difficult to say. I need to get this current effort done first. One of the things I am not sure I'll be able to do is having some way of creating an easier way to create map templates... that one I am not even thinking of right now.
Anyway, this is a labor of love (or hate) and perseverance. A battle of wills, if you will allow.
I don't know when it will be done, but I can guarantee it will follow the traditional IL-2 timeline... you know. In two weeks!!!!