Jump to content


Photo
- - - - -

EAW Notes


  • Please log in to reply
No replies to this topic

#1 Gepard

Gepard
  • +MODDER
  • Luftstreitkräfte der NVA, Political Arena
  • 3,676 Posts

Posted 09 October 2010 - 11:05:17 AM

To bring a little bit into the knowledge base: here comes the edit manual that Charles Gunst wrote in 2000.




NOTES ON EAW EDITING

Charles Gunst
Revision: 4 April 2000
INDEX


Page Topic
1 Index
2 Aircraft, Weapons
3 Structure of EAW, Hex numbers, EAW numbers
4 Other Characters, Creating New Aircraft, 2DCockpits
5 The FLT files , Artwork and Virtual Cockpits
6 3DZ files and converting PAW files
7 The hangar pictures(*.MPC)
8 Text String (*.STR) files
9 FLT.CDF, the FLT files
10-12 Format of the FLT files
13-14 FLT files (max. speed & guns)
15-17 3 pages of FLT Flight model analysis
18-19 FLT: guns' muzzle vel. & rate of fire
20 FLT: guns' dispersion
21 DATA.CDF
22-24 PLANES.DAT 1st 4 bytes
25 PLANES.DAT Speeds, fuel, weight
26-27 PLANES.DAT Damage
28-29 PLANES.DAT Guns etc
29 Ammunition counts
30-32 LOADOUT.DAT 1st Grp of Records
33 LOADOUT.DAT 2nd Grp of Records
34 Mission (MISNxx.DAT) files
35-36 }WEAPONS.DAT 1st Grp of Records
37 WEAPONS.DAT 2nd Grp of Records
39-40 }Squadrons in Campaigns
41 SQxx4x.DAT e.g. SQGR40.DAT
42-45 Air Base Codes
46-47 CAMPxx4X.DAT
48-49 CAREER0x.SVE
50-51 Saved Mission (*.MSN) files
52 EAW Sounds
53 Conclusions




Aircraft
There are 30 aircraft, 20 flyable and 10 non-flyable. The Aircraft Codes are as follows:
00 P-38H
01 P-38J
02 P-47C
03 P-47D
04 P-51B
05 P-51D
06 B-17F
07 B-24D
08 B-26B
09 Hurricane
0A Spit Ia
0B Spit IX
0C Spit 14
0D Typhoon
0E Tempest
0F Mosquito
10 Bf 109E
11 Bf 109G
12 Bf 109K
13 Bf 110C
14 Bf 110G
15 Me-410
16 Fw 190A
17 Fw 190D
18 Me 262
19 Ju-88A
1A Ju-88C
1B Ju-87
1C He-111
1DV1

Weapons
There are 21 (15h) original types of weapons. The Weapons Codes are as follows:00=No weapon
01=100lb bomb
02=250lb
03=500lb
04=1000lb
05=50kg
06=100kg
07=250kg
08=500kg
09=45 gal droptank
0A=75 gal
0B=108 gal
0C=150 gal
0D=165 gal
0E=200gal
0F=300 litre
10=M10 4.5" rocket
11=60lb rocket
12=HVAR 5" rocket
13=WGr21 mortar
14=R4M rocket
(15=Hs-293 rocket bomb)
(16=Fritz-X missile)
(17=Panzerschreck rocket)
(18=SD-10 frag. cannister)
(19=50 gal Napalm)
(1A=SD-2 bomblet)
(1B=20 lb Incendiary)
(1C=10 kg Incendiary)

(= new weapons added my me in “Enemy Coast Ahead”)


THE STRUCTURE OF EAW
EAW has its data in files in a series of library Compact Data Files (*.cdf). The constituent files can be extracted with Paulo Morais' CDF Extractor from EAW Online. An individual file in the EAW directory will be used by EAW in preference to the original in a CDF file. The CDF files are:

CDF File Size Contents
3d.cdf 4.66 Mb 3D cockpit and other views (*.3DZ)
cockpits.cdf 19.9 Mb Cockpit views of flyable aircraft (20x *.CPT)
data.cdf 1.36 Mb Aircraft and weapons data
flt.cdf 38.6 Kb Flight models (30 x *.FLT files)
fonts.cdf 1.01 Mb
grbrief.cdf 9 Mb
menu_eng.cdf 36.9 Mb
movies.cdf 284 Mb Movie files
music.cdf 1.38 Mb
pic.cdf 25.1 Mb Pictures, incl hangar pictures (*.MPC)
sound.cdf 1.14 Mb
sound16.cdf 2.38 Mb
speech1.cdf 9.94 Mb US speech *.SND files
speech2.cdf 11.3 Mb UK speech *.SND files
speech3.cdf 11.8 Mb German speech *.SND files
sprites.cdf 244 Kb
terrrain.cdf 7.57 Mb
text_eng .cdf 164 Kb Text string files (93x *.STR) for text within the sim
ukbrief.cdf 9.63 Mb
usbrief.cdf 11.4 Mb
wsound.cdf 8.87 Mb
wsprites.cdf 23.9 Mb

Hex to Decimal numbers are:
1 - 9 A B C D E F
1 - 9 10 11 12 13 14 15

EAW NUMBERING
Most EAW files use the Intel low-byte/high-byte format for numbers i.e. 3E8 is stored as E803.
Some (e.g. the *.FLT files) use a combination of short, long and float format (byte = 1-byte integer, short= 2-byte integer, long=4-byte, float=4-byte).

Hexworks has a Hex-Decimal calculator, a Data Viewer, and a Base Converter (Intel Hex-Decimal). The Windows calculator (Scientific mode) converts Hexadecimal-Binary etc

OTHER CHARACTERS
When hex editing text strings, the ASCII characters for German vowels with an umlaut are:
a 84 e 89 o 94 u 81
A 8e E O 99 U 9a

CREATING NEW FLYABLE AIRCRAFT
A basic new flyable aircraft requires 3 things:
1. Hangar picture (*.MPC)
2. Out-of-cockpit view file (*.CPT) and 6x Virtual Cockpit view files (5x*.3DZ & 1x VCG_xxxx.DAT)
3. Assigning the aircraft to a squadron, e.g. the Ju-87 Stuka to, say, EGr210 (in SQGR40.DAT)

COCKPITS.CDF: 2D COCKPITS
This file contains 20 *.CPT files, of variable length but each approximately 1 Mb. These are the out-of-cockpit views for each flyable aircraft. When creating a new flyable aircraft, take a suitable existing *.CPT file and re-name it (e.g. P191VIEW.CPT [Bf-110] is re-named P261VIEW.CPT for the Ju-88C).

P001VIEW.CPT P38H
P011VIEW.CPT P38J
P021VIEW.CPT P47C
P031VIEW.CPT P47D
P041VIEW.CPT P51B
P051VIEW.CPT P51D
*P061VIEW.CPT B17F
*P071VIEW.CPT B24D
*P081VIEW.CPT B26B
P091VIEW.CPT Hurricane
P101VIEW.CPT Spitfire I
P111VIEW.CPT Spitfire IX
P121VIEW.CPT Spitfire 14
P131VIEW.CPT Typhoon
P141VIEW.CPT Tempest
*P151VIEW.CPT Mosquito
P161VIEW.CPT Bf-109E
P171VIEW.CPT Bf-109G
P181VIEW.CPT Bf-109K
P191VIEW.CPT Bf-110C
P201VIEW.CPT Bf-110G
*P211VIEW.CPT Me-410
P221VIEW.CPT Fw-190A
P231VIEW.CPT Fw-190D
P241VIEW.CPT Me-262
*P251VIEW.CPT Ju-88A
*P261VIEW.CPT Ju-88C
*P271VIEW.CPT Ju-87
*P281VIEW.CPT He-111
*P291VIEW.CPT V-1
* Not present, but needed if new flyable aircraft introduced.



THE *.FLT FILES
The full names of the *.FLT files, which also relate to the *.3DZ files, are as follows:109E.FLT
109G.FLT
109K.FLT
110C.FLT
110G.FLT
190A.FLT
190D.FLT
262A.FLT
B24A.FLT
B26A.FLT
BB17.FLT
H111.FLT
HURR.FLT
J88A.FLT
J88C.FLT
JU87.FLT
M410.FLT
MOSQ.FLT
P38H.FLT
P38J.FLT
P47C.FLT
P47D.FLT
P51B.FLT
P51D.FLT
SP09.FLT
SP14.FLT
SP2A.FLT
TEMP.FLT
TYPH.FLT
V1V1.FLT

ARTWORK
The *.3DZ files contain the definition of the geometry data for the planes and are linked to a texture file. They refer to files with PCX as the file extension, which do not exist. There is, however, a file of the same name (e.g. P109EV.TPC) with TPC as the file extension. Microprose’ utility PICPAC.EXE creates TPC files from PCX files, enabling new aircraft skins to be created. The TEX files are a container for different kind of textures and that the 3DZ files are the geometry.

VIRTUAL COCKPIT FILES
3D.CDF has the various 3D files, including the Virtual Cockpit files. Five are needed, as follows:

Single engined aircraft
PxxxxU.3DZ Geometry and textures for the wings (single engine)
PxxxxV.3DZ Geometry and textures for the inner left part of the cockpit
PxxxxW.3DZ Geometry and textures for the inner right part of the cockpit
PxxxxX.3DZ Geometry and textures for the instrument panel
PxxxxZ.3DZ Geometry and textures for the gunsight
Twin engined aircraft
PxxxxV.3DZ Geometry and textures for the inner left part of the cockpit
PxxxxW.3DZ Geometry and textures for the inner right part of the cockpit
PxxxxX.3DZ Geometry and textures for the instrument panel
PxxxxY.3DZ Geometry and textures for the wings (twin engines)
PxxxxZ.3DZ Geometry and textures for the gunsight

xxxx is the code of the aircraft as per the *.FLT files.
The files VCG_xxxx.DAT (from DATA.CDF) are also needed. They contain the definition of the Virtual Cockpit gauges. Rename the files using the relevant code of the non-flyable aircraft.

3DZ FILES
The full list of 3DZ files is as follows:
File (e.g P109Ex.3DZ) References picture (*.TPC) file
PxxxxF.3DZ External picture PxxxxTEX.PCX
PxxxxH.3DZ Propellor and cowling PxxxxTEX.PCX
PxxxxL.3DZ PxxxxTEX.PCX
PxxxxM.3DZ Medium distance picture PxxxxTEX.PCX
PxxxxN.3DZ Bomber nose art
PxxxxP.3DZ Propellor spinner PxxxxTEX.PCX
PxxxxR.3DZ PxxxxTEX.PCX
PxxxxS.3DZ Long distance picture? PxxxxTEX.PCX
PxxxxT.3DZ PxxxxTEX.PCX
PxxxxU.3DZ Wings (single engine) PxxxxV.PCX
PxxxxV.3DZ Inner left part of the cockpit PxxxxV.PCX
PxxxxW.3DZ Inner right part of the cockpit PxxxxV.PCX
PxxxxX.3DZ Instrument panel PxxxxV.PCX
PxxxxY.3DZ Wings (twin engines) PxxxxY.PCX
PxxxxZ.3DZ Gunsight PxxxxV.PCX

PxxxxTES.TPC
PxxxxTRA.TPC
PxxxxTEX.TPC This is the only file different in the German version of EAW. The differences obliterate the swastika on the rudder.

Converting 1942 Pacific Air War (PAW) files to EAW
The format in PAW is similar. In EAW the 3DZ files are the 3D shapes, and the TPC files are the aircraft skins. The reference in the EAW *.3DZ files is to a PCX file, which does not exist in EAW - it is the TPC file of the same name. (This is a coding hangover from PAW, which does use *.PCX files)

In PAW the skin file is *.PCX, but this is not a regular PCX file, but obviously a Microprose file, with the same format as the EAW *.TPC files. The EAW *.TPC files are 256x256 size, but the PAW *.PCX files are only 256x128 size Using the corresponding PAW skin file, and re-naming it, gives an error message about "File the wrong size". For EAW, the *.TPC files have to be drawn from scratch over the PAW 3D shapes. The PAW 3DZ files are easier to convert. Change the internal reference to PxxxxTEX.PCX and change the file name itself as follows:

PAW file name EAW file name
xxx.3DZ PxxxxF.3DZ Main external picture
xxx_HALF.3DZ PxxxxG.3DZ (Right side, 2 or 4-engined planes only)

3xxx.3DZ PxxxxM.3DZ Medium distance picture
3xxx.3DZ (again) PxxxxN.3DZ (Right side, 2 or 4-engined planes only)

23xxx.3Dz PxxxxS.3DZ Long distance picture
123xxx.3DZ PxxxxT.3DZ Function not known


PIC.CDF: THE *.MPC HANGAR PICTURES
This file contains 20 *.MPC files, of variable length but each approximately 200 Kb. These are the hangar views for each flyable aircraft. When creating a new flyable aircraft, take an existing *.MPC file and re-name it (e.g. HNGR20.MPC [Bf-110G] is re-named HNGR26.MPC for the Ju-88C).

HNGR00.MPC P38H
HNGR01.MPC P38J
HNGR02.MPC P47C
HNGR03.MPC P47D
HNGR04.MPC P51B
HNGR05.MPC P51D
*HNGR06.MPC B17F
*HNGR07.MPC B24D
*HNGR08.MPC B26B
HNGR09.MPC Hurricane
HNGR10.MPC Spitfire I
HNGR11.MPC Spitfire IX
HNGR12.MPC Spitfire 14
HNGR13.MPC Typhoon
HNGR14.MPC Tempest
*HNGR15.MPC Mosquito
HNGR16.MPC Bf-109E
HNGR17.MPC Bf-109G
HNGR18.MPC Bf-109K
HNGR19.MPC Bf-110C
HNGR20.MPC Bf-110G
*HNGR21.MPC Me-410
HNGR22.MPC Fw-190A
HNGR23.MPC Fw-190D
HNGR24.MPC Me-262
*HNGR25.MPC Ju-88A
*HNGR26.MPC Ju-88C
*HNGR27.MPC Ju-87
*HNGR28.MPC He-111
*HNGR29.MPC V-1

