Special Aircraft Service

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: DGEN Campaign File Structure Notes  (Read 1644 times)

0 Members and 1 Guest are viewing this topic.


  • member
  • Offline Offline
  • Posts: 382
DGEN Campaign File Structure Notes
« on: October 05, 2019, 07:43:23 AM »

Here is some information on how to take existing DGEN campaigns and mod them by adding planes/skins/aces.

File = https://mega.nz/#!OqJ21QKY!-hNhC4Fu-Njmb_KKspqry5spsMK5Z0Zjt-yaL7DwhFI

...and here is t he guide if you don't feel like downloading:

Please note:  This guide is NOT a general DGen file guide as there are many complexities here beyond my knowledge and – fortunately – modifying many file categories is not needed to add the fun stuff; planes/skins/aces.

For a more detailed breakdown of how to mod some of these more complex files see the link below from Mission4Today (M4T):


…and specific pages of this guide will be referenced below when addressing the pertinent files for those who want to delve deeper.

Thanks to “SAS~vampire_pilot” for his valuable feedback and assistance.

Part I.:
DGEN campaigns consists of the following files:
1. campaigns[XX][Y].DAT = XX is the 2 digit country code.  Y is the unique #/letter/special character that identifies the campaign. This naming convention is carried over to all of the following files.  The file itself lists a brief description of the campaign and the Ops file names of all the Ops covered by the campaign (in date order) followed by a short description.  Spacing is important.
2. classes [XX][Y].DAT = the "class" of all flyable a/c in the campaign (note that we've seen some that list all a/c which we don't think is necessary).  You just need to list the a/c from the Campaign Planes file (as opposed to the Ops related Planes files) and use ALL for a holistic mission set.  You can "specialize" by using codes found in the Ops related Planes files. It's up to you.
3. planes [XX][Y].DAT = player available flyable plane choices per Op in date order.  Spacing is important.
4. squadrons [XX][Y].DAT = available squadrons per campaign.

Part Ia.:
File examples from “Boelckes Defense of the Reich 1943-45” campaign – matching the structure above:
1. campaignsdeO.DAT
2. classesdeO.DAT
3. planesdeO. DAT
4. squadronsdeO.DAT

Part II.:
...and of course the Operations related files.  Here is a typical set:
- Africa40.DB = main Ops file.  More on these in Part III below as many mods can be made to these files.
- Africa40Blue.MIS = These are mission "templates", containing all the ground objects that will spawn; vehicles, AAA points, parked planes, etc.  They can be modified in FMB like any other .MIS file. Spawns will be handled by DGen depending on randomized mission profiles and your conf.ini settings. You can't directly influence what spawns and what does not.  I don't mess with these files.
- Africa40Red.MIS = same as above but for the Red side.  Again, I don't mess with these files.
- Africa40Planes.DAT = these files override the EuroPlanes and PacificPlanes files.  Those two files should contain ALL a/c that appear in the various campaigns by role and weapon carried.  One line for each combination of ordinance AND country.  The file also lists the cruise speeds/altitudes for each a/c.  And finally, in the last column, a 0/1 signifies whether the plane is flyable or not (1 = flyable).  If you are generating errors in your campaign this file is the likely culprit. So, now back to the Ops related Plane files; if these exist - or you create them - they trump the EuroPlane & PacificPlane files so ALL a/c in an Operation must be listed to avoid errors. That stated, modder SAS~vampire_pilot  did a wonderful job creating these files for existing campaigns so if your adding a plane here or there then go ahead and use these files.  If you're doing a bunch of additions then best to just add them to the respective main file based on geography.
Example for the Ju-52:
    Axis     Germany    Paradrop        JU_52_3MG4E          250 1000 1000 18xPara                                  0
    Axis     Italy            Paradrop        JU_52_3MG4E          250 1000 1000 18xPara                                  0
    Axis     Germany    Transport       JU_52_3MG4E          250 3000 3000 default                                     0
    Axis     Italy            Transport       JU_52_3MG4E          250 3000 3000 default                                     0
(Entries for each country; Germany/Italy. AND for each mission type; Paradrop/Transport)

There are also bunch of other files; "opsXXX" files (ops_africa40_ITA.DAT), Topo files, message files, etc.  I don't mess with these at all.  If you want to know more about these check out the M4T link posted above.

Part III.:
Operation Specific files breakdown.  These are the "fun" files as there's lots you can add/revise here and other stuff I just don't touch.  Let's go in order by section using the "Channel_44.DB" Ops file :
A. First line is the map used for the Op. = I don't touch this.
B. [Towns], starting w/ Le_Havre on down.  Much more than a list of towns, but I don’t really care about this section so I don’t touch it. See the footnotes at the end of the guide for more info. 1,2
C. [Schedule], the Ops calendar = I don't touch this section. 3
FYI, here are the first 2 entries:
40501 1250 (May 1st, 1944 point values which helps determine which side controls the town – not sure exactly how this works)
40502 0 (May 2nd, 1944 - no point value)
D. [OOB], lists all Gruppes/Squadrons appearing in the operation.  I’ve had ZERO luck adding to these entries and always receive an error message when I do.  So beware.
First 2 entries:
=I_JG1    (1st Gruppe Jagdgeschwander 1 Oesau)
=II_JG1    (2nd Gruppe Jagdgeschwander 1 Oesau)

