PROJECT.DAT
Presumed: common C enumeration of projects with RESEARCH.DAT (96 projects).
- Each research project's scientist-days remaining is stored in a little-endian word (low-order byte first). For realistic cases, the difference between signed word and unsigned word is irrelevant. 96 words i.e. 192 bytes.
- Then each research project's scientists allocated is stored as a byte. 96 bytes.
- Each base thus uses 288 bytes to represent the current research project state.
UFO has 96 research projects so the first 192 bytes (96 little endian words) are the days remaining and the last 96 bytes are for the number of scientists assigned. Each base uses 288 bytes to represent the research project state for a total file size of 2304 bytes (288×8).
A zero for scientist-days merely means that the project is not actively being researched. It may have been not started, or have been completed.
Project names are elsewhere in ENGLISH.DAT. Offsets are solely in hexadecimal for this iteration. The first offset is for scientist-days (2 Bytes), the second is for number of scientists allocated.
From an "ask the machine" savegame, in order, for the first base:
Structure
Topic Name | Scientist Days | Scientists | Topic Name | Scientist Days | Scientists |
Laser weapons | 0 (0x00) | 192 (0xC0) | Muton Corpse | 96 (0x60) | 240 (0xF0) |
Motion Detector | 2 (0x02) | 193 (0xC1) | Floater Corpse | 98 (0x62) | 241 (0xF1) |
Medikit | 4 (0x04) | 194 (0xC2) | Celatid Corpse | 100 (0x64) | 242 (0xF2) |
Psi-Amp | 6 (0x06) | 195 (0xC3) | Silacoid Corpse | 102 (0x66) | 243 (0xF3) |
Heavy Plasma | 8 (0x08) | 196 (0xC4) | Chryssalid Corpse | 104 (0x68) | 244 (0xF4) |
Heavy Plasma Clip | 10 (0x0A) | 197 (0xC5) | Reaper Corpse | 106 (0x6A) | 245 (0xF5) |
Plasma Rifle | 12 (0x0C) | 198 (0xC6) | Sectopod Corpse | 108 (0x6C) | 246 (0xF6) |
Plasma Rifle Clip | 14 (0x0E) | 199 (0xC7) | Cyberdisc Corpse | 110 (0x6E) | 247 (0xF7) |
Plasma Pistol | 16 (0x10) | 200 (0xC8) | Alien Origins | 112 (0x70) | 248 (0xF8) |
Plasma Pistol Clip | 18 (0x12) | 201 (0xC9) | The Martian Solution | 114 (0x72) | 249 (0xF9) |
Blaster Launcher | 20 (0x14) | 202 (0xCA) | Cydonia or Bust | 116 (0x74) | 250 (0xFA) |
Blaster Bomb | 22 (0x16) | 203 (0xCB) | Personal Armor | 118 (0x76) | 251 (0xFB) |
Stun Launcher | 24 (0x18) | 204 (0xCC) | Power Suit | 120 (0x78) | 252 (0xFC) |
Stun Bomb | 26 (0x1A) | 205 (0xCD) | Flying Suit | 122 (0x7A) | 253 (0xFD) |
Alien Grenade | 28 (0x1C) | 206 (0xCE) | Sectoid Commander | 124 (0x7C) | 254 (0xFE) |
Elerium-115 | 30 (0x1E) | 207 (0xCF) | Sectoid Leader | 126 (0x7E) | 255 (0xFF) |
Mind Probe | 32 (0x20) | 208 (0xD0) | Sectoid Engineer | 128 (0x80) | 256 (0x100) |
UFO Power Source | 34 (0x22) | 209 (0xD1) | Sectoid Medic | 130 (0x82) | 257 (0x101) |
UFO Navigation | 36 (0x24) | 210 (0xD2) | Sectoid Navigator | 132 (0x84) | 258 (0x102) |
UFO Construction | 38 (0x26) | 211 (0xD3) | Sectoid Soldier | 134 (0x86) | 259 (0x103) |
Alien Food | 40 (0x28) | 212 (0xD4) | Snakeman Commander | 136 (0x88) | 260 (0x104) |
Alien Reproduction | 42 (0x2A) | 213 (0xD5) | Snakeman Leader | 138 (0x8A) | 261 (0x105) |
Alien Entertainment | 44 (0x2C) | 214 (0xD6) | Snakeman Engineer | 140 (0x8C) | 262 (0x106) |
Alien Surgery | 46 (0x2E) | 215 (0xD7) | Snakeman Medic (unreachable Snakeman) | 142 (0x8E) | 263 (0x107) |
Examination Room | 48 (0x30) | 216 (0xD8) | Snakeman Navigator | 144 (0x90) | 264 (0x108) |
Alien Alloys | 50 (0x32) | 217 (0xD9) | Snakeman Soldier | 146 (0x92) | 265 (0x109) |
New Fighter | 52 (0x34) | 218 (0xDA) | Ethereal Commander | 148 (0x94) | 266 (0x10A) |
New Fighter-Transporter | 54 (0x36) | 219 (0xDB) | Ethereal Leader | 150 (0x96) | 267 (0x10B) |
Ultimate Craft | 56 (0x38) | 220 (0xDC) | Ethereal Engineer (unreachable Ethereal) | 152 (0x98) | 268 (0x10C) |
Laser Pistol | 58 (0x3A) | 221 (0xDD) | Ethereal Medic (unreachable) | 154 (0x9A) | 269 (0x10D) |
Laser Rifle | 60 (0x3C) | 222 (0xDE) | Ethereal Navigator (unreachable) | 156 (0x9C) | 270 (0x10E) |
Heavy Laser | 62 (0x3E) | 223 (0xDF) | Ethereal Soldier | 158 (0x9E) | 271 (0x10F) |
Laser Cannon | 64 (0x40) | 224 (0xE0) | Muton Commander (unreachable Muton) | 160 (0xA0) | 272 (0x110) |
Plasma Cannon | 66 (0x42) | 225 (0xE1) | Muton Leader (unreachable) | 162 (0xA2) | 273 (0x111) |
Fusion Missile (Fusion Ball Launcher) | 68 (0x44) | 226 (0xE2) | Muton Engineer | 164 (0xA4) | 274 (0x112) |
Laser Defense | 70 (0x46) | 227 (0xE3) | Muton Medic (unreachable) | 166 (0xA6) | 275 (0x113) |
Plasma Defense | 72 (0x48) | 228 (0xE4) | Muton Navigator | 168 (0xA8) | 276 (0x114) |
Fusion Defense | 74 (0x4A) | 229 (0xE5) | Muton Soldier | 170 (0xAA) | 277 (0x115) |
Grav Shield | 76 (0x4C) | 230 (0xE6) | Floater Commander | 172 (0xAC) | 278 (0x116) |
Mind Shield | 78 (0x4E) | 231 (0xE7) | Floater Leader | 174 (0xAE) | 279 (0x117) |
Psionic Laboratory | 80 (0x50) | 232 (0xE8) | Floater Engineer | 176 (0xB0) | 280 (0x118) |
Hyper-Wave Decoder | 82 (0x52) | 233 (0xE9) | Floater Medic | 178 (0xB2) | 281 (0x119) |
NOT USED (Tank/Laser Cannon?) | 84 (0x54) | 234 (0xEA) | Floater Navigator | 180 (0xB4) | 282 (0x11A) |
NOT USED (Plasma Hovertank?) | 86 (0x56) | 235 (0xEB) | Floater Soldier | 182 (0xB6) | 283 (0x11B) |
NOT USED (Launcher Hovertank?) | 88 (0x58) | 236 (0xEC) | Celatid Terrorist | 184 (0xB8) | 284 (0x11C) |
Sectoid Corpse | 90 (0x5A) | 237 (0xED) | Silicoid Terrorist | 186 (0xBA) | 285 (0x11D) |
Snakeman Corpse | 92 (0x5C) | 238 (0xEE) | Chryssalid Terrorist | 188 (0xBC) | 286 (0x11E) |
Ethereal Corpse | 94 (0x5E) | 239 (0xEF) | Reaper Terrorist | 190 (0xBE) | 287 (0x11F) |
See Also
- ASTORE.DAT - Aliens in Containment
- BASE.DAT - Base Information, including scientists
- MISDATA.DAT - Items that can be used in missions (updated on completion of research)
- OBDATA.DAT - Equipment Stats
- PRODUCT.DAT - What can be produced (updated on completion of research)
- RESEARCH.DAT - Scores for completing Research
- UP.DAT - UFOpaedia entries (updated on completion of research)
- PROJECT.DAT (TFTD) - TFTD's PROJECT.DAT.
- Saved Game Files