* Not present, but needed if new flyable aircraft introduced.


TEXT STRING FILES (*.STR)
Text strings are found in the *.STR files, in TEXT_ENG.CDF. They are the simplest files to edit.
STR files include pilot names (AMRLNAME.STR etc), squadron names (SQNAMEGR.STR etc) and so on. STR files have a common format, as follows:

pppp Pointer to end of file (EOF = Pointer + 8)
nn00 Number of text strings
Then the pointers to each string:
p100 Pointer to 1st text string (add 8 to find string)
p200 Pointer to 2nd text string (add 8 to find string)...etc...
Then the text strings themselves, each separated by 00.

To change a text string, type the new string over an existing one, replacing any unrequired letters with 00. Alternatively, if a longer word is needed, add bytes to the file, and then adjust the pointers (including the EOF pointer). Paulo's utilities DUMPSTR.EXE and BUILDSTR.EXE now automate this task.

Text string files which I have amended include:
BRTLNAME.STR }
GERLNAME.STR } Last names for squadron pilots (the first names are in BRTFNAME.STR etc)
AMRLNAME.STR }
PNAMES.STR Plane names displayed in flight
SQDESCGR.STR }
SQDESCUK.STR } Narrative history of squadrons displayed when choosing squadron
SQDESCUS.STR }
SQNAMEGR.STR }
SQNAMEUK.STR } Names of squadrons displayed when choosing squadron
SQNAMEUS.STR }
RADIOTXT.STR Text of in-flight messages (incl gun desc. eg "20mm Cannon")
TARNAMES.STR List of names of places. At byte 0a43 after ZWICKAU is a list of airbases
TARTYPES.STR Generic target type names e.g. "Barracks", "Airfield" etc



FLT.CDF: THE *.FLT FLIGHT MODEL FILES
This file contains 30 *.FLT files, each 1284 bytes long.

Extracting the *.FLT files from FLT.CDF gives 30 *.FLT files, each 1284 bytes long. An extracted file can be simply re-named (e.g. the 190A.FLT file, after extraction, can be re-named 109G.FLT, and the Bf109G will then fly like the Fw190A). A better solution is to edit the files with Jeroen van Soest's EAW AircraftEdit program. The full names of the *.FLT files are as follows:

109E.FLT
109G.FLT
109K.FLT
110C.FLT
110G.FLT
190A.FLT
190D.FLT
262A.FLT
B24A.FLT
B26A.FLT
BB17.FLT
H111.FLT
HURR.FLT
J88A.FLT
J88C.FLT
JU87.FLT
M410.FLT
MOSQ.FLT
P38H.FLT
P38J.FLT
P47C.FLT
P47D.FLT
P51B.FLT
P51D.FLT
SP09.FLT
SP14.FLT
SP2A.FLT
TEMP.FLT
TYPH.FLT
V1V1.FLT


FORMAT OF THE *.FLT FILES
Jeff D provided this information (short=2 byte integer, long=4 byte, float=4 byte, all C style). These figures are still very provisional:

Byte # (h)
//Engine data //Example
00 short number_of_engines //i.e. 1st two bytes
02 short engine_type //00=prop, 01=jet
04 float engine_altitude // Engine best at this altitude (e.g. P38H=22k feet, P38J=25k feet)
08 float unknown Horsepower at sea level (jets in lbs of thrust). This seems to be a sort of power loading factor, ranging from 0.00 (worst case, P38H) to -0.09 (best case, Tempest). Reduces time to lift-off
0c float unknown Horsepower at cruise altitude or max ceiling
10 float number_of_blades? 3 blades=0.006, 4= 0.007, 5=0.009, Jets=0
14 float min_throttle Engine torque multiplier (64 for all except jets, which are 25.6)

//Flight control data
18 (3 floats: max, min, rate) Throttle (P38H= 256, 0, 128)
24 (3 floats: max, min, rate) elevator (P38H= 128, -108, 256)
30 (3 floats: max, min, rate) flaps (P38H= 3, 0, 0.7)
3c (3 floats: max, min, rate) ailerons (P38H= 128, -128, 426)
48 (3 floats: max, min, rate) rudder (P38H= 128, -128, 275)

54 float max_altitude (P38H= 40,000 feet) Above this power goes to zero
58 float max_velocity Approx 1.5 x real max speed, see full notes below
5c float max_AOA
60 float critical_mach
64 float max_g Usually 9
68 float min_g All=3.0, except Hurr and Spit 1=0; max neg. g. for engine
6c float unknown

70 float mass_empty Multiply by 32.2 factor for combat weight in lbs
74 float mass_fuel
78 float unknown
7c float unknown
80 float unknown
84 float torque1?
88 float torque2
8c float torque3

//Bunch of coefficients for the flight equations : see detailed analysis below
90 (5 floats) drag stability
a4 (8 floats) sideforce stability
c4 (6 floats) lift stability
dc (9 floats) roll stability derivatives
100 (6 floats) pitch stablility derivatives
118 (9 floats) yaw stability derivatives

//The following section TIMES FIVE--lookup table data
13c long size Always 0a00=10 (5 Data curves. Each block is 0a00 0000, then 13 floats)
float delta_x 10=number of data points, at end of block. First 3 values may be data spacing and range of values
float inv_delta_x
float zero_x
float Table[10]

//The following section TIMES SIX--weapon data : see below (p. 15) for more detail
254 (3 floats) position x,y,z Gun flash position x, y & z co-ords
float secondary_position_x
float secondary_position_y
float muzzle_velocity 80% of real values
float rate_of_fire 1 second burst of fire for this weapon
float dispersion Important: reduces or increases effect for guns
float eject_position_1 //
float eject_position_2 //
short yaw
short duration of tracer or range

//Landing gear data
35c float height
360 float pitch (P38=0.063, B17=0.118, 110G=0.18, P51=0.19, 109E=0.24)
364 (3 floats: max, min, rate) gear_control

//This part times THREE (one for each gear)
float n
(3 floats) position x, y, z

//This part times SEVEN
(3 floats) damage position x, y, z

//This part times TWO
(3 floats) wing position x, y, z

//This part times FOUR
(3 floats) engine position x, y, z 4 Smoke positions

43c //Hit boxes/spheres
//This part times EIGHT Coordinates (x, y, z) and radius of hit boxes
(3 floats) hit locations x, y, z , plus float Radius

The known offsets here are:

1) 43c Single engined planes: engine (including oil & fuel lines). Multi engined planes: no effect

2) 44c Pilot

3) 45c Collision area: gun fire doesn't damage it. When disabled one can ram other planes without any damage. When enabled: collision can cause any damage independently of other hit boxes (e.g. even with pilot hit box disabled ramming a plane can kill the pilot)

4) 46c Tail section (incl. rudder and elevators)

5) 47c Right wing incl. hydraulics (four engined planes: inner right engine and wing)

6) 48c Right wing incl. aileron (four engined planes: outer right engine and wing)

7) 49c Left wing incl. hydraulics (four engined planes: inner left engine and wing)

8) 4ac Left wing incl. aileron (four engined planes: outer left engine and wing)

4bc long unknown
long radius_z
float engine_hit_points

These are quite similar to the damage table in PLANES.DAT. N.B. Byte 4a0 is the Microprose right wing error (inability to damage the left wing - the Y-coordinate is wrongly made the same as the right wing)

//This part times FIVE
4c8 (3 floats) position_of_weapons launch x, y and z coordinates of Weapons launch stations



MAXIMUM SPEED DATA IN *.FLT
The figure at byte # 58 regulates maximum speed The number is not the exact speed in MPH or in KPH, but the correlation is nearly linear. The equation is approximately:
EAW number = Real airspeed x 1.5
Real Airspeed = EAW number x 0.67

The figures are as follows (Dec=decimal value of Float variable, MPH=Maximum speed in m.p.h.(according to Microprose figures in EAW "View Objects"):

Plane Float Dec. MPH
109E 0c42 ff43 510.5 348
109G c590 0d44 566.3 387
109K 60c5 2544 663.1 452
110C d3fd ff43 512.0 349
110G 2b97 fb43 503.2 343
190A fa63 1344 589.7 408
190D b85e 2144 645.5 426
262 4cc7 4644 795.1 542
B24 e7fb de43 446.0 303
B26 d5d8 ce43 413.7 317
B17 79d9 d943 435.7 287
H111 d93e c843 400.5 252
Hurr 37c9 e743 463.6 316
J88A 4861 cd43 410.7 280
J88C 561e e443 456.2 311
Plane Float Dec. MPH
J87B e9d6 ad43 347.7 238
M410 e132 0d44 564.8 388
Mosq 715d 0b44 557.5 380
P38H a2d5 1744 607.3 414
P38J 4a3c 1c44 624.9 414
P47C 81cd 1e44 635.2 419
P47D 2be7 1f44 639.6 436
P51B d500 2144 644.0 439
P51D 0e45 2044 641.1 437
Spit 1 3d32 0244 520.8 355
Spit 9 4ea2 1544 598.5 408
Spit 14 d34d 2444 657.2 448
Temp 7f1a 2244 648.4 435
Typh 8cc4 1a44 619.1 412
V1 33b3 1244 586.8 420

GUN DATA IN *.FLT
Paulo Morais decoded the FLT data related to aircraft guns. The file format for guns starts at byte #254 h (596 d), and is follows:
6 groups of 2c (44 d) bytes (one for each possible gun group) made up of the following 12 blocks:

1. 4 bytes (FLOAT) Gun flash x coordinate for first pair of guns in group
2. 4 bytes (FLOAT) Gun flash y coordinate for first pair of guns in group
3. 4 bytes (FLOAT) Gun flash z coordinate all the guns in group
4. 4 bytes (FLOAT) Gun flash x coordinate for second pair of guns in group
5. 4 bytes (FLOAT) Gun flash y coordinate for second pair of guns in group
6. 4 bytes (FLOAT) Muzzle Velocity (MV) }
7. 4 bytes (FLOAT) Rate of Fire (ROF) } (see detailed analysis below)
8. 4 bytes (FLOAT) Dispersion }
9. 4 bytes (FLOAT) x offset from flash for empty shells for first pair (0 = no shells)
10. 4 bytes (FLOAT) x offset from flash for empty shells for second pair (0 = no shells)
11. 2 bytes (WORD) Yaw
12. 2 bytes (WORD) Tracer duration or range

Note: x is the longitudinal axis of aircraft, y is the wing axis and z the vertical. The positive sense of the axis is not the same for all aircraft. Paulo Morais' file ALL_FLT.TXT contains a full dump for version 1.1 of EAW.

FLIGHT CHARACTERISTICS
Use Jeroen's EAW AircraftEdit to change the FLT files.
Paulo has noted the following:
Byte 9c Drag Positive drag. Nearly linear to rated power. Increasing this increases acceleration.
Byte c8 Lift Wing area? Increasing the absolute value (e.g. -600 to -700) increases lift.
Bytes f0&f4 Roll related to engines (1, 2 or 4 engines)
Bytes 12c&130 Yaw related to engines (2 or 4 engines the same)



*.FLT Byte # P38H P38J P47C P47D P51B P51D B17F B24D B26B HURR

Drag 90 -4.209 -4.159 -2.970 -3.032 -1.888 -1.888 -12.26 -8.23 -9.37 -2.146
stability 94 -.0003 -.0003 -.0004 -.0004 -.0005 -.0005 -.0000 -.0001 -.0000 -.0004
98 -0.115 -0.115 -0.167 -0.167 -0.148 -0.148 -0.875 -0.649 -0.348 -0.153
9c 3592.1 3592.1 5073.1 5363.0 3529.1 3599 2268.7 2268 3781 1947
a0 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12

Sideforce a4 -193.6 -203.2 -216.2 -220.9 -169.1 -179.3 -709.5 -772.7 -444.1 -92.2
stability a8 2.240 2.240 2.188 2.188 1.182 1.300 22.22 15.882 5.39 1.63
ac 1.255 1.317 -1.401 -1.432 -1.096 -1.162 0 0 -2.87 -0.597
b0 -1.255 -1.317 0 0 0 0 0 0 -2.87 0
b4 0 0 0 0 0 0 0 0 0 0
b8 0 0 0 0 0 0 0 0 0 0
bc -0.132 -0.138 -0.147 -0.150 -0.115 -0.122 -0.483 -0.526 -0.302 -0.062
c0 0 0 0 0 0 0 0 0 0 0

Lift c4 -37.34 -42.03 -33.70 -35.7 -21.91 -23.05 -256.3 -258.0 -125.0 -21.3
stability c8 -988.9 -988.9 -811.1 -811.1 -612.6 -612.6 -4125 -3293 -1857 -683.8
cc 2.558 2.558 -2.084 2.084 0.139 0.139 18.14 39.24 -3.23 1.22
d0 -20.29 -20.29 -16.06 -16.06 -8.46 -8.46 -159.3 -74.72 -52.3 -8.78
d4 0.1662 0.1662 0.0961 0.0961 0.0599 0.0599 0.272 0.1277 0.229 0.033
d8 -19.94 -19.94 -15.82 -15.82 -18.14 -18.14 -122.9 -150.8 -54.3 -18.1