Syntax is important; "=" separates each entry, NO spaces, underscores ONLY
E. [Squadrons], despite the section name this block is a way to assign a specific skin to a specific squadron for a specific a/c.
First 2 entries - 2 lines per entry:
    B_8AF_379BG_524BS B_24J100 (USAAF 379th Bomb Group/524th Bomb Squadron flying the B-24J Liberator)
    skin:B24_Olive.bmp    (skin assigned)
    B_8AF_351BG_508BS A_20G (USAAF 351st Bomb Group/508th Bomb Squadron flying the A-20G Havoc)   
    skin:A20G_US_olive.bmp    (skin assigned)

   Syntax is important; NO spaces except the one between the squad and the a/c, underscores ONLY and ".bmp" must be used.
Note that you can elect to use markings on – the entries above are coded for that.
Or you can elect to use markings off – simply add a “$” sign as the first character in the skin name; example = “$B24_Olive.bmp”.  And you will need to add that sign to the skin name in the Paint Scheme folder as well.
F. [Planes], the digits are NOT a % or plane number counts but represent appearance frequency rather than numbers available, so if there is only one of a type listed, an entire squadron can still appear.  Do make these numbers high to see these planes appear often in your campaign.
First 2 entries - 1 line per entry:
   100 B_17G B17G_Olive_Generic.bmp
        100 B_24J100 B24_Olive.bmp

   The structure is straightforward:
-   Numeric frequency value
-   Plane name that must match the entries in the “air” AND the Europlanes/PacificPlanes files.  More on this below.
Skin assignment; Syntax is important; NO spaces except the one between the squad and the a/c, underscores ONLY and ".bmp" must be used.
Note that you can elect to use marking on – the entries above are coded for that.
Or you can elect to use markings off – simply add a “$” sign as the first character in the skin name; example = “$B24_Olive.bmp”.  And you will need to add that sign to the skin name in the Paint Scheme folder as well.
Adding a plane to an Operation:
-   Copy over an existing entry in the [Planes] section that performs the same function as the one you are adding.
-   Revise the a/c name according to the name used on the “air” file found here; IL-2 Sturmovik 1946\#WAW3\STD\com\maddox\il2\objects.
-   Ensure that the a/c is included on the Europlanes or Pacificplanes file, or on the specific Operations Planes file if there is one.
-   If you need to add it there must be one entry per role and weapons type otherwise you will get pink planes/exploding plans when you fly the Op.
-   This part is a bit tricky and we suggest making a dummy mission file in FMB with the aircraft you want and set it to all the loadouts you want and copy the names of the loadouts from that .MIS file, one by one! That's the most direct and error free way to get to the loadout names you need.  If you want these new a/c to be available to the player then you must add them to the “classes” and “planes” files discussed in Part I. above.
-   And that’s it!
G. [Skill], determines the skill level distribution of pilots for each side for a specific Op.  The skill levels apply to the flight leader and leader of a flight element, not to the overall distribution.   You can play around w/ these entries to get a historic outcome or a greater challenge.  (See the “Channeldday” Ops file for an example of this and the last two items.)
A = % of Aces, V = % of Vets, N = % of Novices
When the %s don’t add up to 100% the difference will be made up of Average pilots
H. [Aces].  Yes, you can add “aces”, with their own skins, that will appear in the Operation from time to time.   But you will have no control over where or when they appear.  (See the “Channeldday” Ops file for an example of this and the last two items.)
First 2 entries – 1 OR 2 lines per entry:
        FW_190A8 FW_190A8 I_JG26 Josef Priller
        FW_190A8 FW_190A8 I_JG26 Waldemar Radener

-   Ace plane type, space, wingman plane type, space, unit, space, ace name
-   Skin assigned (this is optional)
-   As are all these entries; so feel free to go crazy, or not.
I. [Operations], points the Ops file the group of files named “opsXXXXX”.  These files determine the types of missions flown for each side and there is some real complex balancing going on here so I don’t touch these.  See the footnote below for more info. 4

Hope you find this guide useful and if you have any questions you can contact me on the SAS forum = Barkhorn1x. 

1.   TY to SAS~vampire_pilot for this information: “This is a bottomless pit of balancing.” There are values of points added to each town. These points must be claimed/surpassed by any side in a given mission to claim/reclaim the town in the campaign process (positive and negative values indicate winning condition or losing condition).  That means, you can either set low sum values so the town can be claimed by player (and AI) action and be "dynamic" or you can set a "historic" order of events and set very high point limits to either side so it's impossible for the player and AI to influence the set progression of frontlines.
2.   And there is more information on Towns found at the M4T link at the top; page 2.
3.   Same link; page 2
4.   SAS~vampire_pilot again; “…a true bag of cats best left alone.  It's "simply" the type of mission and the distribution of how many aircraft of any given type appear in it. That's where the true randomization starts. HOWEVER... not every combo makes sense or is possible so tampering with it you must make sure that all the combos are plausible and even possible in your map and scenario (available plane numbers and such....).  If you want to spend weeks debugging and balancing, you can go there. Some might find that entertaining.... But I agree with the Don't Touch.”  See the same link; page 4 for (much) more info.


  • Modder
  • member
  • Offline Offline
  • Posts: 539
  • Wer den Tod fürchtet, hat das Leben verloren.
    • vonOben's Flight Sim Mods
Re: DGEN Campaign File Structure Notes
« Reply #1 on: October 10, 2019, 04:06:14 AM »

Many thanks for sharing this information!

Very useful indeed!  :)


  • SAS Team
  • member
  • Offline Offline
  • Posts: 5403
  • The man of a million fixes
Re: DGEN Campaign File Structure Notes
« Reply #2 on: October 10, 2019, 09:11:27 AM »

indeed, this is a good summary!


  • member
  • Offline Offline
  • Posts: 382
Re: DGEN Campaign File Structure Notes
« Reply #3 on: October 10, 2019, 10:20:22 AM »

TY folks.  Glad I could give something back to the community.
Pages: [1]   Go Up

Page created in 0.016 seconds with 27 queries.