BASE.DAT
UFO Structure
Ripped from Hatfarm / Chris Voss's great pages
BASE.DAT: Each entry is 292 Bytes long
00-0E: Base Name, pretty obvious
0F: Presumably the Null character if the Base Name uses all 15 characters
10: Base's short range detection capability.
12: Base's long range detection capability.
14: Base's hyperwave detection capability.
11, 13, 15: These are probably the high bytes for the Short, Long, and Hyper-wave detections respectively. Should always be 0 as a value of 100 (hex: 64 00) is perfect detection.
Logical values for the detection capabilities:
10 short, 0 long: This base has small radar(s) only.
20 short, 20 long: This base has large radar(s) only.
30 short, 20 long: This base has small and large radar(s).
100 hyperwave: This base has a hyperwave decoder(s).
The radar values can be set to 100 for perfect short range detection (presumably -- it definitely makes UFOs appear more often), but these reset to the correct values any time you complete a build in that base.
Radar Module / Scan Type | Short | Long | Hyperwave |
Small Radar | 10 | 0 | 0 |
Large Radar | 20 | 20 | 0 |
Hyperwave | 0 | 0 | 100 |
Radar Combinations | |||
Sm + Sm | 10 | 0 | 0 |
Sm + Lg | 30 | 20 | 0 |
Sm + Hyp | 10 | 0 | 100 |
Lg + Lg | 20 | 20 | 0 |
Lg + Hyp | 20 | 20 | 100 |
Hyp + Hyp | 0 | 0 | 100 |
Sm + Lg + Hyp | 30 | 20 | 100 |
16-39: The next offsets are arranged so they're easier to understand. They are for facilities in the base:
16 | 17 | 18 | 19 | 1A | 1B |
1C | 1D | 1E | 1F | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 2A | 2B | 2C | 2D |
2E | 2F | 30 | 31 | 32 | 33 |
34 | 35 | 36 | 37 | 38 | 39 |
The possible values are as follows:
00 - Access Lift 01 - Living Quarters 02 - Laboratory 03 - Workshop 04 - Small Radar System 05 - Large Radar System 06 - Missile Defense 07 - General Stores 08 - Alien Containment 09 - Laser Defense 0A - Plasma Defense 0B - Fusion Ball Defense 0C - Grav Shield 0D - Mind Shield 0E - Psionic Laboratory 0F - Hyper-wave Decoder 10 - Hangar (Top Left) 11 - Hangar (Top Right) 12 - Hangar (Bottom Left) 13 - Hangar (Bottom Right) FF - Empty
3A-5D: The next offsets represent the days until a facility is completed. They're set up the same way:
3A | 3B | 3C | 3D | 3E | 3F |
40 | 41 | 42 | 43 | 44 | 45 |
46 | 47 | 48 | 49 | 4A | 4B |
4C | 4D | 4E | 4F | 50 | 51 |
52 | 53 | 54 | 55 | 56 | 57 |
58 | 59 | 5A | 5B | 5C | 5D |
Possible values are 00 to FF. Empty spaces must have a FF value in their corresponding offset.
The following are the rest of the offsets I know. There are holes in the numbering but I have no idea what they are. With the exception of scientists and technicians, which are one byte each, all values are 2-byte signed little-endian values (-32,768 to +32,767). Example: 05 00 should be read as 0005; FE FF should be read as FFFE (-2).
It should be noted that despite the range of values a two-byte signed field gives you, due to a known issue, you cannot have more than 9,999 units of a given item in storage at any given base, regardless of what item it is.
Here's the info:
005E Engineer 005F Scientist 0060 Stingray Launcher 0062 Avalanche Launcher 0064 Cannon 0066 Fusion Ball Launcher 0068 Laser Cannon 006A Plasma Beam 006C Stingray Missile 006E Avalanche Missile 0070 Cannon Rounds 0072 Fusion Balls 0074 Tank/Cannon 0076 Tank/Rocket Launcher 0078 Tank/Laser Cannon 007A Hovertank/Plasma 007C Hovertank/Launcher 007E Pistol 0080 Pistol Clip 0082 Rifle 0084 Rifle Clip 0086 Heavy Cannon 0088 HC-AP Ammo 008A HC-HE Ammo 008C HC-IN Ammo 008E Auto Cannon 0090 AC-AP Ammo 0092 AC-HE Ammo 0094 AC-IN Ammo 0096 Rocket Launcher 0098 Small Rocket 009A Large Rocket 009C Incendiary Rocket 009E Laser Pistol 00A0 Laser Rifle 00A2 Heavy Laser 00A4 Grenade 00A6 Smoke Grenade 00A8 Proximity Grenade 00AA High Explosive 00AC Motion Scanner 00AE Medi-Kit 00B0 Psi-Amp 00B2 Stun Rod 00B4 Electro Flare 00C2 Heavy Plasma 00C4 Heavy Plasma Clip 00C6 Plasma Rifle 00C8 Plasma Rifle Clip 00CA Plasma Pistol 00CC Plasma Pistol Clip 00CE Blaster Launcher 00D0 Blaster Bomb 00D2 Small Launcher 00D4 Stun Bomb 00D6 Alien Grenade 00D8 Elerium-115 00DA Mind Probe 00E2 Sectoid Corpse 00E4 Snakeman Corpse 00E6 Ethereal Corpse 00E8 Muton Corpse 00EA Floater Corpse 00EC Celatid Corpse 00EE Silacoid Corpse 00F0 Chryssalid Corpse 00F2 Reaper Corpse 00F4 Sectopod Corpse 00F6 Cyberdisc Corpse 0100 UFO Power Source 0102 UFO Navigation 0104 UFO Construction 0106 Alien Food 0108 Alien Reproduction 010A Alien Entertainment 010C Alien Surgery 010E Examination Room 0110 Alien Alloys 0112 Alien Habitat 0114 Personal Armour 0116 Power Suit 0118 Flying Suit 011A HWP Cannon Shell 011C HWP Rockets 011E HWP Fusion Bomb
011F-0123: I have no idea, any help would be appreciated.
TFTD Structure
BASE.DAT: Each entry is 296 Bytes long.
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.
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 D2 (invalid - prints 'Gauss Cannon Ammo' if used)
D4-D9: Unknown.
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.
0122: Number of technicians (00-FF).
0123: Number of scientists (00-FF).
0124-0127: Unknown.
See Also
- ASTORE.DAT - Information on captured aliens at bases
- BPROD.DAT - Information on what bases are producing
- CRAFT.DAT - Information on crafts (both X-Com and Alien)
- FACIL.DAT - Information on the facilities you can build in bases
- LOC.DAT - Location Data for bases and crafts
- PROJECT.DAT - Information on current research
- SOLDIER.DAT - Information on soldiers at bases
- TRANSFER.DAT - Information on item/personnel being transferred to/from bases
- Saved Game Files