Roll dc -75.17 -75.17 -112.4 -112.4 -62.12 -63.11 -707.9 -271.2 -97.4 -65.2
stability e0 -328.1 -328.1 -160.6 -160.6 -97.29 -97.29 -5605 -5923 -981.0 -153.6
derivatives e4 281.57 281.57 113.5 113.5 57.489 57.88 4748.4 5651 741 125.1
e8 3.0055 3.339 1.78 1.78 0.968 0.968 23.02 25.51 6.60 1.64
ec -0.045 -0.045 -0.038 -0.038 -0.026 0.028 -0.332 -0.250 -0.072 -0.03
f0 7.825 7.825 -9.29 -9.56 -7.756 -7.756 0 0 -8.02 -5.76
f4 -7.825 -7.825 0 0 0 0 0 0 -8.02 0
f8 0 0 0 0 0 0 0 0 0 0
fc 0 0 0 0 0 0 0 0 0 0

Pitch 100 15.019 7.410 2.616 0.890 2.182 1.494 -257.1 -150.4 -45.21 3.37
stability 104 -1513 -1513 -859.0 -859.0 -372.0 -372.0 -11873 -3402 -2975 -292.1
derivatives 108 -117.9 -117.9 -109.3 -109.3 -37.02 -37.02 -2003 -468.0 -436 -38.9
10c -368.3 -368.3 -298.4 -298.4 -111.7 -111.7 -5327 -2068 -1314 -119.4
110 3.949 3.949 2.14 2.14 1.004 1.004 24.93 7.145 6.69 0.744
114 -1.647 -1.647 1.906 1.906 2.018 -2.018 -53.73 -22.10 -8.24 0.874

Yaw 118 275.3 282.94 249.86 252.86 103.28 110.06 4443.7 3651 826 159.2
stability 11c -10.78 -10.78 -7.108 -7.108 -3.37 -3.37 -205.9 -107.9 -40.0 -6.95
derivatives 120 -164.4 -168.9 -149.2 -151.0 -61.68 -65.73 -2653 -2180 -493.7 -95.2
124 -0.014 -0.016 -0.008 -0.008 -0.002 -0.02 -0.109 -0.127 -0.03 -0.009
128 0.313 0.313 0.192 0.192 0.124 0.137 3.02 2.489 0.563 0.153
12c 28606 28606 0 0 0 0 44281 54833 37228 0
130 -28606 -28606 0 0 0 0 20563 24853 -37228 0
134 0 0 0 0 0 0 0 0 0 0
138 0 0 0 0 0 0 0 0 0 0



*.FLT Byte # SPIT1 SPIT9 SPIT14 TYPH TEMP MOSQ 109E 109G 109K 110C

Drag 90 -1.569 -2.352 -2.529 -1.714 -2.034 -3.282 -1.513 -1.675 -1.404 -3.085
stability 94 -.0004 -.0004 -.0004 -.0004 -.0004 -.0002 -.0007 -.0007 -.0007 -.0003
98 -0.116 -0.116 -0.116 -0.179 -0.204 -0.209 -0.118 -0.102 -0.102 -0.264
9c 1947 3319 4521.7 4100.2 4373.6 2990.3 2048 2775 3686 2048
a0 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12

Sideforce a4 -90.34 -105.7 -117.4 -99.44 -135.8 -219.2 -66.00 -70.36 -71.89 -120.3
stability a8 0.8017 0.8017 0.957 1.5604 2.0397 2.561 0.2955 0.2893 0.2893 1.3848
ac -0.585 -0.685 0.761 -0.644 -0.880 -1.42 -0.427 -0.456 -0.466 -0.779
b0 0 0 0 0 0 -1.42 0 0 0 -0.779
b4 0 0 0 0 0 0 0 0 0 0
b8 0 0 0 0 0 0 0 0 0 0
bc -0.061 -0.072 -0.080 -0.067 -0.092 -0.149 -0.045 -0.049 -0.049 -0.082
c0 0 0 0 0 0 0 0 0 0 0

Lift c4 -14.82 -19.64 -19.12 -17.93 -21.95 -41.13 -12.19 -11.83 -11.83 -37.45
stability c8 -573.5 -573.5 -574.0 -756.1 -774.3 -1211 -472.6 -468.8 -468.8 -1112
cc 1.2734 1.2734 1.2396 1.0827 0.6662 2.908 0.2557 0.5193 0.5193 5.5641
d0 -7.143 -7.143 -7.392 -10.05 -11.37 -29.39 -5.999 -5.856 -5.856 -18.78
d4 0.0357 0.0357 0.0268 0.0387 0.0426 0.137 0.0445 0.0414 0.038 0.0411
d8 -18.03 -18.03 -18.03 -18.70 -20.00 -28.46 -11.01 -13.17 -13.17 -38.61

Roll dc -55.74 -55.74 -56.01 -76.74 -75.52 -50.27 -44.16 -33.24 -33.24 -99.59
stability e0 -92.42 -92.42 -92.42 -168.9 -162.8 -439.0 -57.80 -58.59 -58.59 -411.1
derivatives e4 58.432 58.43 58.786 127.19 107.58 303.32 36.411 35.832 35.832 321.79
e8 1.216 1.2163 1.2163 1.5613 1.584 3.1067 0.5845 0.5819 0.5819 3.1875
ec -0.015 -0.015 -0.023 -0.030 -0.036 0.0163 -0.008 -0.007 -0.008 -0.03
f0 -5.761 -7.522 8.7792 -8.36 -8.634 -7.139 -5.908 -6.877 -7.927 -5.908
f4 0 0 0 0 0 -7.139 0 0 0 -5.908
f8 0 0 0 0 0 0 0 0 0 0
fc 0 0 0 0 0 0 0 0 0 0

Pitch 100 7.1987 7.8169 9.7707 4.432 4.4328 11.533 4.563 3.8988 4.925 8.222
stability 104 -383.5 -383.5 -419.9 -357.1 -420.8 -2323 -302.5 -300.0 -300.0 -1280
derivatives 108 -30.48 -30.48 -34.08 -45.58 -55.55 -216.9 -25.4 -23.54 -23.54 -104.3
10c -98.77 -98.77 -111.2 -142.6 -169.7 -659.8 -86.11 -82.95 -82.95 -347.2
110 1.0356 1.0356 1.0078 0.857 1.0732 4.8787 0.8125 0.765 0.720 2.976
114 0.4407 0.4407 0.4407 1.3118 4.0424 -2.226 0.9264 1.4945 1.4945 -2.589

Yaw 118 81.234 88.734 104.93 178.85 210.59 341.87 42.482 42.906 43.429 284.56
stability 11c -3.642 -3.642 -3.646 -7.221 -7.438 -19.37 -2.240 -2.249 -2.249 -16.88
derivatives 120 -48.51 -52.99 -62.66 -106.8 -125.7 -204.1 -25.37 -25.62 -25.93 -169.9
124 -0.004 -0.004 -0.004 -0.007 -0.007 -0.014 -0.002 -0.002 -0.002 -0.015
128 0.111 0.111 0.1883 0.1829 0.219 0.233 0.0671 0.0657 0.657 0.2736
12c 0 0 0 0 0 22454 0 0 0 14076
130 0 0 0 0 0 -22454 0 0 0 -14076
134 0 0 0 0 0 0 0 0 0 0
138 0 0 0 0 0 0 0 0 0 0




*.FLT Byte # 110G 410 190A 190D 262 J88A J88C JU87 H111 V1V1

Drag 90 -6.309 -3.166 -1.965 -1.854 -4.73 -5.555 -4.65 -5.098 -6.913 -0.794
stability 94 -.0003 -.0003 -.0006 -.0006 -.0005 -.0001 -.0001 -.0003 -.0001 -.002
98 -0.264 -0.249 -0.078 -0.079 -0.160 -0.441 -0.441 -0.217 -0.478 -.0006
9c 2988.7 2867.4 3403.1 4033.3 9.453 2079 2249.8 2252.9 2252.9 3.15
a0 -12 -12 -12 -12 -12 -12 -12 -12 -12 -12

Sideforce a4 -132.9 -278.7 -117.0 -108.3 -209.3 -275.9 -288.1 -190.9 -248.2 -27.44
stability a8 1.384 4.808 1.464 1.133 1.496 6.72 6.72 2.04 7.351 0.269
ac -0.861 -1.806 -0.758 -0.702 0 -1.78 -1.867 -1.23 -1.608 0
b0 -0.861 -1.806 0 0 0 -1.78 -1.867 0 -1.608 0
b4 0 0 0 0 0 0 0 0 0 0
b8 0 0 0 0 0 0 0 0 0 0
bc -0.090 -0.19 -0.798 -0.739 -0.142 -0.188 -0.196 -0.130 -0.169 -0.018
c0 0 0 0 0 0 0 0 0 0 0

Lift c4 -53.6 -46.55 -22.12 -17.95 -17.42 -106.0 -96.6 -45.04 -106.8 -6.4
stability c8 -1112 -1144 -551.1 -538.5 -674.1 -1820 -1820 -880.8 -2413 -183.5
cc 5.56 2.602 -0.870 0.277 0.807 1.17 1.17 2.54 -1.244 -0.818
d0 -18.78 -24.6 -8.92 -7.805 -9.75 -46.3 -46.3 -14.4 -66.15 -1.893
d4 0.041 0.087 0.0498 0.0606 0.0379 0.135 0.135 0.06 0.15 0.003
d8 -38.6 -36.3 -9.258 -9.69 -21.78 -50.14 -50.14 -22.4 -55.4 -0.131

Roll dc -99.59 -157.6 -64.81 -58.03 -77.17 -284.8 -284.8 -117.9 -545.6 -2.69
stability e0 -411.1 -413.8 -78.32 -75.18 -142.9 -1006 -1006 -214.7 -1658 -7.29
derivatives e4 321.79 352.73 60.077 53.27 116.9 789 789 139.9 1261 4.199
e8 3.187 2.913 0.899 0.965 1.283 5.182 5.182 1.27 9.254 0.558
ec -0.030 -0.061 -0.027 -0.030 -0.027 -0.149 -0.149 -0.04 -0.131 -0.006
f0 -7.137 -6.991 -7.61 -8.29 0 -5.95 -6.19 -6.19 -6.19 0
f4 -7.137 -6.991 0 0 0 -5.95 -6.19 0 -6.19 0
f8 0 0 0 0 0 0 0 0 0 0
fc 0 0 0 0 0 0 0 0 0 0

Pitch 100 11.709 -2.408 1.516 4.738 2.145 -56.08 -50.54 -5.501 -15.06 3.24
stability 104 -1280 -1711 -374.5 -453.3 -587.6 -3323 -3323 -806.0 -3694 -253.6
derivatives 108 -104.3 -186.0 -51.95 -41.53 -51.4 -418.7 -418.7 -59.06 -669 -3.79
10c -347.2 -544.0 -155.4 -121.7 -140.2 -1070 -1070 -222.0 -1680 -15.12
110 2.976 3.85 0.988 1.19 1.41 6.97 6.97 1.69 7.757 0.608
114 -2.589 -3.64 0.173 0.314 -14.56 -14.7 -14.7 -0.14 -26.06 0.07

Yaw 118 300.83 531.82 129.95 110.21 140.58 1005.1 1029.3 181.08 1318 14.15
stability 11c -16.88 -16.27 -3.62 -2.96 -5.67 -43.07 -43.07 -10.86 -75.83 -0.18
derivatives 120 -179.6 -317.6 -77.6 -65.8 -83.9 -600.3 -614.7 -108.1 -787.5 -8.45
124 -0.015 -0.013 -0.004 -0.003 -0.005 -0.02 -0.02 -0.005 -0.04 -0.001
128 0.273 0.362 0.177 0.201 0.1247 0.881 0.881 0.224 0.899 0.051
12c 20540 21245 0 0 65.82 17979 19450 0 18146 0
130 -20540 -22245 0 0 -65.82 -17979 -19450 0 -18146 0
134 0 0 0 0 0 0 0 0 0 0
138 0 0 0 0 0 0 0 0 0 0



GUN CHARACTERISTICS: MUZZLE VELOCITY and RATE OF FIRE
EAW only provides for 4 types of guns (light MG, heavy MG, 20mm cannon and 30mm heavy cannon), but allows for different types to be carried by different aircraft. EAW also has a number of significant errors in weapons characteristics. The weapons figures are generally too low, both as to muzzle velocity and rate of fire. All muzzle velocities are too low -this makes for exaggerated trajectories (i.e. rounds falling away too early) . The rates of fire of the 0.50 cal MG and 20mm MG151 and Hispano MkII cannon are high (this exhausts ammunition loads too soon), while the ROFs of the MG81 7.92mm, MK108 30mm and Hispano MkV 20mm are low (this makes for low hitting power - not enough rounds per second hitting the target). The data is as follows:

German weapons Muzzle velocity Rate of Fire (per second)
Calibre Real MV EAW MV Real EAW ROF
Weapon m/s f/s f/s
MG17 7.92 mm 755 2477 1981.6 20 20
MG81 7.92 mm 730 2395 1981.6 25 10
MG81Z 7.92 mm 730 2395 1981.6 25 10
MG131 13 mm 730 2395 1896 15 15
MG/FF 20 mm 570 1870 1520 6.667 8.67
MGFF/M 20mm 690 2263 1520 8.667 8.67
MG151 20 mm 740 2427 1840 12.5 13.3
MK108 30 mm 505 1656 1320 10 8.33
MK103 30 mm 860 2820 N/A 7 N/A
37 mm A/T 760 2500 (est) 2.333 N/A

