FLAK.HST - FLAK - Combat Recordings [V]

These files contain combat recordings created by FLAK, a multi-ship combat engine. Whereas FLAKx.DAT contains one player's combats, FLAK.HST contains all combats created during a host run.

Each of these files contains a number of battles. Each battle is a block of binary data that can stand for its own, i.e. can be moved around without looking at its inside because it only references data contained within itself, with relative addresses.

Each battle contains
- ships, describing the ships' (and the planet's) initial state. There can be any number of ships, they are indexed starting with zero.
- fleets that group some ships together
- attack list entries, describing how fleets pick enemies

 +0   8 BYTEs   Signature, "FLAKVCR",26
 +8     WORD    File format version, always 0
+10     WORD    Player number, 0 for FLAK.HST
+12     WORD    Turn number
+14     WORD    Number of battles
+16  18 BYTEs   Timestamp
+34   4 BYTEs   Reserved
+38   n RECORDs of variable size: battles
                 +0     DWORD   Total size of battle in bytes
                 +4   2 WORDs   X, Y of this battle in universe (lightyears)
                 +8     DWORD   Random number seed
                +12     DWORD   Total time
                +16     DWORD   Reserved for ambient flags
                +20     DWORD   Number of fleets
                +24     DWORD   Size of a fleet entry, always 24
                +28     DWORD   Offset of first fleet entry relative to
                                start of this record
                +32     DWORD   Number of ships
                +36     DWORD   Size of a ship entry, always 62
                +40     DWORD   Offset of first ship entry relative to
                                start of this record
                +44     DWORD   Number of attack list entries
                +48     DWORD   Size of an attack list entry, always 4
                +52     DWORD   Offset of first attack list entry relative
                                to start of this record
                +56   n BYTEs   Fleet/ship/attack list data follows

Format of a Fleet entry

 +0     WORD   Player number
 +2     WORD   Index of first ship in ship list, 0-based
 +4     WORD   Number of ships in this fleet
 +6     WORD   Movement speed
 +8     DWORD  Index of this fleet's attack list, 0-based
+12     DWORD  Number of attack list entries
+16     DWORD  Initial X position in combat coordinates (meters)
+20     DWORD  Initial Y position in combat coordinates (meters)

Format of a Ship entry

 +0  20 BYTEs  Ship (or planet) name
+20     WORD   Initial damage
+22     WORD   Initial crew
+24     WORD   Id
+26     WORD   Player number
+28     WORD   Hull number (0 for planets)
+30     WORD   Experience level
+32     WORD   Number of beams
+34     WORD   Beam type
+36     WORD   Number of torpedo launchers
+38     WORD   Number of torpedoes
+40     WORD   Torpedo type
+42     WORD   Number of fighter bays
+44     WORD   Number of fighters
+46     WORD   Mass
+48     WORD   Initial shield level
+50     WORD   Maximum allowed simultaneously launched fighters for this unit
+52     DWORD  Targeting rating
+56     WORD   Compensation rating
+58     WORD   Flags
                Bit 0   Set if this is a planet
+60     WORD   Result
                -1      This unit was destroyed
                0       This unit survived
                1..12   This unit was captured by the respective player
                        (can be same as player number if unit was captured
                        and then captured back in one fight)

Format of an Attack List Entry

 +0     WORD   Ship slot number, 0-based
 +2     WORD   Rating bonus for picking this ship