BASE.DAT (TFTD)
Structure
BASE.DAT: Each entry is 296 Bytes long.
Name
00-0E: Base Name, pretty obvious.
0F: Null character if the Base Name uses all 15 characters. If this byte is non-0, the base name will happily overflow and read from the item quantities.
Stores
10-D3: Quantity of each item available at that base (signed 2-byte little-endian integers; see explanation in UFO section for details).
10 Ajax Launchers 12 D.U.P. Head Launcher 14 Craft Gas Cannon 16 P.W.T. Cannon 18 Gauss Cannon 1A Sonic Oscillator 1C Ajax Torpedoes 1E D.U.P. Head Torpedoes 20 Gas Rounds(x50) 22 P.W.T Ammo 24 Coelacanth/G. Cannon 26 Coelacanth/Aqua Jet 28 Coelacanth/Gauss 2A Displacer /Sonic 2C Displacer /P. W. T. 2E Dart Gun 30 Dart Clip 32 Jet Harpoon 34 Harpoon Clip 36 Gas Cannon 38 GC-AP Bolts 3A GC-HE Bolts 3C GC-Phosphorous Bolts 3E Hydro-Jet Cannon 40 HJ-AP Ammo 42 HJ-HE Ammo 44 HJ-P Ammo 46 Torpedo Launcher 48 Small Torpedo 4A Large Torpedo 4C Phosphor Torpedo 4E Gauss Pistol 50 Gauss Rifle 52 Heavy Gauss 54 Magna-Blast Grenade 56 Dye Grenade 58 Particle Disturbance Grenade 5A Magna-Pack Explosive 5C Particle Disturbance Sensor 5E Medi-Kit 60 M.C. Disruptor 62 Thermal Tazer 64 Chemical-flare 66 Vibro Blade 68 Thermic Lance 6A Heavy Thermic Lance 6C (invalid - prints garbage if used) 6E (invalid - prints garbage if used) 70 (invalid - prints garbage if used) 72 Sonic Cannon 74 Cannon Power Clip 76 Sonic-Blasta Rifle 78 Blasta Power Clip 7A Sonic Pistol 7C Pistol Power Clip 7E Disruptor Pulse Launcher 80 Disruptor Ammo 82 Thermal Shok Launcher 84 Thermal Shok Bomb 86 Sonic Pulser 88 Zrbite 8A M.C. Reader 8C Gauss Pistol Clip 8E Gauss Rifle Clip 90 Heavy Gauss Clip 92 Aquatoid Corpse 94 Gill Man Corpse 96 Lobster Man Corpse 98 Tasoth Corpse 9A Calcinite Corpse 9C Deep One Corpse 9E Bio-Drone Corpse A0 Tentaculat Corpse A2 Triscene Corpse A4 Hallucinoid Corpse A6 Xarquid Corpse A8 (invalid - prints ' Technician' if used) AA (invalid - prints ' Squad Leader' if used) AC (invalid - prints ' Soldier' if used) AE (invalid - prints ' Terrorist' if used) B0 Ion-Beam Accelerators B2 Magnetic Navigation B4 Alien Sub Construction B6 Alien Cryogenics B8 Alien Cloning BA Alien Learning Arrays BC Alien Implanter BE Examination Room C0 Aqua Plastics C2 Alien Re-animation Zone C4 Plastic Aqua Armour C6 Ion Armour C8 Mag. Ion Armour CA Solid Harpoon Bolts CC Aqua Jet Missiles CE P.W. Torpedo D0 Gauss Cannon Ammo (for Coelacanth/G. Cannon) D2 Gauss Cannon Ammo (for Craft Gauss Cannon)
Base Detection Values
D4: Short range detection value (%).
D6: Long range detection value (%).
D8: Transmission Resolver detection value (%).
Each base detection value byte is a low byte, followed by a high byte which is null (x0).
Detection values are identical to XCom1:
Possible decimal values are 0/10/20/30 for Short, 0/20 for Long, 0/100 for Transmission Resolver. The XCom1 Radar Stacking Bug still applies - there is no detection advantage to building multiple detection modules of the same type.
Facilities
DA-FD: The next offsets are arranged so they're easier to understand. They are for facilities in the base:
DA | DB | DC | DD | DE | DF |
E0 | E1 | E2 | E3 | E4 | E5 |
E6 | E7 | E8 | E9 | EA | EB |
EC | ED | EE | EF | F0 | F1 |
F2 | F3 | F4 | F5 | F6 | F7 |
F8 | F9 | FA | FB | FC | FD |
The possible values are as follows:
00 - Air Lock 01 - Living Quarters 02 - Laboratory 03 - Workshop 04 - Standard Sonar 05 - Wide Array Sonar 06 - Torpedo Defences 07 - General Stores 08 - Alien Containment 09 - Gauss Defences 0A - Sonic Defences 0B - P.W.T. Defences 0C - Bomb Shield 0D - M.C. Defences 0E - M.C.-Lab 0F - Transmission Resolver 10 - Sub Pen (Top Left) 11 - Sub Pen (Top Right) 12 - Sub Pen (Bottom Left) 13 - Sub Pen (Bottom Right) FF - Empty
FE-121: The next offsets represent the days until a facility is completed. They're set up the same way:
FE | FF | 100 | 101 | 102 | 103 |
104 | 105 | 106 | 107 | 108 | 109 |
10A | 10B | 10C | 10D | 10E | 10F |
110 | 111 | 112 | 113 | 114 | 115 |
116 | 117 | 118 | 119 | 11A | 11B |
11C | 11D | 11E | 11F | 120 | 121 |
Possible values are 00 to FF. Empty spaces must have a FF value in their corresponding offset.
Personnel
0122: Number of technicians (00-FF).
0123: Number of scientists (00-FF).
Other
0124: Disabled flag, if 1 the base is disabled, if 0 the base is in use.
0125-0127: Unknown.