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