Japanese weapons Muzzle velocity Rate of Fire
Calibre Real MV EAW MV Real EAW ROF
Weapon m/s f/s f/s
Type 89 7.7 mm flex 750 2460 15
Type 92 7.7 mm 750 2460 10
Type 97 7.7 mm 750 2460 16.667
Type 98 7.92 mm 730 2460 25
Ho-103 Type 1 12.7mm 796 2610 15
Ho-103 Type 3 13.2mm 790 2590 13.333
Type 99/1 20 mm 555 1820 8.166
Type 99/2 20 mm 750 2460 12.5
Ho-3 20 mm 820 2690 6.667
Ho-5 20 mm 750 2460 14.166
Ho-105 30mm 750 2460 7.5
Ho-203 37 mm 575 1886 2.166

Allied weapons Muzzle velocity Rate of Fire
Calibre Real MV EAW MV Real EAW ROF
Weapon m/s f/s f/s
Browning .303 cal 792 2600 1920 20 19.167
French 7.5mm MG 2590 28
ShKAS 7.62mm 825 2700 - 30 (22.5 synch)
UBK 12.7 mm 850 2788 - 17.5 (13.3 synch)
Browning .50 cal 868 2850 2200 12.5 13.3
French 20mm cannon 2500 8
MkII(*) 20 mm 880 2887.1 2256 10 13.3
MkV (*) 20 mm 840 2755 2256 12.5 11.667
ShVAK or B20 20mm 800 2624 - 13.3 -
NS 23mm 690 2263 - 9.2 -
M4 37 mm 610 2000 - 2.333 -
Oerlikon 40mm 853 2800 (est) 3 -

For conversion: 1 metre=3.28 feet

Bomber guns (e.g. B17) are HALF the usual ROF.


The positions of the Muzzle velocity (MV) and Rate of Fire (ROF) figures in the FLT files are:

1st Gun Group Byte # 268
2nd Gun Group Byte # 294
3rd Gun Group Byte # 2c0
4th Gun Group Byte # 2ec
5th Gun Group Byte # 318
6th Gun Group Byte # 344

Changing the figures as set out above makes most fighter gun fire more lethal, because more rounds are fired per second. In dogfights, the "on target" ability of all guns is enhanced (because of the increased muzzle velocity), so less deflection is necessary. As of "Enemy Coast Ahead" Version 1.2 the muzzle velocities and rates of fire of all fighter aircraft now correspond with the actual data. Different weapons of the same calibre (e.g. the 20mm MG FF and MG 151) now have quite different firing abilities. Daniel Haeni did most of the research for this.

Gun Ranges
The ranges (byte #12 in each gun group) of the guns is as follows:
Hex Decimal
Flex MG17 7.9mm 54 84
Flex .303 cal MG 54 84 *derived
Flex .50 cal MG 5b 91
Flex MG131 13mm 6a 106
Flex MG81 7.9mm 87 135
7.9mm MG17 7.9mm 87 135 also ShKAS 7.62mm, and Japanese 7.7mm
.303 cal Browning MG 8c 140
.50 cal Browning MG 98 152 also UBK 12.7mm, and Japanese 12.7mm
20mm HispII or MGFF b0 176 also ShVAK and B-20 20mm, and Japanese 20mm
13mm MG 131 b1 177
20mm Hispano V b2 178 also NS-23 23mm
30mm Mk108 cb 203 also Japanese 30mm
20mm MG151 db 219
37mm and 40mm db 219



GUN CHARACTERISTICS: DISPERSION
This is an important figure. Dispersion is the maximum radius of bullet dispersion at some distant point, presumably linked to a random number. There are larger values for wing mounted guns, smaller ones for nose mounted (there are some real anomolies here, like the large figures for the nose mounted guns for the Bf109E, and the Spit IX MGs). To check this Paulo reduced this values to near zero in the 4x20mm equipped Hurricane IIc. The result was a systematic 12+ He111 or 10+ Ju88 bombers downed from distances higher than 600ft firing very sort bursts. Applying the reverse treatment, big values, result in having to close to 100ft to be able to down a single bomber.

The positions of the Dispersion figures in the FLT files are:

1st Gun Group Byte # 270
2nd Gun Group Byte # 29c
3rd Gun Group Byte # 2c8
4th Gun Group Byte # 2f4
5th Gun Group Byte # 320
6th Gun Group Byte # 34c


Gun Group Byte # P38H P38J P47C P47D P51B P51D B17F B24D B26B HURR

1st 270 0.5 0.5 3.3 3.3 3.36 3.31 1.5 1.5 1.5 4.65
2nd 29c 1.575 1.575 3.825 3.825 3.525 3.48 1.625 1.625 1.625 4.9
3rd 2c8 1.7 1.7 ---- ---- ---- ---- 1.625 1.625 1.625 ----
2.599.. 3.84... 2.325... ----
SPIT1 SPIT9 SPT14 TYPH TEMP MOS 109E 109G 109K 110C
1st 270 4.11 2.33 3.22 2.3499 2.805 2.5 2.65 1.627 1.627 0.545
2nd 29c 4.93 5.18 2.3625 ---- ---- 0.5 2.425 0.5 0.5 2.63
3rd 2c8 ---- ---- ---- ---- ---- ---- ---- 2.60 2.60 2.775

110G 410 190A 190D 262 J88A J88C JU87 H111 V1
1st 270 0.545 0.611 1.599 1.599 0.60 2.675 0.625 4.15 2.5 ----
2nd 29c 2.63 0.569 1.31 1.486 0.75 2.8 2.7 2.5 2.5 ----
3rd 2c8 2.77 ---- 2.60 ---- ---- 2.5... 2.625... ---- 3.47.. ----

Note the generally pro-U.S. figures here (U.S. guns are generally much more concentrated than German and British ones). For ECA Version 1.3 I have made a number of changes to dispersion, as follows.
All bomber flex guns(B17, B24) are now 2.5
Bf109E nose MGs: 2.65 -> 1.627 (as per the Bf109 G & K)
added nose cannon 0.5 (as Bf109G&K)
Bf110C and G's :2nd group: 2.63 -> 1.5 (as P38)
3rd group: 2.77 -> 1.7 (as P38)
Ju88C 2nd&3rd groups: 2.7 and 2.625 -> 1.7
P51B Same as P51D
Mosq 1st grp: (MGs) 2.5 -> 1.575 (as P38)
Hurr 1st grp 4.65 -> 3.3 (as P47C)
2nd grp 4.9 -> 3.825 (as P47C)
Spit I 1st grp 4.11 -> 3.3 (as P47C)
2nd grp 4.93 -> 3.825 (as P47C)
Spit IX 2nd grp (MGs) 5.18 -> 2.3625 (as Spit XIV)



DATA.CDF
This file has a collection of data *.DAT files, including:
Aircraft
PLANES.DAT LOADOUT.DAT WEAPONS.DAT

Squadrons
SQGR40.DAT (and SQGR43.DAT and SQGR44.DAT)
SQUK40.DAT (and SQUK43.DAT and SQUK44.DAT)
SQUS43.DAT (and SQUS44.DAT)
Campaigns
CAMPGR40.DAT (and CAMPGR43.DAT and CAMPGR44.DAT)
CAMPUK40.DAT (and CAMPUK43.DAT and CAMPUK44.DAT)
CAMPUS43.DAT (and CAMPUS44.DAT)

These are dealt with on the following pages.



PLANES.DAT
This file is 6484 h bytes long. It controls the guns, ammo and other things on an aircraft. File format is:
1e00 0000 1e (30 d) aircraft

Then 30 x sub-files, each d8 bytes in length. The sub-file format is:
0x00 0000 Aircraft code e.g. 0100=P38J, 1400=Bf-110G etc

then 50 h bytes... See below

The 1st 4 Bytes

The first 4 bytes of the 50 h block after the aircraft code are bit-coded bytes, as follows:
Byte #1 #2 #3 #4
P38H 15 96 61 04
P38J "" "" "" ""
P47C 05 22 a0 10
P47D "" "" "" ""
P51B "" 26 80 04
P51D "" "" "" ""
B17F 22 02 20 23
B24D "" "" "" ""
B26B 12 02 20 23 flyable B26B (1696 2023) now (1602 2023)
Hurri 05 25 44 00
Spit I "" 45 " ""
Spit IX "" 45 " ""
Spit 14 "" 45 42 ""
Typh "" 25 60 10
Temp "" "" 20 ""
Mosq 12 01 "" "" flyable Mosq change to (1595 2000)
109E 85 44 40 00
109G "" "" 80 ""
109K "" "" "" ""
110C 95 14 a0 01
110G "" "" "" ""
410 93 "" "" "" flyable Me410 change to (9514 a001)
190A 85 20 "" 00
190D "" 24 80 ""
262 9d a0 "" ""
Ju88A 92 04 20 13 flyable Ju88A (9614 2013) now (9604 2013)
Ju88C 93 "" "" "" flyable Ju88C change to (9504 2013)
Ju87 82 04 30 01 flyable Ju87B (8644 3001) now (8604 3001)
He111 92 04 00 13 flyable He111 (9610 0013) now (9604 2013)
V1 c0 00 " 00

Thes bytes control plane type, nationality, engine-sound, damage and other things, as follows. It is actually quite complicated. The bytes are bit coded. Take all four bytes and reverse the order (this is the normal procedure for storing integer data in IBM comaptible computers, ie: based on INTEL processors). For example, the P38H is 15 96 61 04. Reverse this to 04 61 96 15. This is comprised of the hexadecimal bits set out below.

NOTE “Attack Plane”. This must be set for planes that can fly bombing missions in campaigns and be escorted.

PLANES.DAT: THE BITS COMPRISING THE 1st 4 BYTES
1.
FIGHTER 00 00 00 01
BOMBER 00 00 00 02
FLYABLE 00 00 00 04
JET 00 00 00 08
2.
TWIN_ENG 00 00 00 10
QUAD_ENG 00 00 00 20
V1 00 00 00 40
GERMAN 00 00 00 80
3.
BRITISH 00 00 01 00
AMERICAN 00 00 02 00
INLINE ENG. 00 00 04 00 All but P47, B17,24&26, Mosq, 190, 262, V1
4.
GEAR_BACK 00 00 10 00 P38, 110
PI_GEAR_IN 00 00 20 00 P47, P51, Hurri, Typh, Temp, 190, 262,
GEAR_OUT 00 00 40 00 109
GEAR_CENTER (Nose) 00 00 80 00 P38
5.
CR_PROPS 00 01 00 00 Only P38
CCW_PROPS 00 02 00 00 Only Spitfire 14
GRAV_FED_CARB 00 04 00 00 Spitfire 1, Spitfire IX and Hurricane
6.
DIVE_BOMBER 00 10 00 00 Only Ju87
ATTACK_PLANE 00 20 00 00 P38&47, B17,24&26, Ju87&88, add H111, Temp, Typh, 110, 410, 190A
ANGLE_FIGHTER 00 40 00 00 P38, Spits, Hurri, Typh, 109E,
ENERGY_FIGHTER 00 80 00 00 P47, P51, 109G&K, 110, 410, 190D, 262,
7.
DEFENSIVE_GUN 01 00 00 00 1 or more defensive guns
MULTI_CREWED 02 00 00 00 3 or more crew
COMBAT_FLAPS 04 00 00 00 P38H and J, and P51B and D
AUTOMATIC_SLATS 08 00 00 00 Nil. But now the Bf109E, G &K, Bf110C & G and Me262
8.
ARMOR 10 00 00 00 P47 C and D, Typh, Temp, Mosq, Ju88 A and C, He111
HEAVY_ARMOR 20 00 00 00 B17, B24 and B26

Thus, e.g. the P38H is 04 61 96 15 -> 15 96 61 04

Bytes # 5-6 Year of entry in service
Bytes # 7-8 0n 00 (Crew No.) where 01=Ftr and V1 02=Mosq, Bf-110 C&G, Me-410, Ju-87
04=Ju-88 A&C 05=He-111 07=B26 08=B-24 0A=B-17

Then a series of 15 x 4 byte blocks (long integer):
1. Stall speed
2. Cruise Speed
3. Corner Speed
4. Max Speed
5. Empty weight in lbs (loadout screen)
6. Fuel burn rate (16.16 x number)
7. Weight of internal fuel (loadout screen)
8. Maximum range
9. High Dist (21 = 1 foot)
10. Med Dist
11. Low Dist
12. Dot Dist
13. Max Vis Dist
14. View Dist (default distance to view object)
15. Radius




This data for each aircraft in the first 8 of these 15 x 4 byte (long integer) is as follows:

A/C Stall spd Cruise sp Corner sp Max spd Wt empty Burn Wt fuel Max range
P38H10780 19030 32450 36410 14500 67 1800 36,044,800
P38J11110 19690 33440 36300 15040 75 2460 45,875,200
P47C10780 20020 32450 36190 11670 145 1830 32,768,000
P47D11220 20240 33550 37840 12280 145 2220 41,287,680
P51B10340 19800 31130 39050 8070 75 1620 62,259,200
P51D10560 20240 31680 40260 8480 75 1620 62,259,200
B17F9460 18150 28380 28660 35000 50 8430 157,286,400
B24D10670 21010 32120 29870 35000 50 9850 183,500,800
B26B10450 17050 31460 29650 24000 70 4005 75,366,400
HURR8360 14760 25080 29590 5940 65 660 18,350,080
SPIT18360 15400 25080 33110 5170 65 612 19,660,800
SPIT99460 15950 28270 35310 6888 70 612 19,005,440
SPIT1410010 16830 30140 37510 7670 97 830 19,660,800
TYPH10780 20240 32230 41030 10220 98 924 26,214,400
TEMP10450 19360 31240 39600 10528 98 972 32,112,640
MOSQ11440 28710 34210 36300 12000 70 4200 133,693,440
109E9240 17270 27720 35860 4886 83 634 17,694,200
109G11000 18590 32890 37290 6316 89 634 17,694,720
109K11440 20020 34320 43670 6800 98 634 17,039360
110C10120 18590 30250 34210 12870 83 2010 28,180,480
110G10120 16520 30250 30360 13450 89 2010 26,214,400
M41011880 22110 35640 39160 16000 111 3000 62,145,560
190A11770 20460 35420 39820 6393 106 830 21,626,080
190D11220 20350 33660 39930 8650 100 830 22,937,600
262A12760 33000 38390 55000 11460 280 2640 19,660,400
J88A9680 18150 29150 28880 20000 50 2120 68,157,440
J88C10120 19470 30250 29320 21500 55 2120 79,953,920
JU878250 14650 24750 27450 7360 50 700 32,112,640
H1118580 15290 25630 27780 20000 44 2244 83,886,080
V120900 33000 40700 49500 4000 200 800 15,728,640


PLANES.DAT: DAMAGE
Starting at byte #48 h in each aircraft data block is a group of 12 single byte integers (short integer). In Paulo's opinion, supported by testing, is that these bytes are the number of "hit points" that some areas of the aircraft can sustain before failing.
1 - Fuselage mechanicals, fuel & hydraulic lines, Elevators & Rudder Not a critical failure.
2 - Pilot . Catastrophic failure.
3 - Fuselage structure. Catastrophic failure.
4 - Tail section. Catastrophic failure.
5 - Right wing structure. Catastrophic failure.
6 - Right wing mechanical parts. Aileron damage. Not a critical failure.
7 - Same as 5 for left wing. Catastrophic failure.
8 - Same as 6 for left wing Ailerons. Not a critical failure.
9 - Engine or leftmost engine.
10 - Right engine (bimotor) or inner left engine (quad)
11 - Inner right engine.
12 - Right outer engine.

The following is a complete decimal dump of the damage area of PLANES.DAT
1 2 3 4 5 6 7 8 9 10 11 12
US
P38H
20 15 26 18 36 16 36 16 12 12 0 0
P38J
20 20 26 18 36 16 36 16 15 15 0 0
P47C
23 20 43 33 38 26 38 26 27 0 0 0
P47D
23 20 43 33 38 26 38 26 27 0 0 0
P51B
15 20 26 24 28 17 28 17 15 0 0 0
P51D
15 20 26 24 30 18 30 18 15 0 0 0
B17F
48 60 99 99 99 42 99 42 24 24 24 24
B24A
34 40 85 63 64 40 64 40 24 24 24 24
B26B
28 30 75 42 50 32 50 32 24 24 0 0
UK
HURR
12 10 24 22 26 17 26 17 10 0 0 0
SPIT 1A
11 8 16 17 21 13 21 13 10 0 0 0
SPIT9
12 15 18 17 21 13 21 13 15 0 0 0
SPIT14
12 20 18 20 24 13 24 13 19 0 0 0
TYPH
20 20 38 16 36 25 36 25 20 0 0 0
TEMP
21 20 40 27 38 23 38 23 22 0 0 0
MOSQ
21 20 80 54 41 40 41 40 24 24 0 0
1 2 3 4 5 6 7 8 9 10 11 12
GR
109E
11 10 20 13 22 13 22 13 11 0 0 0
109G
12 15 24 13 24 13 24 13 14 0 0 0
109K
12 20 24 13 24 13 24 13 16 0 0 0
110C
16 10 25 26 32 18 32 18 17 17 0 0
110G
17 20 25 26 32 18 32 18 21 21 0 0
M410
24 20 27 36 40 23 40 23 20 20 0 0
190A
17 20 34 22 25 14 25 14 24 0 0 0
190D
17 20 34 22 25 17 25 17 26 0 0 0
262A
15 20 30 25 30 13 30 13 10 10 0 0
J88A
26 15 36 34 34 30 34 30 17 17 0 0
J88C
28 20 38 36 34 30 34 30 20 20 0 0
JU87
13 15 18 17 18 12 18 12 10 0 0 0
H111
23 15 40 34 32 28 32 28 16 16 0 0
V1
10 10 10 10 10 10 10 10 10 0 0 0


I have now changes the Bf110C wings (5 and 7) from 32 (20 h) to 26 (1a h) and the engines (9 and 10) from 17 (11 h) to 12 (0c h).
The Fw190A3 has the following positions reduced:1 (17 to 16 d), 3 (34 to 28 d), 5 (25 to 24 d), 7 (25 to 24 d) and 9 (24 to 21 d). For EAW v1.2 (ECA v1.4 et seq) I have increased all armour levels by 50%.


PLANES.DAT: GUNS
After the damage byte is:
0x00 0000 Number of gun positions e.g. 0300 for P38H and J (Maximum is 8 positions)
Commences a4 bytes from start of block
then a series of 6 byte chunks, one for each gun
0n00 0p00 0t00 aaaa 0s00 0x00 where 0n=Number of guns

0p=Position Fixed: 0000=None
0100=wing 0200=nose
Defensive: 0300=tail 04=Top turret 0500=Rear cabin
0600=Top 0700=V Rear
0800=v Front 0900=belly turret 0a00=left waist 0b00=right waist oc=nose flexible od=Front turret

ot=Type of guns 00=None
02=.30 cal MG, 7.9mm MG
04=.50 cal/13mm MG
0c= 20mm cannon
18= 30mm cannon

aa=Ammo in reverse order e.g. f401=500 d

0s= Sound 00=.30 cal MG
01=.50 cal/13mm MG
02= 20mm cannon
03= 30mm cannon

0x=Smoke 00 or 01 (smoke or no smoke)

Only the first 3 groups are cyclable in the flyable aircraft, and each group is limited to 4 guns. Paulo Morais' file PLN_DAT.TXT contains a full dump of all 30 aircraft gun groups. Use Paulo's utilities DUMP_PLN.EXE and PTCH_PLN.EXE to change gun groups. The code 'ot' for the gun type also sets the gun destructive power. Higher values to simulate other guns can give spectacular effects. You can try to use 30h(equal to 2x the 30mm cannon value) for the 50mm cannon that equipped some Me410 versions. The downside is you can't get a meaningful text string (the in-flight text is in RADIOTXT.STR, and there are only 4 types per nationality), and the sound is limited to one of the 4 available sounds.

Then after all 6 x 6 byte gun chunks (including, usually, 1 or more 0000... ones):

UBYTE Max hit locations ? }Most fighters c611 fa5f and bombers 380e fa5f
UBYTE Max engines per plane? }All German planes 380e de58 or 380e fa5f
UBYTE Pitch limit?
UBYTE Yaw Limit

