BASE.DAT

From UFOpaedia
Revision as of 23:54, 6 April 2008 by RobinHood70 (talk | contribs) (Fixed case error in stdTable)
Jump to navigation Jump to search

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.

Table 1: Radar Ability Combinations
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). 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