Special Aircraft Service

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 2 [3] 4 5 6 ... 13   Go Down

Author Topic: UberQuick Mission Generator (UQMG) for BAT Project Development News (02 Mar 2021 // Update 004 Released, support BAT WAW 4.1.1)  (Read 28574 times)

0 Members and 1 Guest are viewing this topic.


  • member
  • Offline Offline
  • Posts: 336


  • UberDemon/danzigzag
  • Modder
  • member
  • Offline Offline
  • Posts: 1261

 Once things get more stable, I'll launch an Alpha then a Beta phase.

[I am keeping this below for cataloguing progress but for now I have a solution so I am not soliciting volunteers.]

============================ Ignore-ish ================================

If there are some volunteers out there I could use some help right now.

* An external action/cool screenshot of every plane in BAT (includes banners and vehicles, helos, everything) while the game is playing
- Clear of messages, no Icons, no writing, no map, dials, etc
- Full Zoom setting (Delete Key) (has less distortion in FOV)
- While flying (except for vehicles)
- Loadout of your preference
- Default Skin
- Markings from default country
- Front Quarter, Back Quarter, or fill as much of the screen with full airplane as possible
- Can be while shooting/using weapons
- For night aircraft, could do it at night using weapons for coolness factor
- JPEG/JPG format
- Taken by you, please do not use other people's work
- Use latest version BAT 3.8.4 (patch just released)
- Named after Java class (see Air.ini in [Install Directory]\#WAW3\STD\com\maddox\il2\objects\air.ini)
-- For example, in WAW, He-112B-2's Java class is "air.HE_112B2"
-- The name of the Screenshot would be "HE_112B2.jpg"
-- For other modules, the air.ini would be in similar path but in #DOF3, #JTW3, #SAS and #TGA

1) WAW
2) DOF
3) JTW
4) TGA
5) SAS

If there are any takers, please answer here, or PM me.  It is a lot of planes so if there are more than one person doing it, y'all can divide an conquer.  You'll get credit for it of course.

============================ Ignore-ish ================================

Reason why is that I want to add an inherent picture of each aircraft in the Flight Editor in UQMG, I think that would be a good feature.
Best Regards, UberDemon/danzigzag, Get UQMG at SAS BAT Mission area.  www.uberdemon.net no longer exists.


  • UberDemon/danzigzag
  • Modder
  • member
  • Offline Offline
  • Posts: 1261

So some good news, it looks like I was able to port the latest patch (3.8.4) using my current work.  Take a look below into how long this took:

Code: [Select]
Event Elapsed Comments
LoadoutLister WAW 0:02 Storebror's Mod/Utility
LoadoutLister DOF 0:02 Storebror's Mod/Utility
LoadoutLister TGA 0:02 Storebror's Mod/Utility
LoadoutLister JTW 0:02 Storebror's Mod/Utility
LoadoutLister SAS 0:03 Have not used the SAS one yet
BATCH stuff AllAirClasses 0:23 Remembering procedures, doing mass copy, decompiling/resolving
Figuring out DBBuild         0:14 Remembering procedures, and extracting info from java classes
Get Regiment files from SFS Extract 0:02 Just in case there are new ones
Generate FMB Aircraft 0:01 Export FMB Aircract file from FMB into BAT directory
Setup UCT WAW384 Folder Part one 0:08 Lots of work, prepping for a new build, copying stuff, get files using batch
Part two 0:35 Lots more work, file management to keep, bathroom breaks, new drinks, music
Change a couple of things in UCT 0:03 UCT is WIP, so gotta do some manual changes for new Port
Decided to make some changes in UCT 0:11 Things to make rebuilding better
Try run 0:07 Hmm, there was an error, better get a snack
Create new solution structure 0:11 Realized I should have created a batch file for this
Try run again… 0:05 This time it was just the classic step by step, then final fix
Run solution batch & PowerShell 0:02 Handling unicode stuff, works better from Command Prompt, w/couple of pauses
Port solution into UQMG Classic 0:03 Use JSGME - this is in the development mode UQMG Classic
Try Running it in UQMG Classic 0:03 Development mode, seems to be successful, now need to check