4 bytes nnnn nnnn Aircraft name e.g.110c, m410, mosq etc. Commences a4 bytes from start.
30h bytes 0000 All zeros.

To change guns, for example to fix the Bf-110G so that it has 2x20mm cannon and 2x30mm cannon:
1138 0400 0000 4 gun positions, no change
113c 0400 0200 0200 e803 0000 0000 (4x7.9mm MG in nose, 1000 rounds each)
1148 0200 0200 0c00 4501 0200 0000 (2x20mm cannon in nose, 325 rounds each)
1154 0200 0200 1800 8700 0300 0000 (2x30mm cannon in nose, 135 rounds each)
1160 0200 0500 0200 2003 0000 0000 (2x rear flex 7.9mm MG, 800 rounds each)

AMMUNITION COUNTS

When changing ammunition loads, some common loads are as follows:

1000 E8 03
900 84 03
750 EE 02
500 F4 01
475 DB 01
450 C2 01
400 90 01
350 5E 01
334 4E 01
313 39 01
300 2C 01
250 FA 00
220 DC 00
200 C8 00
150 96 00
140 8C 00
120 78 00
100 64 00
80 50 00
60 3C 00
50 32 00



LOADOUT.DAT
This file is 9728 d bytes (2600 h) long. It controls the bomb and rocket loads on all 30 aircraft. The format of LOADOUT.DAT is:
b400 0000 b4 h = 180 d records, each is 2c bytes (44 d) long
1st group of records
152 actual records for the various aircraft follow, then 28 blank (all zero) records. Presumably there can be expansion here. Then:

2nd group of records
9600 0000 96 h = 150 d records, each 0c bytes (12 d) long, 5 for each aircraft. These controll which loadouts are available for which missions in Campaigns.

