+0 WORD Turn number +2 7 BYTEs junk. +9 10 BYTEs Signature 2 (see GENx.DAT) +19 83 BYTEs junk. This and the previous "junk" block are perturbed at every unpack and seem to serve no purpose (they are not used again). +102 500 RECORDs of 8 bytes each: Mine fields +0 WORD X +2 WORD Y +4 WORD Radius +6 WORD Owner/Type +4102 50 RECORDs of 12 bytes each: Ion storms +0 WORD X +2 WORD Y +4 WORD Radius +6 WORD Voltage in MeV +8 WORD Warp +10 WORD Heading in degrees +4702 50 RECORDs of 4 bytes each: Explosions +0 WORD X (0 = non-existent) +2 WORD Y +4902 100 RECORDs of 78 bytes each: Ufos, see UFO.HST +12702 4 BYTEs Signature "1211", if all visual contacts fit into the normal TARGETx.DAT file, "1120" otherwise. +? 16 BYTEs ? (unused) --- Additional Visual Contacts --- +? DWORD Number of contacts +? n RECORDs of 34 bytes each +0 WORD Id Number +2 WORD Owner +4 WORD Warp +6 WORD X location +8 WORD Y location +10 WORD Type of hull +12 WORD Heading in degrees, 0=North, 90=East, 180=South, 270=West, -1=unknown +14 20 BYTEs Ship name, encrypted FOR i:=1 TO 20 DO Encrypted[i] := Original[i] XOR (155-i) Note that, except for the encrypted ship name, this is exactly a TARGETx.DAT record. --- always --- +? 10 BYTEs Signature 2 (see GENx.DAT)
For a more detailed description of the data formats, see the RST file description. This one contains a very similar data structure, except that the RST contains the race names, KOREx.DAT doesn't.