In the past, update to initialization because of IL-2 upgrades would take days, weeks, months.  When MODs started my all out effort was when AAA came out with the first consolidated MOD.  It was a ridiculous amount of work to update, but I soldiered through it.  When other modding communities came out, it was just unbearable, and I simply got overwhelmed and gave up.  SAS to me has proved to be the most successful and consistent community, and through the years I hoped to contribute more.

This approach seems to be giving some good results.  Now again this is nowhere near the final product I hope for, but it is a good step in the right direction.  Especially when a port in WAW takes about two and a half hours to complete versus days, weeks, months.  I realize that once I start working in earnest on DOF/TGA/JTW this will increase, but still, it is much better overall.  Automation is the way to go with something as crazy as the system I shot myself in the foot years ago.
Best Regards, UberDemon/danzigzag, Get UQMG at SAS BAT Mission area.  www.uberdemon.net no longer exists.


  • UberDemon/danzigzag
  • Modder
  • member
  • Offline Offline
  • Posts: 1261

BAT Patch 3.8.4 port preview:  Just wanted to show a few shots of a quick mission using the new Fw-187A-1 mod, one of my favorite planes besides the He-177 and the P-47.  6 Falkes take off to intercept Wellingtons.  The original flight is of 2 planes, but cloned twice, so we have 6 total in 3 independent elements in the same group.  For the Wellingtons, 3 planes are cloned 3 times, for a total of 12.  I have a rough landing, and I thought one of the Falkes was going to hit me in the runway so I got out of the plane.  3 kills… but we lost 3 Falkes… there was a lot of flak from ships as well.

Best Regards, UberDemon/danzigzag, Get UQMG at SAS BAT Mission area.  www.uberdemon.net no longer exists.


  • UberDemon/danzigzag
  • Modder
  • member
  • Offline Offline
  • Posts: 1261

18 June 2020

A quick update:  So besides everything, I would like to add some new small features.  The content in BAT is enormous, even for crazy military aviation fanatics like we are.  Sometimes I forget what a plane is.  I mean, WAW 3.8.4 alone has 1259 aircraft.  OK with a lot of patience and persistence I got a shot of every plane, then did some magic Excel and Batch work to rename all pictures the same as the Java classes.  It took a bit of time but I did it in two days.  I then used the MS Office Photo Gallery editor to do mass cropping.

Anyway, I’ll work on the code in the next few days.  I need to do some updating to UQMG classic to rely less on files and more on memory, so let’s see how that comes along.  The flight editor will have an option of showing the aircraft pictures as you pick them.  This is what it looks like expanded, and you just click the Show/Hide Viewer button to hide it back if you don’t want it.

Below is a small sampling of the pictures, but yes, all 1259 are there.  I am going to try to change how UQMG uses certain files so that the pictures and some DB features are central, and common to all modules (DOF, TGA, WAW, JTW, and possibly SAS and/or some other Stock Versions).

Best Regards, UberDemon/danzigzag, Get UQMG at SAS BAT Mission area.  www.uberdemon.net no longer exists.


  • SAS Team
  • member
  • Offline Offline
  • Posts: 3255

Its great to see this developing further. Thanks for your work.


  • member
  • Offline Offline
  • Posts: 336


  • Modder
  • member
  • Offline Offline
  • Posts: 2244


  • UberDemon/danzigzag
  • Modder
  • member
  • Offline Offline
  • Posts: 1261

21 June 2020

Happy Fathers' Day mates!

Another quick update.  No pretty pictures this time, but I got a big milestone done.  The semi-abandoned UQMG2013 project had the use of a smaller database based on the Java classes of IL-2.  Smaller, however there was significant manual labor updating an Excel spreadsheet.  I used the a similar construct this weekend to build a new pseudo database programmatically.  This was my first attempt at that and it worked well.

As you can see below, I embedded the code into the loading/writing of UQMG 2013 files button.  Note the message in the toolbar.

The format of the DB is as follows:

[Name of the Class]=[Year Start of Service]=[Year End of Service]=[Long 0 and/or 1 string]

The years are have a decimal value which really means .1 (January) to .12 (December)

The Long String is a single string field which I will parse to get values from one of 48 types of values associated with the class.  I did not write that yet but I should be able to reuse part of the code from UQMG 2013 code (written in VB 2010 Express).

