RESEARCH.DAT
General Information
RESEARCH.DAT contains information about all the different research projects available, including total time the research requires and the number of points awarded upon completion. It consists of 96 records, each 22 bytes long, in the following sequence:
|
|
|
|
*NOTE: there are no entries for the Sectopod or Cyberdisc terrorists. Also, the
three tank entries are not used by the game. If you hack RESEARCH.DAT to open
these as research possibilities, the title of the research project will be "NOT USED."
Structure
Each record in RESEARCH.DAT consists of 22 bytes. In what follows, the hex offset is written in bold, followed by a description of the purpose of the byte(s).
00-01: The first two bytes determine the amount of time it takes to perform the research, written low-high (for example 12 34 refers to the hex number 3412). This is then randomized ±50% when the project is started before being stored in PROJECT.DAT.
02-04: These three bytes determine the name of the research topic as it appears on the Current Research screen in the game. The table below shows how different types of research are coded:
02 | 03 | 04 | Description |
---|---|---|---|
00 | 00 | 00 | Laser Weapons |
31-3D | 00 | 00 | Alien Artifacts |
41-4B | 00 | 00 | Alien Autopsy |
50-58 | 00 | 00 | UFO Components |
00 | 01-0B | 01-07 | Live Alien |
00 | 00 | 01-1d | X-Com Craft and Armaments, Heavy Weapons Platforms, Base Facilities, Alien Research |
Note that, for live aliens, bytes 03 and 04 determine the alien's species and rank, respectively, with the same convention as in ASTORE.DAT. Also, for Alien Autopsy researches, the second bit of byte 02 determines the species.
Also note that, in addition to determining the name of the research project for the purposes of the Current Research control screen, these bytes also determine what object, if any, needs to be on hand in order for the research to begin. Namely, if either or bytes 02 or 03 are non-zero, the research requires that the named object be in the base's stores either BASE.DAT or ASTORE.DAT in order for the research to be listed.
05: non-zero only for some live aliens. It's meaning is uncertain.
06: with the exception of 0B which is unique to researching the single "Laser Weapons" starting topic, this field indicates the category in the UFOpaedia into which the topic falls:
00 = X-Com Craft and Armament 01 = Heavy Weapons Platforms 02 = Weapons and Equipment 03 = Alien Artifacts 04 = Base Facilities 05 = Alien Life Forms (corpses) 06 = Alien Life Forms (live aliens) and Alien Research 07 = UFO Components 0B = Laser Weapons
07: determines the specific UFOpaedia sub-entry, within each category, that the research unlocks. In the case of live aliens, this byte contains their race. In the case of categories 2 and 3 (most Battlescape items), this value is (also) the direct index to the OBDATA.DAT record.
08: determines the number of points awarded when the research is completed.
09: seems to always be 00. [Unused]
0A: is a boolean flag indicating, when true, that the research has been completed and cannot be repeated. For research topics that can be repeated (e.g., research on living aliens), this byte is always 00. Manually setting this byte to 01, however, does not in any way give the player credit for completing the research - it will not be unlocked in the UFOpaedia, nor will production options be made available. It is simply to prevent a topic from appearing in the list of available research topics once it has been completed.
Bytes 0B-0D are 00. High bytes of 32-bit 0x0A field. [Unused]
0E: a boolean value indicating whether or not the research topic requires one or more prerequisites. It is true when there is not a prerequisite.
Bytes 0F-11 are 00. High bytes of 32-bit 0x0E field. [Unused]
12: a boolean flag indicating that the prerequisites have been fulfilled. It is true when either the prerequisites have been satisfied or there are no prerequisites and false when there is a prerequisite which has not been met. Changing this value is a way to get around prerequisite research topics.
Bytes 13-15 are 00. High bytes of 32-bit 0x12 field. [Unused]
Cheats and Hacks
First, what you cannot do with RESARCH.DAT: there is no way to modify this file to instantly get credit for completing research, open UFOpaedia entries, or unlock production capabilities.
Things you can do, if you so choose:
- Modify the time required to complete research (bytes 00-01). Note that this is the initial time, not the time remaining on research you've already started. For that, see PROJECT.DAT.
- Modify the points you obtain by completing the research projects (byte 08).
- Make research projects available without completing their prerequisites (byte 12).
- Eliminate the need to possess an object (either artifact or live alien) before researching it. Warning: this one's a bit odd: change bytes 02-04 to 00 00 11. This will make "NOT USED" appear in the list of research topics (it is the name of the Laser Cannon Tank - a project not used by the game). Research "NOT USED", and once it is completed, you will have access to the UFOpaedia entry access to any research that is lower in the research tree, and access to the relevant production capabilities.
- Go straight to Cydonia, if you set byte 0A in offset 58 (for the Martian Solution) to a value of 01, and you have an Avenger, you will be able to go to Cydonia on day one if you so choose.
See Also
- Research
- FACIL.DAT - Information on facilities you can / can't build at the moment
- PRODUCT.DAT - Information on manufacturable items you can / can't manufacture at the moment
- PROJECT.DAT - Information on projects currently being researched at bases
- OBDATA.DAT - Statistics on items in the game
- UP.DAT - Stores information on the UFOpaedia entries
- Saved Game Files