Airfix DogFighter Programmer's Manual

The Roster File

The Roster-file keeps the stats for an enlisted pilot. These stats can be looked up by clicking on the "Pilot Roster" button in the Main Screen of the game. As an example, here are the stats for my pilot when I play in on-line games:

00 00 00 00 9C 00 00 00 4E 41 4D 45 0B 00 00 00 spacer1....*...NAME....
42 69 6C 6C 48 75 6E 74 65 72 00 50 49 43 54 08 spacer1BillHunter.PICT.
00 00 00 70 69 6C 6F 74 30 39 00 4D 45 44 41 11 spacer1...pilot09.MEDA.
00 00 00 6D 65 64 61 6C 5F 72 6F 6F 6B 69 65 00 spacer1...medal_rookie.
01 00 00 00 41 43 4B 49 04 00 00 00 55 00 00 00 spacer1....ACKI....U...
47 55 4B 49 04 00 00 00 0A 00 00 00 57 55 4B 49spacer1 GUKI........WUKI
04 00 00 00 2B 00 00 00 46 52 49 4B 04 00 00 00 spacer1....+...FRIK....
00 00 00 00 44 45 41 54 04 00 00 00 0B 00 00 00 spacer1....DEAT........
53 43 4F 52 04 00 00 00 41 2D 00 00 50 4B 49 4C spacer1SCOR....A-..PKIL
04 00 00 00 3F 00 00 00 50 44 45 41 04 00 00 00 spacer1....?...PDEA....
FC 00 00 00 FC 00 00 00 FC 00 00 00 FC 00 00 00 FC 000 u...


General Layout

So what does this all mean? Let's rearrange this file a bit to:

00 00 00 00 9C 00 00 00

No filename, but length of total file = 9C bytes

NAME 0B 00 00 00 BillHunter 00

Name of this pilot = BillHunter

PICT 08 00 00 00 pilot09 00

Filename of Photo associated with this pilot = pilot09

MEDA 11 00 00 00 medal_rookie 00  

Medal given

ACKI 04 00 00 00 55 00 00 00

AirCraft KIlled = hex(55) = decimal 85

GUKI 04 00 00 00 0A 00 00 00

Ground Units KIlled = hex(0A) = decimal 10

WUKI 04 00 00 00 2B 00 00 00

Water Units KIlled = hex(2B) = decimal 43

FRIK 04 00 00 00 00 00 00 00

FRIendlies Killed = hex(00) = decimal 0

DEAT 04 00 00 00 0B 00 00 00

Mission Crashes = hex(0B) = decimal 11

SCOR 04 00 00 00 41 2D 00 00

Score obtained = hex(2D 41) = decimal 11585

PKIL 04 00 00 00 3F 00 00 00

Multiplayer dogfights won = hex(3F) = decimal 63

PDEA 04 00 00 00 FC 00 00 00

Multiplayer crashes = hex(FC) = decimal 252


This is not the whole story: an enlisted pilot who has completed both the Allied and the Axis Missions will have these entries:

00 00 00 00 62 02 00 00

No filename, but length of total file = 02 62 (decimal610) bytes

NAME 07 00 00 00 George 00

Name of this pilot = George

PICT 08 00 00 00 pilot09 00

Filename of Photo associated with this pilot = pilot09

MEDA 11 00 00 00 medal_rookie 00  

Medal given: rookie medal (the wings)

MEDA 0D 00 00 00 medal_1b 00  

Medal given: First Medal of Introduction

MEDA 0D 00 00 00 medal_2b 00  

Medal given: Scouting Medal of Secrecy

MEDA 0D 00 00 00 medal_3b 00  

Medal given: Girlie Medal of Destruction

MEDA 0D 00 00 00 medal_4b 00  

Medal given: Severe Medal of Defence

MEDA 0D 00 00 00 medal_5b 00  

Medal given: Noble Medal of Ablution

MEDA 0D 00 00 00 medal_6b 00  

Medal given: Questionable Medal of Thieving

MEDA 0D 00 00 00 medal_7b 00  

Medal given: Valiant Medal of Resistance

MEDA 0D 00 00 00 medal_8b 00  

Medal given: Precious Medal of Assistance

MEDA 0D 00 00 00 medal_9b 00  

Medal given: Dads Medal of Car Insurance

MEDA 0E 00 00 00 medal_10b 00  

Medal given: Glorious Medal of Valour

ALMI 04 00 00 00 0A 00 00 00

ALliedMIssions completed = hex(0A) = decimal 10

PDEA 04 00 00 00 FC 00 00 00

Multiplayer crashes = hex(08) = decimal 08

MEDA 0D 00 00 00 medal_1a 00  

Medal given: Rookie Medal of Honour

MEDA 0D 00 00 00 medal_2a 00  

Medal given: Sloppy Medal of Spaghetti Duty

MEDA 0D 00 00 00 medal_3a 00  

Medal given: Il Duce's Medal of Food Fighting

MEDA 0D 00 00 00 medal_4a 00  

Medal given: Radiating Medal of Bravery

MEDA 0D 00 00 00 medal_5a 00  

Medal given: Escort Medal of Success

MEDA 0D 00 00 00 medal_6a 00  

Medal given: Thieving Medal of Glue

MEDA 0D 00 00 00 medal_7a 00  

Medal given: Great Medal of Gratitude

MEDA 0D 00 00 00 medal_8a 00  

Medal given: Serious Medal of Metal Fatigue

MEDA 0D 00 00 00 medal_9a 00  

Medal given: Naval Medal of the Deep

MEDA 0E 00 00 00 medal_10a 00  

Medal given: Enormous Medal of Excellence

AXMI 04 00 00 00 05 00 00 00

AXis MIssions completed = hex(05) = decimal 5

PKIL 04 00 00 00 01 00 00 00

Multiplayer dogfights won = hex(01) = decimal 1

FRIK 04 00 00 00 00 00 00 00

FRIendlies Killed = hex(00) = decimal 0

THRD 04 00 00 00 01 00 00 00

Not sure, probably 3rd party killed = hex(01) = decimal 1

WUKI 04 00 00 00 92 01 00 00

Water Units KIlled = hex(192) = decimal 402

ACKI 04 00 00 00 43 0B 00 00

AirCraft KIlled = hex(0B 43) = decimal 2883

GUKI 04 00 00 00 13 08 00 00

Ground Units KIlled = hex(08 13) = decimal 2067

DEAT 04 00 00 00 91 02 00 00

Mission Crashes = hex(02 91) = decimal 657

SCOR 04 00 00 00 74 2E 08 00

Score obtained = hex(08 2E 74) = decimal 536180

Compare this with the Pilot Roster Screen