The 1st group of records (2c bytes long) have the format:
ac00 Aircraft code e.g. 0000=P38H, 0f00=Mosquito. Then 21 d 2-byte blocks as follows:
0n00 Number of blocks
0w0x 0n0x 0d00 4600 0w=weapon type (e.g. 03=500 lb bomb)
0x=Image displayed (p.31 WEAPONS.DAT 2nd rec's)
e.g 09=4x60lb rocket, 0c=R4M rack
0n=number
0x = Position of Image (controlled by PxxxxF.3DZ) 0d00=initial firing delay (usually 00, 10 or 20)
4600= firing delay between weapons (0300 for R4M, 23 and 46 for Mosq)

P38 H and J (Aircraft Codes 0000 and 0100)
1. 0000 0000 x 21 No load
2. 0200 0d01 0103 1000 0000 2x165 gal tanks, between fuselage and engines
0d01 0104 2000 0000
0000 x 12
3. 0200 0301 0103 1000 0000 2x500 lb bombs, between fuselage and engines
0301 0104 2000 0000
0000 x 12
4. 0200 0401 0103 1000 0000 2x1000 lb bombs, between fuselage and engines
0401 0104 2000 0000
0000 x 12
4. (Now)0400 0301 0103 1000 0000 This is the new P38J 4th option
0301 0104 2000 0000 2x500 lb bombs, between fuselage and engines
1004 0301 1000 1400 2x M10 triple rocket tubes
1004 0302 2000 1400
0000 x 4

P51B (Aircraft Code 0400)
1. 0000 0000 x 21 No load
2. 0200 0a01 0101 1000 0000 2x75 gal tanks, outer wing position
0a01 0102 2000 0000
0000 x 12
3. 0200 0b01 0101 1000 0000 2x150 gal tanks, outer wing position
0b01 0102 2000 0000
0000 x 12
4. 0200 0301 0101 1000 0000 2x500 lb bombs, outer wing position
0301 0102 2000 0000
0000 x 12


Ju-87B (Aircraft Code 1b00)
1. 0000 0000 x 21 No load
2. 0500 0802 0103 0000 0000 1x500 kg bomb
0000 x 4
0000 x 12

Mosquito (Aircraft Code 0f00)
1. 0000 0000 x 21 No load
2. 0200 0203 0200 0000 4600 4x250 lb bombs, in bomb bay, time delay in dropping
0203 0200 0023 4600
0000 x 12
Change this to:
2. 0400 0203 0200 0000 4600 4x250 lb bombs, in bomb bay, time delay in dropping
0203 0200 0023 4600
1107 0401 1000 0000 8x60 lb rockets on inner wings
1107 0402 2000 0000
0000 x 4

Tempest (Aircraft Code 0e00)
1. 0000 0000 x 21 No load
2. 0200 0901 0101 1000 0000 2x45 gal tank
0901 0102 2000 0000
0000 x 12
3. 0200 0201 0101 1000 0000 2x250 lb bomb
0201 0102 2000 0000
0000 x 12
4. 0200 0301 0101 1000 0000 2x500 lb bomb
0301 0102 2000 0000
0000 x 12
5. 0200 0401 0101 1000 0000 2x1000 lb bomb
0401 0102 2000 0000
0000 x 12
6. 0200 1109 0401 1000 0000 8x60 lb rockets
1109 0402 2000 0000
0000 x 12

Me-410 (Aircraft Code 1500)
1. 0000 0000 x 21 No load
2. 0400 0603 0200 0000 4600 2x100 kg bombs
0603 0200 0023 4600
0000 x 12
3. 0400 0000 0000 0000 0000 4x WGr21 rockets
0000 0000 0000 0000
130b 0205 1000 0000
130b 0206 2000 0000
0000 x 4
4. 0100 1603 0103 0000 0000 1x Fritz-X rocket
0000 x 16

Ju-88C (Aircraft Code 1a00)
1. 0000 0000 x 21 No load
2. 0200 0603 0200 0000 4600 4x100 kg bombs
0603 0200 0023 4600
0000 x 12
3. 0400 0000 x 4 6xWGr21 rockets
0000 x 4
130b 0305 1000 0000
130b 0306 2000 0000
0000 x 4
4. 0100 1503 0103 0000 0000 1x Henschel Hs-293 rocket bomb
0000 x 16
5. 0100 1603 0103 0000 0000 1x Fritz-X rocket
0000 x 16


P47D (Aircraft Code 0300) The P47 has the most loadout options (22)
1. 0000 0000 x 21 No load

2. 0100 0e02 0103 0000 0000 1x200 gal centre tank
0000 x 16

3. 0500 0000 x 4 2x75 gal tank, outer wing
0000 x 4
0000 x 4
0a01 0104 1000 0000
0a01 0105 2000 0000

4. 0500 0000 x 4 2x108 gal tank, outer wing
0000 x 4
0000 x 4
0b01 0104 1000 0000
0b01 0105 2000 0000

8. 0500 0302 0103 0000 0000 3x500 lb bomb
0000 x 4
0000 x 4
0301 0104 1000 0000
0301 0105 2000 0000

10. 0500 0e02 0103 0000 0000 200 gal centre tank plus 2x500 lb bombs
0000 x 4
0000 x 4
0301 0104 1000 0000
0301 0105 2000 0000

17. 0500 0302 0103 0000 0000 3x500 lb bomb plus 6xM10 rockets
1004 0301 1000 1400
1004 0302 2000 1400
0301 0104 1000 0000
0301 0105 2000 0000

22. 0500 0302 0103 0000 0000 1x500 lb bomb plus 10xHVAR 5" rockets
1206 0501 1000 0000
1206 0502 2000 0000
0000 x 8

LOADOUT.DAT : 2ND GROUP OF RECORDS

There are 150 records at the end of LOADOUT.DAT, 5 for each aircraft. Each is 0c bytes long.
They control ordnance availability in Campaign missions. The format is :
0x00 0m0n 0102 0304 0506 0000 om =Mission type 00=Escort 01=Ftr Sweep
(0x00=Aircraft code) 02=Bomb 03=Intercept
04=Interdiction
(NB 1940 aircraft only have 01, 03 and 05)
on= Number of Loadout options for that Mission type
ff=All option available
0102 0304 etc....= Loadout options 1, 2, 3, 4 etc....

0x00 0002 0001 0000 0000 0000 Most fighters: P38H, P38J, Spitfire IX, Spitfire 14,
0102 0001 0000 0000 0000 Typhoon, Tempest, Bf109G&K, Fw190D.
02ff 0000 0000 0000 0000 Bf110G
0302 0001 0000 0000 0000 Bf110G same except 0303 0001 0200 0000 0000
04ff 0000 0000 0000 0000 Bf109G same except 0304 0001 0203 0000 0000

0x00 0001 0000 0000 0000 0000 Early fighters: Hurricane, Spitfire Ia, Bf-109E, Bf-110C
0101 0000 0000 0000 0000
02ff 0000 0000 0000 0000
0301 0000 0000 0000 0000 Me262 same except 0302 0001 0000 0000 0000
04ff 0000 0000 0000 0000

0x00 0001 0000 0000 0000 0000 Light bombers: Mosquito, Ju87, Ju88A, Ju88C, He111
0101 0000 0000 0000 0000 Me410, V1
0201 0100 0000 0000 0000 V1 same except 0201 0000 0000 0000 0000
0301 0000 0000 0000 0000 Me410 same except 0301 0200 0000 0000 0000
0401 0100 0000 0000 0000 V1 same except 0401 0000 0000 0000 0000

0x00 0007 0000 0000 0000 0000 Heavy bombers: B17F, B24D, B26B
0101 0000 0000 0000 0000
0201 0100 0000 0000 0000
0301 0000 0000 0000 0000
0401 0100 0000 0000 0000

0x00 0007 0001 0203 0405 0600 U.S. fightersP47C&P47D 0005 0001 0203 0400 0000
0107 0001 0203 0405 0600 0105 0001 0203 0400 0000
02ff 0000 0000 0000 0000 02ff 0000 0000 0000 0000 0307 0001 0203 0405 0600 0305 0001 0203 0400 0000
04ff 0000 0000 0000 0000 04ff 0000 0000 0000 0000

0x00 0003 0001 0200 0000 0000 U.S. fightersP51B&P51D 0004 0001 0203 0000 0000
0103 0001 0200 0000 0000 0104 0001 0203 0000 0000
02ff 0000 0000 0000 0000 02ff 0000 0000 0000 0000 0303 0001 0200 0000 0000 0304 0001 0203 0000 0000
04ff 0000 0000 0000 0000 04ff 0000 0000 0000 0000

The solution to the ordnance loadout/lockup problem is simply to change the new machines to be like (say) the Spit IX. The Ju-88 has 2 loadout options only (Guns i.e. No Load, and Bombs). The Mosquito likewise has only 2 options (although this can be changed by increasing the number of loadout options), and the Me-410: 3 options.


MISSION FILES (MISNxx.DAT)
There are Mission files: MISN40.DAT MISN43.DAT MISN44.DAT MISN45.DAT
Presumably these affect the aircraft available in missions in the various years.
Each file is 60 d bytes long, divided into 3 equal chunks of 20 d bytes.

MISN40.DAT
0400 0000 [090a 1013 0000 0000] ff80 ff40 0000 0000 04=4 flyable aircraft.
Types=Hurri(09),Spit 1(0a), 109E(10), 110C(13)
ff etc= probability (?) of appearance
0500 0000 [091c 1319 1b00 0000] ffff 2080 4000 0000 05= 5 aircraft
Types=Hurri, He111, 110C, Ju88A, Ju87
ff etc=probability as bomber(?)
0200 0000 [1c19 0000 0000 0000] ff80 0000 0000 0000 02=2 aircraft
Types=He111, Ju88A
ff=probability as bomber (?)

MISN43.DAT
0800 0000 [0200 obod 1116 141a] c440 ff40 ffc4 4020 08=8 flyable aircraft.
Types = P47C, P38H, Spit9, Typh, 109G, 190A, Ju88C
ff etc= probability (?) of appearance
0800 0000 [0206 080d 0f16 141a] ff80 ff40 ff80 8040 08= 8 aircraft
Types= P47C, B17, B26, Typh, Mosq, 190A, 110G, Ju88C
ff etc=probability as bomber(?)
0600 0000 [0607 080f 1a15 0000] ff20 8080 ff40 0000 06=6 aircraft
Types= B17, B24, B26, Mosq, Ju88C, Me410
ff=probability as bomber (?)

MISN44.DAT
0800 0000 [0204 o10b 0d16 1115] ff80 40ff 80ff ff20 0 08=8 flyable aircraft.
Types = P47C, P51B, P38J, Spit9, Typh 190A, 109G, Me410
ff etc= probability (?) of appearance
0800 0000 [0204 0608 0d0f 1615] ff80 80ff ff80 ff40 08= 8 aircraft
Types= P47C, P51B, B17, B26, Typh, Mosq, 190A, Me410
ff etc=probability as bomber(?)
0600 0000 [0607 080f 1a15 0000] ff80 8080 ff40 0000 06=6 aircraft
Types= B17, B24, B26, Mosq, Ju88C, Me410
ff=probability as bomber (?)

MISN45.DAT
0800 0000 [0503 0c0d 0e17 1218] ffff ff80 80ff ff20 08=8 flyable aircraft.
Types = P51D, P47D, Spit14, Typh Temp, 190D, 109K, Me262
ff etc= probability (?) of appearance
0800 0000 [0305 0608 0d0f 1615] ff80 80ff ff80 ff40 08= 8 aircraft
Types= P47D, P51D, B17, B26, Typh, Mosq, 190A, Me410
ff etc=probability as bomber(?)
0600 0000 [0607 080f 1a15 0000] ffff 8080 ff40 0000 06=6 aircraft
Types= B17, B24, B26, Mosq, Ju88C, Me410 ff=probability as bomber (?)

WEAPONS.DAT
Controls the weapons characteristics. The names are in WEAPONS.STR. The format is:
2000 0000 20 h = 32 d records, each is 18 h (24 d) bytes long. Then 2 groups of records:

1st group of records
21 actual records for the various weapons follow, then 11 blank (all zero) records. There can be expansion here (see below). Then:

2nd group of records
1000 0000 10 h = 16 d records, each 08 bytes long. These determine the weapon displayed.

The 1st group of records (18 h bytes long) have the format:

1 3 5 7 9 11 13 15 17 19 21 23
0000 (ffff) 0000 0000 0000 [ffff] 0000 0000 0000 0000 0000 0000 No weapon

0101 0000 0400 0008 0000 [ffff] 8214 0000 1405 6400 0000 0000 100 lb bomb

0201 0100 0800 000c 0000 [ffff]d020 0000 320f fa00 0000 0000 250 lb bomb

0301 0200 0c00 0010 0000 [ffff] 1e2d 0000 6419 f401 0000 0000 500 lb bomb

0401 0400 1400 0014 0000 [ffff] a041 0000 c832 e803 0000 0000 1000 lb bomb

0501 1900 0400 0008 0000 [ffff] 8214 0000 1605 6e00 0000 0000 50 kg bomb

0601 0500 0800 000c 0000 [ffff] d020 0000 2c0f dc00 0000 0000 100 kg bomb

0701 0600 0c00 0010 0000 [ffff] 1e2d 0000 6e19 2602 0000 0000 250 kg bomb

0801 0700 1400 0014 0000 [ffff] a041 0000 dc32 4c04 0000 0000 500 kg bomb

0904 1a00 0a00 0000 0000 [ffff] 0000 0000 0000 5000 3601 0000 45 gal tank

0a04 0e00 0c00 0000 0000 [ffff] 0000 0000 0000 5000 fe01 0000 75 gal tank

0b04 0f00 0e00 0000 0000 [ffff] 0000 0000 0000 5000 df02 0000 108 gal tank

0c04 0f00 0e00 0000 0000 [ffff] 0000 0000 0000 5000 df02 0000 150 gal tank

0d04 1000 1200 0000 0000 [ffff] 0000 0000 0000 5000 fc03 0000 165 gal tank

0e04 1100 1400 0000 0000 [ffff] 0000 0000 0000 5000 6004 0000 200 gal tank

0f04 1200 1800 0000 0000 [ffff] 0000 0000 0000 5000 5005 0000 300 litre tank

1002 1500 0102 1e03 d200 [ffff] 2706 0000 0a14 2800 0000 0000 M10 4.5" rocket

1102 1600 0102 1e04 d200 [ffff] 3408 0000 0c1e 5500 0000 0000 60 lb rocket

1202 1f00 0103 2d06 d200 [ffff] d809 0000 1028 8c00 0000 0000 HVAR 5" rocket

1302 1700 0102 140a d200 [7805] 6810 0000 0c0a b400 0000 0000 WGr 21 rocket

1402 1800 0003 2d02 d200 [bc02] 0d02 0000 0418 0a00 0000 0000 R4M rocket

1502 1200 0102 0014 bc02 [bc02] 0a041 0000 6419 4c04 0000 0000 * Hs-293 rocket

1602 0700 0103 0010 bc02 [bc02] 0040 0000 6419 9402 0000 0000 * Fritz-X rocket

1702 1600 0103 1e04 d200 [ffff] 3408 0000 0a14 2800 0000 0000 * Panzerschreckrocket

1801 0e00 0100 2002 0000 [ffff] 0852 0000 6e19 2602 0000 0000 *SD-10 cannister

1901 0f00 0100 000c 0000 [ffff] 495c 0000 64e19 f401 0000 0000 *500 lb Napalm bomb

1a01 ffff 0100 f401 d200 [ffff] f401 0000 8102 0500 0000 0000 *SD-2 bomblet

1b01 1800 0100 f401 0000 [ffff] f401 0000 8102 1400 0000 0000 *20 lb Incendiary

1c01 1800 0100 f401 0000 [ffff] f401 0000 8102 1600 0000 0000 *10 kg Incendiary


This data in WEAPONS.DAT is interpreted, mostly by Paulo, as:
Byte
1-2 1=Weapons code 2=Type (00=none, 01=bomb, 02=rocket, 04=fuel tank)
3-4 Code to image of weapon after firing/dropping (e.g. 06=250 kg bomb)
5-6 5=Negative quantity multiplier (e.g. 0c for 500 lb bomb,change to o2 to increase sqn stockpile)
6=Initial relative forward speed (You can make bombs or tanks behave as rockets)
7-8 2 bytes (int) is Impact Damage.
9-10 2 bytes (int) (only for rockets) time length of rocket motor exhaust
11-12 2 bytes (int) (only for German rockets), self destruct time/distance
13-14 2 bytes (int) is Blast Damage.
15-16 Null
17-18 2 bytes (int) Flight performance penalty
19-20 2 bytes (int) Empty weight (lbs)
21-22 2 bytes (int) Full Fuel weight (lbs), only for drop tanks.
23-24 Null

In the original, the WGr21 rockets seemed to fly forever without exploding. Replace the 6th value (7805) (=1400 d) with the R4M value (bco2) (=700 d) and they explode sooner. I now use 9001 (=400 d), which makes them explode at a range of about 2,000 - 3,000 feet, which seems about right.

The Henschel Hs-293 rocket bomb (500 kg warhead) and Fritz-X rockets can be carried by the Ju-88C, and the Fritz-X by the Me-410. They are useful for anti-ship missions. To find ships, fly to Southampton or Portsmouth (for Allied ships) or Emden (for German ships). There should always be a convoy of 1-3 DD's and 2-8 merchant/troop ships. In June 1944 there are also Allied ships off the coast of Normandy. The Fw-190A and Me-410 can carry the Panzerschreck rocket (6 under each wing). The Panzerschreck is a light 54mm anti-armour (not air-to-air) rocket.



WEAPONS.DAT

2nd group of records (Weapons pylon data)
There are 16 blocks, each 8 h bytes long, which have the following format:
Description Image Weight, drag Type
0000 ff00 0000 0000 00 Nothing (No image) Nil
0101 ff00 0000 0000 01 Simple Mount(No Image) Nil
0201 ff00 0000 0000 02 Simple Mount(No Image) Nil
0300 ff00 0000 0000 03 Internal (No Image) Nil
0402 0906 8200 0000 04 Rocket Tube (Image 09) 06 82 M10 x3
0508 2000 0000 0000 05 Rocket rail (Image 20) Nil HVAR x3
0608 2100 0000 0000 06 Rocket rail (Image 21) Nil HVAR x5
0708 1d01 2800 0000 07 Rocket rail (Image 1d) 01 28 60 lb x1
0808 1e02 5000 0000 08 Rocket rail (Image 1e) 02 50 60 lb x2
0908 0a04 a000 0000 09 Rocket rail (Image 0a) 04 0a 60 lb x 4
0a02 1c04 3c00 0000 0a Rocket tube (Image 1c) 04 3c WGr21 x1
0b02 0b08 7800 0000 0b Rocket tube (Image 0b) 08 78 WGr21 x2
0c04 0c04 9600 0000 0c Rockets (Image 0c) 04 96 R4M rack
0000 0000 0000 0000
0000 0000 0000 0000
0000 0000 0000 0000

Thus 0n ot mm dd dd 00 0000 where:
0n =Number (0 to c) in 1st block in LOADOUT.DAT
0t= Type 00=Nothing (internal)
01=Simple mount (bomb/tank)
02=Rocket tubes (M10, WGr21)
04=Rocket rack (R4M)
08=Rocket rails (60 lb, HVAR)
mm=Image ff=No Image
dddd = Weight and Drag penalty

Paulo says that inside 3D.DAT there is a group of files ORD00-33.3DZ that contain the geometry definition, and pointers to bombs.tpc (the texture file), for the 34 different images for ordnance (weapons and mounts).
The coordinates for ordnance location are inside the main geometry definition file for each plane (PxxxF.3DZ)). Where? I don't know but it is a starting point. The five groups of coordinates at the end of the FLT file only define the launching point.

