Difference between revisions of "PROJECT.DAT"

From UFOpaedia
Jump to navigation Jump to search
m
Line 6: Line 6:
 
* Each base thus uses 288 bytes to represent the current research project state.
 
* Each base thus uses 288 bytes to represent the current research project state.
  
A zero for scientist-days merely means that the project is not actively being researched.  It may have not been started, or have been completed.
+
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.  Offsets are solely in hexadecimal for this iteration.  The first offset is for scientist-days, the second is for number of scientists allocated.
 
Project names are elsewhere.  Offsets are solely in hexadecimal for this iteration.  The first offset is for scientist-days, the second is for number of scientists allocated.

Revision as of 14:35, 12 August 2006

(Zaimoni: This records some working notes. This should be reformatted more conventionally at some point.)

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.

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. Offsets are solely in hexadecimal for this iteration. The first offset is for scientist-days, the second is for number of scientists allocated.

From an "ask the machine" savegame, in order, for the first base:


00h,C0h: Laser weapons

02h,C1h: Motion Detector

04h,C2h: Medikit

06h,C3h: Psi-Amp

08h,C4h: Heavy Plasma

0Ah,C5h: Heavy Plasma Clip

0Ch,C6h: Plasma Rifle

0Eh,C7h: Plasma Rifle Clip

10h,C8h: Plasma Pistol

12h,C9h: Plasma Pistol Clip

14h,CAh: Blaster Launcher

16h,CBh: Blaster Bomb

18h,CCh: Stun Launcher

1Ah,CDh: Stun Bomb

1Ch,CEh: Alien Grenade

1Eh,CFh: Elerium-115

20h,D0h: Mind Probe

22h,D1h: UFO Power Source

24h,D2h: UFO Navigation

26h,D3h: UFO Construction

28h,D4h: Alien Food

2Ah,D5h: Alien Reproduction

2Ch,D6h: Alien Entertainment

2Eh,D7h: Alien Surgery

30h,D8h: Examination Room

32h,D9h: Alien Alloys

34h,DAh: New Fighter

36h,DBh: New Fighter-Transporter

38h,DCh: Ultimate Craft

3Ah,DDh: Laser Pistol

3Ch,DEh: Laser Rifle

3Eh,DFh: Heavy Laser

40h,E0h: Laser Cannon

42h,E1h: Plasma Cannon

44h,E2h: Fusion Missile (Fusion Ball Launcher)

46h,E3h: Laser Defense

48h,E4h: Plasma Defense

4Ah,E5h: Fusion Defense

4Ch,E6h: Grav Shield

4Eh,E7h: Mind Shield

50h,E8h: Psionic Laboratory

52h,E9h: Hyper-Wave Decoder

54h,EAh: NOT USED (Tank/Laser Cannon?)

56h,EBh: NOT USED (Plasma Hovertank?)

58h,ECh: NOT USED (Launcher Hovertank?)

5Ah,EDh: Sectoid Corpse

5Ch,EEh: Snakeman Corpse

5Eh,EFh: Ethereal Corpse

60h,F0h: Muton Corpse

62h,F1h: Floater Corpse

64h,F2h: Celatid Corpse

66h,F3h: Silacoid Corpse

68h,F4h: Chryssalid Corpse

6Ah,F5h: Reaper Corpse

6Ch,F6h: Sectopod Corpse

6Eh,F7h: Cyberdisc Corpse

70h,F8h: Alien Origins

72h,F9h: The Martian Solution

74h,FAh: Cydonia or Bust

76h,FBh: Personal Armor

78h,FCh: Power Suit

7Ah,FDh: Flying Suit

7Ch,FEh: Sectoid Commander

7Eh,FFh: Sectoid Leader

80h,100h: Sectoid Engineer

82h,101h: Sectoid Medic

84h,102h: Sectoid Navigator

86h,103h: Sectoid Soldier

88h,104h: Snakeman Commander

8Ah,105h: Snakeman Leader

8Ch,106h: Snakeman Engineer

8Eh,107h: Snakeman Medic

90h,108h: Snakeman Navigator

92h,109h: Snakeman Soldier

94h,10Ah: Ethereal Commander

96h,10Bh: Ethereal Leader

98h,10Ch: Ethereal Engineer (unreachable, cf. Ethereal)

9Ah,10Dh: Ethereal Medic (unreachable)

9Ch,10Eh: Ethereal Navigator (unreachable)

9Eh,10Fh: Ethereal Soldier

A0h,110h: Muton Commander (unreachable, cf. Muton)

A2h,111h: Muton Leader (unreachable)

A4h,112h: Muton Engineer

A6h,113h: Muton Medic (unreachable)

A8h,114h: Muton Navigator

AAh,115h: Muton Soldier

ACh,116h: Floater Commander

AEh,117h: Floater Leader

B0h,118h: Floater Engineer

B2h,119h: Floater Medic

B4h,11Ah: Floater Navigator

B6h,11Bh: Floater Soldier

B8h,11Ch: Celatid Terrorist

BAh,11Dh: Silicoid Terrorist

BCh,11Eh: Chryssalid Terrorist

BEh,11Fh: Reaper Terrorist