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).
offset item 0 10 Ajax Launchers 1 12 D.U.P. Head Launcher 2 14 Craft Gas Cannon 3 16 P.W.T. Cannon 4 18 Gauss Cannon 5 1A Sonic Oscillator 6 1C Ajax Torpedoes 7 1E D.U.P. Head Torpedoes 8 20 Gas Rounds(x50) (for Craft Gas Cannon) 9 22 P.W.T Ammo (for Craft P.W.T. ?) 10 24 Coelacanth/G. Cannon (Gas Cannon) 11 26 Coelacanth/Aqua Jet 12 28 Coelacanth/Gauss 13 2A Displacer /Sonic 14 2C Displacer /P. W. T. 15 2E Dart Gun 16 30 Dart Clip 17 32 Jet Harpoon 18 34 Harpoon Clip 19 36 Gas Cannon 20 38 GC-AP Bolts 21 3A GC-HE Bolts 22 3C GC-Phosphorous Bolts 23 3E Hydro-Jet Cannon 24 40 HJ-AP Ammo 25 42 HJ-HE Ammo 26 44 HJ-P Ammo 27 46 Torpedo Launcher 28 48 Small Torpedo 29 4A Large Torpedo 30 4C Phosphor Torpedo 31 4E Gauss Pistol 32 50 Gauss Rifle 33 52 Heavy Gauss 34 54 Magna-Blast Grenade 35 56 Dye Grenade 36 58 Particle Disturbance Grenade 37 5A Magna-Pack Explosive 38 5C Particle Disturbance Sensor 39 5E Medi-Kit 40 60 M.C. Disruptor 41 62 Thermal Tazer 42 64 Chemical-flare 43 66 Vibro Blade 44 68 Thermic Lance 45 6A Heavy Thermic Lance 46 6C (invalid - prints garbage if used) 47 6E (invalid - prints garbage if used) 48 70 (invalid - prints garbage if used) 49 72 Sonic Cannon 50 74 Cannon Power Clip 51 76 Sonic-Blasta Rifle 52 78 Blasta Power Clip 53 7A Sonic Pistol 54 7C Pistol Power Clip 55 7E Disruptor Pulse Launcher 56 80 Disruptor Ammo 57 82 Thermal Shok Launcher 58 84 Thermal Shok Bomb 59 86 Sonic Pulser 60 88 Zrbite 61 8A M.C. Reader 62 8C Gauss Pistol Clip 63 8E Gauss Rifle Clip 64 90 Heavy Gauss Clip 65 92 Aquatoid Corpse 66 94 Gill Man Corpse 67 96 Lobster Man Corpse 68 98 Tasoth Corpse 69 9A Calcinite Corpse 70 9C Deep One Corpse 71 9E Bio-Drone Corpse 72 A0 Tentaculat Corpse 73 A2 Triscene Corpse 74 A4 Hallucinoid Corpse 75 A6 Xarquid Corpse 76 A8 (invalid - prints ' Technician' if used) 77 AA (invalid - prints ' Squad Leader' if used) 78 AC (invalid - prints ' Soldier' if used) 79 AE (invalid - prints ' Terrorist' if used) 80 B0 Ion-Beam Accelerators 81 B2 Magnetic Navigation 82 B4 Alien Sub Construction 83 B6 Alien Cryogenics 84 B8 Alien Cloning 85 BA Alien Learning Arrays 86 BC Alien Implanter 87 BE Examination Room 88 C0 Aqua Plastics 89 C2 Alien Re-animation Zone 90 C4 Plastic Aqua Armour 91 C6 Ion Armour 92 C8 Mag. Ion Armour 93 CA Solid Harpoon Bolts (for Coelacanth/Gas Cannon) 94 CC Aqua Jet Missiles (for Coelacanth/Aqua Jet) 95 CE P.W. Torpedo (for Displacer/P.W.T. ?) 96 D0 Gauss Cannon Ammo (for Coelacanth/Gauss AND Craft Gauss Cannon) 97 D2 Gauss Cannon Ammo (originally intended for Craft Gauss Cannon but unused(?))
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.