Experimenting with AircraftBasicData.dat
Jun 17, 2020 0:51:01 GMT -6
Warspite and cormallen like this
Post by asdfzxc922 on Jun 17, 2020 0:51:01 GMT -6
I've been working on reverse-engineering this file and figured I'd share what I've learned so far. If anybody else can fill in the blanks or confirm my guesses, please share.
The overall format is pretty straightforward:
The actual stats contain a lot of mystery values, but I can make some educated guesses:
Some things to note:
The overall format is pretty straightforward:
[FLOATPLANE SCOUT] <-- Dictates which aircraft type is currently being described.
1910;-;-;-;-;-;-;-;-;-;-;-;-;-;-;-;-;-;-;-;-;- <-- If this line is blank, no aircraft of this type can be ordered until you reach a year with valid stats. (This may be the source of that bug where you can have dive bombing researched, but can't actually order any dive bombers)
1912;-;-;-;-;-;-;-;-;-;-;-;-;-;-;-;-;-;-;-;-;- <-- Each section progresses from 1910 to 1950 in two-year steps. I haven't tried adding additional datapoints past 1950 yet.
1914;86;74;8;0,3;144;144;144;1;6;5;3;-;5;-;-;-;-;-;-;2/-;
...
1950;212;110;30;2,1;360;288;230;2;9;8;6;-;8;1;2;4;-;-;Radar;6/5;L,G
The actual stats contain a lot of mystery values, but I can make some educated guesses:
Year | Max speed | Cruise speed | Unknown | Unknown | Range light | Range med | Range heavy | Firepower | Maneuverability | Toughness | Unknown (blank for PB/MB/Z) | Unknown (PB/MB/Z only) | Unknown | Light bomb capacity | Medium bomb capacity | Heavy bomb capacity | Torpedo load (L/M/H) | Double torpedo load (L/M/H) | Can carry radar | ASW value? | Preferred bombing methods |
1950 | 212 | 110 | 30 | 2,1 | 360 | 288 | 230 | 2 | 9 | 8 | 6 | - | 8 | 1 | 2 | 4 | - | - | Radar | 6/5 | L,G |
Some things to note:
- Column five is a single decimal value. Fighters have the largest max value at 4,6, while zeppelins have the lowest value at 1,1. RTW3's jets have values about ten times larger than their prop counterparts, with no decimal component.
- Ranges appear to be in minutes at cruising speed. If left at zero, the game will use some hardcoded fallback formula that I don't know the details of.
- Bomb capacities very roughly correspond to the total weight carried in 250lbs intervals. These do not directly correspond to any specific bomb load, and use a different scale from the format used in the savefile (which scales very nonlinearly). I believe that the game applies some additional modifiers based on the plane's other stats, which would explain why a bomb load of 1 in 1920 corresponds to 2x60lbs or 100lbs while the same payload in 1940 usually corresponds to 250lbs.
- Medium bombers completely ignore the torpedo-related columns; I suspect the game just checks if their medium bomb load is >600lbs and then rolls some dice. All other plane types are confirmed to respect them.
- Columns 19 and 20 correspond to values in the save file (AT0Torpedo2 and AT0Radar, respectively), but neither feature is functional. (Torpedo2 would be used for double torpedo payloads, denoted as "M/H" or "-/M" in the plane info window, but this mechanic was only implemented as far as a few UI elements.)
- The first number in column 21 seems to determine the plane's contribution to the ASW score shown on the air groups screen. I think the second number is the odds of actually attacking and sinking a sub. It's present on FS, PB and Z (PB is 16/14, Z is 12/4).
- Column 22 is confirmed to have no gameplay effect. The logic for choosing attack profiles is 100% hardcoded.