This file contains Ufo data. These are not used within the host program, but sent to Winplan users in RST files. This file allows third-party programs to create completely new objects. Players can interact with these Ufos using the mission codes 20...999, special FCodes or messages, depending upon the program.
The host uses the visibility ranges to decide which Ufo to send to which player. This makes it impossible to show a particular Ufo to selected players only.
The file contains 100 or 1000 records of 78 bytes each: +0 WORD Color (1..15) 0 means this Ufo doesn't exist. The color is the usual encoding for colors in VGA text and graphics modes: 0 black 8 dark gray 1 blue 9 light blue 2 green 10 light green 3 cyan 11 light cyan 4 red 12 light red 5 magenta 13 light magenta 6 brown 14 yellow 7 light gray 15 white +2 20 BYTEs Name of object, shown on the star charts +22 20 BYTEs Info 1 +42 20 BYTEs Info 2 Shown when the object is selected. +62 WORD X (0..4000) +64 WORD Y (0..4000) +66 WORD Warp speed (official range is 0..15, but some programs put other things than a Warp speed here...) +68 WORD Heading in degrees: 0=North, 90=East, 180=South, 270=West, -1=unknown; +70 WORD Distance from which a planet can see the object +72 WORD Distance from which a ship can see the object Valid values are 1..5000, all other values are equal to 5000. +74 WORD Radius of object +76 WORD Type of object. A program always should use only objects if it knows their type. To avoid collisions, each programmer should get a range of Id numbers from Tim Wisseman. These are already assigned: 1 used by PHost for wormholes 101..150 Dan Gale 151..200 Jan Peter Dijkstra 201..250 Sean Martens 251..255 Bret Lusskin 256..260 DeltaDev@GMX.net 300..310 Norman Violet 311..350 Scott Zinssell 351..400 Boris Psakhis 401..425 Nestor Delfino 426..450 Bruno Smit 451..475 Dave Killingsworth 500..525 Tony Llopis 526..550 Joerg Schueler 551..575 Markus Mann 576..599 Rick Blanchette 600..620 Michael C. Patrick 621..630 Anthony Adam 631..650 Evan Shanks 651..699 Marc Bonaventura 700..799 RAW! (Dan and Dave) 850..900 Rene Gallati 901..999 Tobias Wolf 1000..1050 Sven Bursch 1051..1075 Jean-Marie Clement 1076..1099 Scott Garner 1100..1125 Kenneth Strom 1126..1150 Atomic 1151..1175 Hofbauer Heinz 1176..1199 Kevin Foster 1200..1299 George Carey 1300..1349 Thorsten Kaben 1350..1374 BioMenaced 1375..1399 Jayesh Palshikar 1400..1420 Scott Lombard 1421..1440 Ronald Landheer 1441..1460 Greg Kazarian 1461..1470 Don Friesen (Robomaster) 1471..1555 Wolfgang Merkel 1556..1560 Bernd Ruf (PHCc) 1561..1570 Dennis Weise 10401..10499 Yann Ramin 10500..10599 Star Destroyer
PHost Wormholes
Wormholes are not stored in the UFO.HST file; only in RST files and KOREx.DAT. PHost "overlays" them during RST creation.
Wormholes are mapped to Ufos and then filtered. PHost allocates one Ufo slot for unidirectional wormholes, and two slots for bidirectional ones. From the sequence of Ufos alone you can not tell whether a particular wormhole is the entry or the exit of a bidirectional wormhole. Matters are complicated by the fact that wormholes are reported with a different Id in UTILx.DAT and as Ufo.
However, the sequence of Wormhole reports in UTILx.DAT and the sequence of wormhole Ufos can be matched against, so the UTILx.DAT sequence can deliver the real Ids for wormhole Ufos (UTILx.DAT does not contain the information whether a wormhole is unidirectional or bidirectional!). Thanks to Piotr Winiarczyk for this.
Wormhole Ufos always have color 2. In PHost before 3.3e, they always have radius 5 and visibility range 5000; later versions report the correct values.