In decimal the above figures are:
No. Type Image Weight Drag Type
0 0 255 0 0 0
1 1 255 0 0 0
2 1 255 0 0 0
3 0 255 0 0 0
4 2 9 6 130 0 M10 x3
5 8 32 0 0 0 HVAR x3
6 8 33 0 0 0 HVAR x5
7 8 29 1 40 0 60 lb x1
8 8 30 2 80 0 60 lb x2
9 8 10 4 160 0 60 lb x3
10 2 28 4 60 0 WGr21 single
11 2 11 8 120 0 WGr21 double
12 4 12 4 150 0 R4M rack
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
SQUADRON ALLOCATION IN CAMPAIGNS
The squadrons available in campaigns are as follows:

German 1940
Squadron Aircraft Base Start
II/JG 2 Bf-109E Beaumont le Roger Aug 40
III/JG 2 Bf-109E Le Havre Aug 40
II/JG 26 Bf-109E Marquise July 40
III/JG 26 Bf-109E Caffiers July 40...now I/KG 51 (Ju-88A)
II/JG 51 Bf-109E Wissant July 40
III/JG 51 Bf-109E St Omer July 40...now III/StG 2 (Ju-87)
II/ZG 2 Bf-110C Guyancourt Aug 40...now II/KG 53 (He-111)
II/ZG 26 Bf-110C St Omer July 40
EGr 210 Bf-110C Abbeville July 40

German 1943
Squadron Aircraft Base Start
II/JG 1 Fw-190A Woensdrecht Apr 43
III/JG 1 Bf-109G Deelen Apr 43...now III/ZG 1 (Me-410)
II/JG 2 Bf-109G Creil Apr 43
III/JG 2 Fw-190A Cormeilles Apr 43
II/JG 3 Bf-109G Schipol Aug 43...now I/NJG 1 (Ju-88C)
I/JG 11 Fw-190A Rheine Apr 43
II/JG 26 Fw-190A Vitry Apr 43
III/JG 26 Bf-109G Wevelghem Apr 43...now I/KG 51 (Me-410)
III/ZG 76 Bf-110G Plantlunne Aug 43

German 1944
Squadron Aircraft Base Start
II/JG 1 Fw-190A Le Mans June 44
III/JG 1 Bf-109G Beauvais June 44...now III/ZG 1 (Me-410)
II/JG 2 Bf-109G Creil June 44
III/JG 2 Fw-190A Creil June 44
II/JG 3 Bf-109G Lechfeld June 44...now I/NJG 1 (Ju-88C)
III/JG 7 Me-262 Lechfeld Nov 44
I/JG 11 Fw-190A Rheine June 44
II/JG 26 Fw-190A Guyancourt June 44
III/JG 26 Bf-109G Villacoublay June 44...now I/KG 51 (Me-410)
II/JG 300 Fw-190A Frankfurt July 44

British 1940
Squadron Aircraft Base Start
1 Sqn Hurricane Northolt July 40
41 Sqn SpitfireI Hornchurch Aug 40
43 Sqn Hurricane Tangmere July 40
74 Sqn Spitfire I Hornchurch July 40
85 Sqn Hurricane Martlesham July 40
111 Sqn Hurricane Croydon July 40
303 Sqn Hurricane Northolt Aug 40
501 Sqn Hurricane Croydon July 40
610 Sqn Spitfire I Gravesend July 40
1 (Can) Sqn Hurricane Northolt Aug 40


British 1943
Squadron Aircraft Base Start
1 Sqn Typhoon Biggin Hill May 43
56 Sqn Typhoon Manston May 43
64 Sqn Spitfire IX Hornchurch May 43
181 Sqn Typhoon Gravesend May 43...now 141 Sqn (MosqVI)
303 Sqn Spitfire IX Newchurch May 43
401 Sqn Spitfire IX Kenley May 43
611 Sqn Spitfire IX Biggin Hill May 43

British 1944
Squadron Aircraft Base Start
121 Wing Typhoon Holmsley South May 44
122 Wing Spitfire IX Detling May 44
124 Wing Typhoon Hurn May 44
132 Wing Spitfire IX Funtington May 44
143 Wing Typhoon Hurn May 44.now 140 AnzacWing(MosqVI)
144 Wing Spitfire IX Ford May 44
150 Wing Tempest Newchurch May 44

U.S. 1943
Squadron Aircraft Base Start
4th FG P-47C Debden Apr 43
20th FG P-38H Kings Cliffe Nov 43
55th FG P-38H Nuthampstead Oct 43
56th FG P-47C Horsham St Faith Apr 43
78th FG P-47C Duxford Apr 43
352nd FG P-47C Bodney Sept 43
353rd FG P-47C Metfield Aug 43...now 323rd Bomb Grp (B26)
354th FG P-51B Boxted Dec 43

U.S. 1944
Squadron Aircraft Base Start
4th FG P-51B Debden May 44
20th FG P-38J Kings Cliffe May 44
55th FG P-38J Wormingford May 44
56th FG P-47D Boxted May 44
78th FG P-47D Duxford May 44
352nd FG P-51B Bodney May 44
353rd FG P-47D Raydon May 44 ... now 323rd Bomb Grp (B26)
354th FG P-51B Boxted May 44
357th FG P-51B Leiston May 44




SQXXXX.DAT e.g SQGR40.DAT
There are 8 SQXXXX.DAT files which allocate squadrons:
SQGR40.DAT (and SQGR43.DAT and SQGR44.DAT)
SQUK40.DAT (and SQUK43.DAT and SQUK44.DAT)
SQUS43.DAT (and SQUS44.DAT).

The format is the same. Each file is comprised of a number of blocks, one for each squadron (e.g. 9 German squadrons in 1940), each 7c (124 d) bytes long. The format of each block is:

00-01 9x07 Year. 9407h=1940, 9797h=1943, 9807h=1944
02-03 om0d Start date Month/Day (00=Jan, 04=May, 06=July, 07=Aug, 0a=Nov, 0b=Dec)
04-05 bb00 Air Base e.g. 08=St Omer, 3c=Le Havre
06 aa Aircraft code see page 1, e.g. 00=P38H, 10=Bf-109E, 1b=Ju-87
07 0n Establishment of Pilots
08 0p Establishment of Planes
09-0b ffc800 3 bytes - (maybe pilot experience and morale?)
0c-0d 03 00 Number of possible squadrons/staffels that one can be assigned to
0e-12 pp pp pp pp pp 5 bytes - Probability (out of 100 h) of mission types:
Escort/Sweep/Bomb/Intercept/Interdict
e.g. 80 80 00 00 00= 50% escort, 50% sweep
10 40 b0 00 00= 6% escort, 25% sweep, 68% attack
00 40 40 20 60=25% sweep, 25% bomb, 12% int'cept, 37% interdict
13-15 uu uu uu Unit sign/Unit designation/Unit long description
16-19 0d 17 18 19 Squadron/Staffel designations
1a-1b 02 02 Number of airfield moves/number of aircraft updates (4+4 max)
1c-2b (4x 4 blocks) Airfield changes. Probability/Mission number in 25/Airfield number
(the ffff [65535] value is a mystery. It only happens in UK43-44, and may mean move to continental provisional airfields??)
2c-3b (4x 4 blocks) Aircraft upgrades. Probability/Mission number in 25/New Aircraft
e.g (Spit9->Typhoon->Tempest)

3c-5b 20 h (32 d) bytes of unknown flags.

5c (8x 4 blocks) Weapons stockpiles. Weapon code/First mission available/Amount

The alternative staffels you could be in in a particular Gruppe (see the number just before the mission probability types for quantity of choices). e.g. in SQGR40.DAT, III/JG 51 has 3 choices (byte 278=03).
Then starting at byte # 16 h are the name references: od 17 18 19.
These are references to the squadron names 0d, 17, 18 and 19 in SQNAMEGR.STR, namely III/Jagdgeschwader 51, Staffel 7, Staffel 8 and Staffel 9 respectively.

The first plane update is at byte # 2c.
e.g. 8017 1200 = upgrade to Bf-109K,
0000 0000 = no upgrade (e.g. all German squadrons in 1940).

Remember that the stockpiles are affected by the "negative multiplier" in WEAPONS.DAT.

The airbase code are set out on the following page. The names are in TARNAMES.STR. This list is in two parts, the second starting at 0a43 after ZWICKAU, which appears to be a list (not properly ordered, however) of airbase names.

AIR BASE CODES are as follows:

00 Horsham St Faith
01 Halesworth
02 Boxted
03 Debden
04 Raydon
05 Leiston
06 Vitry
07 Wevelghem
08 St Omer
09 Poix
0a Beaumont le Roger
0b Grimbergen
0c Schiphol
0d Deelen
0e Woensdrecht
0f Florennes
10 Cambrai
11 Beauvais
12 Chievres
13 Eindhoven
14 Evreux
15 Cormeilles
16 Guyancourt
17 Villacoublay
18 Rosieres
19 Jever
1a Juvincourt
1b Laval
1c Le Culot
1d Luneburg
1e Oldenburg
1f Plantlunne
20 Paderborn
21 Nordhorn
22 Drope
23 Bissel
24 Stade
25 Parchim
26 Merzhausen
27 Nidda
28 Vannes
29 Altenstadt
2a Brandis
2b Quakenbruck
2c Achmer
2d Rotenburg
2e Salzwedel
2f St. Dizier
30 St. Trond
31 Pommsen
32 Borkheide
33 Juterbog
34 Lobnitz
35 Twente
36 Wissant
37 Wunstorf
38 Kaltenkirchen
39 Briest
3a Le Bourget
3b Rhein-Main
3c Le Havre
3d Giebelstadt
3e Kirrlach
3f Malmsheim
40 Echterdingen
41 Martlesham
42 North Weald
43 Rochford
44 Northolt
45 Hornchurch
46 Gravesend
47 Manston
48 Biggin Hill
49 Kenley
4a Tangmere
4b Eastchurch
4c Detling
4d Croydon
4e Middle Wallop
4f Hawkinge
50 West Malling
51 Duxford
52 Lympne
53 Westhampnett
54 Hurn
55 Ford
56 Holmsley South
57 Thorney Island
58 Chailey
59 Bodney
5a Funtington
5b Selsey
5c Merston
5d Newchurch
5e Needs Ore Point
5f Leipheim
60 Lechfeld
61 Neuberg
62 Leipheim
63 Munich
64 Oranienburg
65 Chaumont
66 Le Mans
67 Audembert
68 Marquise
69 Caffiers
6a Abbeville
6b Bremen
6c Brunswick
6d Chartres
6e Dortmund
6f Amiens
70 Amsterdam
71 Dusseldorf
72 Frankfurt
73 Berlin
74 Wiesbaden
75 Hamburg
76 Tours
77 Hannover
78 Bonn
79 Brussells
7a Kiel
7b Caen
7c Konigsburg
7d Leipzig
7e Lille
7f Cherbourg
80 Magdeburg
81 Mannheim
82 Morlaix
83 Nuremburg
84 Creil
85 Paris
86 Pilsen
87 Rennes
88 Reims
89 Rheine
8a Rostock
8b Darmstadt
8c Diepholz
8d Metz
8e Cuxhaven
8f Munster
90 Stuttgart
91 Lubeck
92 Laon
93 Freiburg
94 Alconburg
95 Rattlesden
96 Framlingham
97 Knettishall
98 Nuthampstead
99 Chelveston
9a Kings Cliffe
9b Metfield
9c Bassingbourn
9d Wormingford
9e Shipdham
9f Hethel
a0 Great Dunmow
a1 Andrews Field



CAMPxx4x.DAT e.g. CAMPGR40.DAT
There is one of these files for each campaign. They are each 3708 d bytes long. The file format is:
Byte # (h) (all discovered so far are shorts)

00-01 Year } Campaign commencement date 9407=1940, 9707=1943, 9807=1944
02 Month } 00=Jan, 04=may, 06=July, 07=Aug, ob=Dec
03 Day }

04 Briefing language and art (8000 h =German, 0001= British, 0002=American)
06-07 Always 0000
08-09 Not known, but 1940 campaigns are 8000, all others are 0002 :German/US offensive ? Or controls fighter sweeps? (8000 eliminates fighter sweeps?)
0a-0b Always 0000
0c Not known, but 1940 campaigns have 0200, 1943 - 0300, and 1944 - 0400
0e-13 3 shorts , unknown
14-15 Number of available squadrons number in the corresponding SQxx4x.DAT file (e.g. in CAMPGR40.DAT this is 09, and in SQGR40.DAT there are 9 German squadrons in 1940)
16-17 Not known
18 Number of campaign's phases (see below)
19 Not known, but 1940 campaigns are 07, all others are 1e.
1a A mission every ... days (normal campaign setting doubles this value). This is sometimes affected by some other byte, because in the BOB (British side) between middle August - middle-September missions happen every two days, not three as at the beginning or end.
1b Number of types of available planes defined at offset 33c