Below are the 48 parameters:

Code: [Select]

And below is a sample of the actual DB.  It is a 513K file so I can only post a sample.  It uses all the aircraft Java classes, so although all the cockpits are not actual planes, and the base classes are not, I just included everything.  In the end only the specific aircraft Java classes will be used for UQMG so having the extra stuff won't interfere or matter at the moment.

Code: [Select]
Ansaldo                               =NOTHING=NOTHING=000001000001000000000000000000010010000000000000
Ansaldo_SVA10E                        = 1914.1= 1918.1=000001000000000000000000000000000000000000000000
Ansaldo_SVA10L                        = 1914.1= 1918.1=000001000000000000000000000000000000000000000000
Ansaldo_SVA5                          = 1942.1= 1967.8=000001000001000000000000000000010010000000000000
ANSON                                 =NOTHING=NOTHING=000000000000000000000000000000010010000001000000
ANSON_M2                              = 1939.1= 1945.1=000000000000000000000000000000000000000000000000
ANT20                                 =NOTHING=NOTHING=000001000000000000000000000000000000000001000000
ANT_20bis                             = 1932.1= 1945.5=000001000000000000000000000000000000000000000000
ANT_20MG                              = 1932.1= 1945.5=000001000000000000000000000000000000000000000000
AN_10                                 = 1948.5= 1960.9=000001000000000000000000000000000000000000000000
AN_10A                                =NOTHING=NOTHING=000000000000000000000000000000000000000001000000
AN_12                                 = 1948.5= 1960.9=000001000000000000000000000000000000000000000000
AN_2                                  = 1939.1= 1945.5=000001000000000000000000000000010000000000000000
AN_22                                 = 1947.1= 1960.1=000001000000000000000000000000000000000000000000
AN_24                                 = 1937.1= 1945.1=000000000000000000000000000000000000000001000000
AN_26                                 = 1937.1= 1945.1=000000000000000000000000000000000000000001000000
AR_196                                =NOTHING=NOTHING=000000000000000000000000000000011010000000000000
AR_196A3                              = 1938.5= 1945.5=000000000000000000000000000000000000000000000000
AR_196T                               =NOTHING=NOTHING=000000000000000000000000000000010010000000000000
AR_196T1                              = 1940.5= 1945.5=000001000000000000000000000000000000000000000100
AR_234                                =NOTHING=NOTHING=000001010100000000000000000000000000000000000000
AR_234B1                              = 1944.1= 1948.8=000001000000000000000000000000010000000000000000
AR_234B2                              = 1944.1= 1948.8=000001010000000000000000000000000000000000000000
AR_234B2NJ                            = 1944.1= 1948.8=000000000000000000000000010010000000000000010000
AR_234B3                              = 1944.1= 1948.8=000001010000000000000000000000000000000000010000
AR_234C                               =NOTHING=NOTHING=000001000100000000000000000000000000000000000000
AR_234C2                              = 1944.1= 1948.8=000001010000000000000000000000000000000000000000
AR_234F                               =NOTHING=NOTHING=000010000101000000000000000000000000000000000000

Oh, and building the DB programmatically only took 3 minutes.  Not bad.  I bet when I am ready to build one compatible with UQMG Classic, it will take longer.  It is a beast.

You can see from the UQMG Converter Tool log (a feature I created to help me debug) that it did not take that long once it was not found and had to be rebuilt:

