PROJECT.DAT

From UFOpaedia
Revision as of 04:35, 23 July 2013 by Hobbes (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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

Offsets for Project Items
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