1c Here begins part of the file that describes campaign phases. The entire part consist of 25 chunks, each 32(d) bytes long. 1940 campaigns use only 10 (d) of them. The entire part is 320 h (800 d) bytes long.

Interpretation of a chunk is :

Bytes

01-02 Not known
03 Always 01
04 Length of a phase (days)
05-10 Always 0000 0000 0000
11 Not known, but is somehow connected with the area of operations
13-14 Not known (6400 or 08ff in 1940, all others are fa00)
15-20 Always 0000 0000 0000
21-22 Not known (values are 8000, c400, 4000 and ff00)
23-24 Not known
25 Target type (15h radar station, EE convoy, 05 airbase etc)
26 Not sure, but seems to influence target area
27-28 }
29-30 }as 25-26. A single phase can have up to four target types
31-32 }

Eg. in BOB the first four phases are each 7 days long and the only target type is convoy. The 5th phase is only 4 days long, but targets radar stations and airbases in SE England. Next phases concentrate on airfields in London area.



Then at Byte # 33C are the descriptions of aircraft availability. I am not completely sure what these files do, but they do control enemy aircraft appearing in missions. For example, in CAMPGR40.DAT at byte #37c the Ju-87 is as follows:

1B 00 04 FF 2C 01 00 00 00 00 00 00 00 00 00 00

1-2 Plane id (1B = Ju87) (located at byte #33c in CAMPGR40.DAT)

3 Withdrawal date, by phase (see above) (04 =4th phase)

4 Replacement plane (FF =none)

5-6 Probability of plane appearing in a mission AT THE START OF CAMPAIGN (2C 01 =300)

7-8 Always 0000

9-10 Prob of plane appearing after MID-CAMPAIGN date byte#3 (00 00 =none, as its withdrawn)

11-12 Always 0000

13-14 Prob of plane appearing after mid-campaign date IF the plane wasn't available at the beginning of campaign. (00 00 =none).

To make this a little clearer compare the above example to the Ju88A in 1940:
Type 1 3 5 7 9 11 13 15
109E=1000 19ff c800 0000 1000 0000 0000 0000

110C=1300 19ff 6400 0000 0800 0000 0000 0000

Ju88 =1900 19ff 0000 0000 0c00 0000 0000 0000

Ju87= 1B00 04ff 2c01 0000 0000 0000 0000 0000

H111=1c00 19ff 9001 0000 0c00 0000 0000 0000

In this case the Ju88A is available at the start but has no chance of appearing as bytes 5&6 are blank. But when it does appear in mid-campaign '0c' the probability is 600. It serves to the end of the campaign (phase 19 h =25 d) and therefore has no replacement = 'FF'.

The bytes after FF seem to refer to probability of appearance in missions. If you look at the numbers, you'll notice the bigger ones tend to appear more frequently. For example:

He-111s (9001=400 d) are more than Ju-87s (2c01=300 d). Hurricanes (2c01 =300 d) are more than Spitfires (6400 =100 d) . The 1940 campaign has no plane replacements but 1943 and 1944 campaigns do. The P-47C has the P-47D's ID in the fourth position. The P-38H has the J model. The P-51B has the D model. The FW-190A has the D model, etc....Curiously the Bf-110G has the ME-262 as its replacement.


At offset 580h are possibly the bytes that probably control escort type for bombers, but I haven't yet worked on them much.


CAREER0x.SVE

This information was worked out by Nick Bell. The files CAREER0x.SVE contains the data concerning each career pilot. It is found in the SAVEDATA subdirectory. (The 00 is the 1st pilot you created, 01 the 2nd and so on. This will change as you delete career pilots so just look at the top of the file where your pilot's name occurs.)

Changing Planes in a Career
It is possible to change one plane for another during a career. This works with planes on the same side only. If you change for an enemy plane your ground staff will shoot you up before you take off! Go to byte 00022fb6 h. If your present plane is a P51 it will be 04 (for example), and if a Bf-109E, 10. Change the aircraft code to the plane you want to fly.

Changing Pilot Names
In the same CAREER00.SVE file a little further down, at byte 235a5 h, are the names of all the pilots in your squadron. Just change the names to your liking by re-typing them.

Changing Aircraft Replacement Rate
Offset 143297 d (22fc1 h) in CAREER00.SVE is the byte for aircraft replacement, which sometimes is set at zero (e.g the British 1940 and 1943 campaigns). It can be changed from zero to a large number.

Changing the current number of planes
Losses? The current number of planes is in CAREERxx.SVE near the end.
Search for your staffelname and in among the next 'set' of hexvalues after it should be 06 ( at offset 00022FC1 ? ). Change it to 0C.

Nick Bell (nbell@icdc.com)has created a small editor for CAREER0x.SVE. It is available from his web page (http://www.photohost...ers/HKL/hkl.htm). The following is part of the TXT file that goes with it.

Edit Squadron Data
Remember that changing your squadrons aircraft to enemy types will cause your airfield AAA defenses to fire at you while on the runway. I’ve found that moving my Allied squadrons to France or Belgium after the invasion in 1944 was a pleasant change of pace and shortened my flying time considerably. There is no problem with escorting 8th AF formations flying out of England if you move to the mainland. The program recalculates the rendezvous point with the bombers to a point over Europe. You don’t have to fly back to England to meet them.

Edit Pilot Data
Fatigue and Morale: Let me start by saying I presume these are the pilot fatigue and morale values. Fatigue increases every mission. It increases a lot if the pilot bails out, and drops between missions if the pilot doesn’t fly. Setting the fatigue level to 0 improves the AI pilots performance, and apparently makes them much more likely to survive bailouts.

Morale increases a variable amount based on the success of the mission. Mission failure causes the morale value to drop. The most visible thing I’ve noticed with setting the morale to maximum (255) is that the AI pilots are more willing to engage for longer periods. As an Allied player this is useful, as it keeps the escorts more in the fight. As the German, this might not be such a great solution, as the AI pilots hang around longer and have a tendency to get shot down more as they make ineffective passes with MG’s only. Setting the German pilots to low(er) morale makes them make a few passes at the bombers and then the head home. This lessens their casualties, but doesn’t help them down bombers, either. Experiment and let me know what you think is a good value.

Sorties and Kills: Apart from being able to credit yourself kills you “know” you got, I have read that some players feel that AI pilots with very high sortie and kill counts are better. (note that although I know where the data is in the career file, I do not consider worth the time/effort to hack and code and editor for the pilot log, so changing your kill count is only on the scoreboard).

Rank: Along with fatigue, rank determines who flys and what position they fly in. Note that promotion points are also tracked. They are stored in one of those Unknown data types. I just haven’t bothered to figure it out. When I have set all unknown values to the maximum, pilots get promoted very quickly, so it’s there somewhere.

Pilot Status: I’ve never seen Wounded or Rescued on the Squadron Status Board, but they’re in there. Not sure of the effects. Would be interesting to see if wounded pilots “heal” over time. Note that Allied and German Pilots use different values for the same status. It might be interesting to put an enemy pilot in your squadron and see what happens. In any case, you can easily rescue/recover or bring back to life your favorite pilots.

According to the Microprose, selecting an ‘easy’ campaign gives the player better squadron members. In comparision between AI pilots created in easy campaigns vs those created in hard campaign, the easy campaign pilots have higher values.



EAW SAVED MISSION (*.MSN) FILES
All *.MSN files are 400 bytes long
The options on the selection screen are:

Year (1940, 1943, 1944 or 1945)
Time (Dawn, Day,Dusk)
Weather (Random, Clear, Partly Cloudy, Heavy Cloud, Overcast)
Instant Action (Yes or No)
Mission (Ftr Sweep, Bomb, Intercept, Interdict, Escort Flight)
Target
No. of Aircraft
Cruise Altitude (Random, Low, Medium, High)
Home Base
Friendly Secondary Aircraft
Formation Size (Random, Small, Medium, Large)
Pilot Skill (Random, Green, Seasoned, Expert)
Enemy Activity Level (Random, Light, Moderate, Heavy)
Enemy Primary Aircraft
Enemy Secondary Aircraft
Enemy Pilot Skill (Random, Green, Seasoned, Expert)
Enemy AAA Level (Random, Light, Moderate, Heavy)

The format of the *.MSN file is:
Bytes
00-0b xxxx xxxx 6502 00aa Not known
09 Instant Action (80) or not (00)
0c-23 File Name e.g. "Spitfire Ia vs Bf-109 E-4"
24-10f All zeros 0000 0000.....
110 Year 00=1940 01=1943
02=1944 03=1945
114 Time of Day 00=Random 01=Dawn 02=Day
03=Dusk 04=Night (?)
118 Weather 00=Random 01=Clear 02=Partly Cloudy
03=Heavy Cloud 04=Overcast
11c Mission Type 00=Escort 01=Ftr Sweep 02=Bomb
03=Intercept 04=Interdiction
120 Target e.g. 17=Tangmere 36=Hornchurch
3e=Le Havre 4f=Beaumont le Roger
124 No. of Aircraft in Player's flight
128 Cruise Altitude 00=Random 01=Low
02=Medium 03=High
12c Home Base
130 Friendly Secondary Aircraft : Use Aircraft code or feff ffff= None
134 No. of Friendly Aircraft
138 Pilot Skill
13c Enemy Activity 00=Random 01=Light
02=Moderate 03=Heavy
140 Enemy Primary Aircraft (see above)
144 Enemy Secondary Aircraft (see above)
148 Enemy Skill Level 00=Random 01=Green
02=Seasoned 03=Expert
14c Enemy AAA Level 00=Random 01=Light
02=Moderate 03=Heavy
164 Player Aircraft Type (see above)
168 Friendly Secondary Aircraft (see above)
17c Enemy Primary Aircraft (see above)
180 Enemy Secondary Aircraft (see above)

The problem with MSN files editing is the first 4 bytes. Most probably are some sort of encoded checksum. If you take a look into EAW.EXE you will find references to a public key that could related with this problem or with the CD validity check.




EAW SOUNDS
Meatwater's Soundpacks (http://www.meatwater.de) have new sound files.
The sound files format is: snd00xx.snd
Paulo Morais has utilities for converting RAW format sound files to EAW format and vice-versa.

In Meatwater's Version 1.3 the files are:
snd0009.snd 35.1k Bomb whistle
snd0025.snd 906 bytes .30 cal MG
snd0026.snd 805 bytes .50 cal MG
snd0027.snd 1.03 k 20 mm cannon
snd0028.snd 1.49 k 30 mm cannon
snd0029.snd 34.8 k Rocket launch
snd0050.snd 183 k Gear up/down
snd0051.snd 74.5 k Parachute
snd0052.snd 32.9 k Touchdown

In Meatwater's Version 2.0 the files are:
snd0003.snd 67.8k Flak explosion
snd0004.snd 133k Bomb explosion
snd0009.snd 46k Bomb release whistle
snd0019.snd 45.2k Flak shot
snd0020.snd 37.6k Flak hit
snd0022.snd 128k Plane explosion
snd0023.snd 115k " "
snd0025.snd 3.34k .30 cal MG
snd0026.snd 4.36k .50 cal MG
snd0027.snd 5.19k 20 mm cannon
snd0028.snd 6.05k 30 mm cannon
snd0029.snd 77.4 k Rocket launch
snd0030.snd 233k Radial engine idle/startup
snd0031.snd 319k " " running
snd0034.snd 234k In-line engine idle/startup
snd0035.snd 114k " " running
snd0038.snd 80.2k Me-262 engine idle/startup
snd0039.snd 247k " " running
snd0042.snd 118k Other engines
snd0043.snd 69k Bomber engines
snd0044.snd 184k V-1 engine
snd0047.snd 292k Engine failure
snd0050.snd 183k Gear up/down
snd0052.snd 32.9 k Touchdown

grb_031.snd and gbrf.cdf 8963k German briefing
aradio1m.adp and aradio2m.adp } American Radio music
bradio1m.adp and bradio2m.adp }5691k British Radio music
gradio1m.adp and gradio2m.adp } German Radio music (incl Lilli Marlene)

I prefer the Version 1.3 .30 and .50 cal MG sounds, but otherwise the Version 2.0 sounds.

The SND file structure is made of a header part of 7 DWORD (28 bytes total length) followed by waveform data (RAW format in the sense of the program Wave Studio bundled with old SB cards. From the seven header parameters only 4 matter:
#3 - data size in bytes
#4 - sample rate (Hz)
#5 - resolution 8 or 16 for bits
#6 - 1 stereo, 0 mono
By using Paulo Morais' SND2RAW.EXE the header is striped and dumped to screen, and a RAW wave file generated to be edited by some compatible program. After that, using RAW2SND.EXE it is possible to obtain a file usable by EAW. These two DOS programs give some help if executed without parameters.


Conclusions
These notes are the result of a lot of detective work, trial and error and guesswork, by me and a number of others, most of whom are mentioned above. They have been collated over a period of time, and are a synthesis of everyone’s knowledge that has been shared to date.

If anyone else reading these notes wants to try their hand at editing EAW, give it a go and let me know. Cooperation is the key. But PLEASE back up anything before you do.

And, as the saying goes, if you cannot add and subtract in hexadecimal, you shouldn’t be hex-editing.

Charles Gunst
4 April 2000

GunstQC@aol.com




0 user(s) are reading this topic

0 members, 0 guests