Code: [Select]
(2020-06-21 15:59:37) // Initialization Complete.
(2020-06-21 15:59:47) // Found UQMG2013-like Country File.  Loading Values.
(2020-06-21 15:59:47) // UQMG2013-like Country File Loaded.
(2020-06-21 15:59:47) // Found UQMG2013 Aircraft, Weapon, and UQMG Classic Scroll Preparation files.  Loading Values.
(2020-06-21 15:59:47) // Aircraft file loaded.
(2020-06-21 15:59:47) // Weapon Loads file loaded.
(2020-06-21 15:59:47) // UQMG Classic Scroll Preparation file loaded.
(2020-06-21 15:59:47) // UQMG Classic Weapon Line Preparation file found.  Loading file.
(2020-06-21 15:59:47) // UQMG Classic Weapon Line Preparation file loaded.
(2020-06-21 15:59:47) // UQMG2013 Regiments files found.  Loading 3 files.
(2020-06-21 15:59:47) // UQMG2013 Regiments, Generic Enemy, Specific Enemy files loaded.
(2020-06-21 15:59:47) // UQMG Classic Regiment Line Preparation file found.  Loading file.
(2020-06-21 15:59:47) // UQMG Classic Regiment Line Preparation file loaded.
(2020-06-21 15:59:48) // UQMG2013 Composite Flight (Combo) files found.  Loading 2 files.
(2020-06-21 15:59:48) // UQMG2013 Combo Flights and Combo Weapons files loaded.
(2020-06-21 15:59:48) // UQMG2013 MiniDB not found. Building new database.  This will take a while.
(2020-06-21 16:01:59) // New UQMG2013 MiniDB built.
(2020-06-21 16:03:40) // Application closing.

Why does this matter?
1) This DB will help me get more files for UQMG classic written
2) This DB, and its method of writing will help me programmatically generate something that will work with UQMG classic.  It won't be 100% accurate, but it will be enough for the purposes of the program.

Anyway, cheers.
Best Regards, UberDemon/danzigzag, Get UQMG at SAS BAT Mission area.  www.uberdemon.net no longer exists.


  • UberDemon/danzigzag
  • Modder
  • member
  • Offline Offline
  • Posts: 1261

23 June 2020

Another quick update.  Last night I successfully worked a set of routines to create the Nose Art file in UQMG Classic (fd_noseart.ini).  By itself it does not sound like much, but it is the first practical use of the MiniAirDB I talked about in my last update into generating a UQMG classic script programmatically.

Although I call my UQMG 2013 project an abandoned project, it is not so abandoned after all.  Much of the meat of UQMG Converter Tool (UCT) is using routines and functions ported from UQMG 2013 (VB 2010 Express) into UCT 2020 (VB 2019 Community).  This includes most of the code I used to read/parse information from the Air DB.

Right now there is a bug which I know how to fix (a simple overflow due to how UQMG classic uses different files to handle composite flights).  I'll fix it tonight after work.

Something else, for Composite flights (that is flights with more than one plane, like a Pe-8 towing 3xG-11s), the code is going to look at both aircraft.  If one of them supports Nose Art, then the default will be to have nose art enabled.  This will allow me to dig into the UQMG Classic code (VB 6.0 Professional) and have a good chance of making the new "Banner Messages" work in UQMG.

No pretty pictures, but progress nevertheless.

Best Regards, UberDemon/danzigzag, Get UQMG at SAS BAT Mission area.  www.uberdemon.net no longer exists.


  • UberDemon/danzigzag
  • Modder
  • member
  • Offline Offline
  • Posts: 1261

Another quick update:  28 Jun 2020

Apparently I enjoy my family more than I thought, because I am spending more time with them than IL-2...   sacrilege!

So to recap for everyone, for Nose Art to work in IL-2, not only you have to have a plane that supports it, it only works with USA regiments (Air Force, Navy or Marines).  The same goes for Message Banners.

Anyway, I did some cleaning up of my code.  Here are the major things I got done:
•   Nose Art is now integrated in VB 2019 UQMG Converter Tool (UCT) 2020 main routines (Programmatically this is great because I will not have to manage a file for 1500+ entries)
•   Bug I mentioned above is fixed in UCT 2020, was easier than I thought.
•   Fixed VB6.0 UQMG Classic code to handle new USA regiment nomenclature
•   Good news, UQMG Classic supports Banner Messages, however a small problem is that because how nose-art is handled, the same nose-art will be present on both tug and banner, if the tug supports nose art...  I am going to accept that as good enough moving forward, for now anyway.  You select the Banner message and the nose art will have the message.

Well, no one really cares, so how about some pretty pictures?  I will show some banner messages, and why not some alternative history Zeppelins?  Like, many of them...

Cheers mates!
Best Regards, UberDemon/danzigzag, Get UQMG at SAS BAT Mission area.  www.uberdemon.net no longer exists.
Pages: 1 2 [3] 4 5 6 ... 13   Go Up

Page created in 0.264 seconds with 24 queries.