Difference between revisions of "MISDATA.DAT"

From UFOpaedia
Jump to navigation Jump to search
m (→‎Structure: changed wording on mission abort status)
 
(3 intermediate revisions by 2 users not shown)
Line 70: Line 70:
 
|Mission descriptor. Possible values:
 
|Mission descriptor. Possible values:
 
  <b>UFO</b>                              <b>TFTD</b>
 
  <b>UFO</b>                              <b>TFTD</b>
  0: UFO Site                      0: USO Site
+
  0: UFO Site                      0: Alien Sub Site
 
  1: Terror Site                  1: Port/Island Attack
 
  1: Terror Site                  1: Port/Island Attack
 
  2: Base Defence (X-COM Base)    2: Base Defense (X-COM Base)
 
  2: Base Defence (X-COM Base)    2: Base Defense (X-COM Base)
Line 223: Line 223:
 
|-
 
|-
 
|colspan="3"|<span id="152-167"></span><span id="0x98-0xA7"></span>Bytes '''152-167''' (Hex: '''0x98-0xA7''') allow you to use the following equipment only if they are set to 1. X-COM produced equipment can be used even if it hasn't been researched (however, in order to get it into combat, you must build it - and <i>that</i> requires research). The last three entries in the list are item slots that were never used in the game.
 
|colspan="3"|<span id="152-167"></span><span id="0x98-0xA7"></span>Bytes '''152-167''' (Hex: '''0x98-0xA7''') allow you to use the following equipment only if they are set to 1. X-COM produced equipment can be used even if it hasn't been researched (however, in order to get it into combat, you must build it - and <i>that</i> requires research). The last three entries in the list are item slots that were never used in the game.
 +
|'''TFTD'''
 
|- valign="top"
 
|- valign="top"
 
!<span id="152"></span>152
 
!<span id="152"></span>152
 
!<span id="0x98"></span>0x98
 
!<span id="0x98"></span>0x98
|Enables [[Heavy Plasma]] ([[OBDATA.DAT|ObData]][34])
+
|Enables [[Heavy Plasma]] ([[OBDATA.DAT|ObData]][34])  
 +
|[[Vibro_Blade|Vibroblade]]
 
|- valign="top"
 
|- valign="top"
 
!<span id="153"></span>153
 
!<span id="153"></span>153
 
!<span id="0x99"></span>0x99
 
!<span id="0x99"></span>0x99
|Enables [[Heavy Plasma Clip]] ([[OBDATA.DAT|ObData]][35])
+
|Enables [[Heavy Plasma Clip]] ([[OBDATA.DAT|ObData]][35])  
 +
|[[Thermic_Lance|Thermic Lance]]
 
|- valign="top"
 
|- valign="top"
 
!<span id="154"></span>154
 
!<span id="154"></span>154
 
!<span id="0x9A"></span>0x9A
 
!<span id="0x9A"></span>0x9A
|Enables [[Plasma Rifle]] ([[OBDATA.DAT|ObData]][36])
+
|Enables [[Plasma Rifle]] ([[OBDATA.DAT|ObData]][36])  
 +
|[[Heavy_Thermic_Lance|Heavy Thermic Lance]]
 
|- valign="top"
 
|- valign="top"
 
!<span id="155"></span>155
 
!<span id="155"></span>155
 
!<span id="0x9B"></span>0x9B
 
!<span id="0x9B"></span>0x9B
|Enables [[Plasma Rifle Clip]] ([[OBDATA.DAT|ObData]][37])
+
|Enables [[Plasma Rifle Clip]] ([[OBDATA.DAT|ObData]][37])  
 +
|[[Sonic_Cannon|Sonic Cannon]]
 
|- valign="top"
 
|- valign="top"
 
!<span id="156"></span>156
 
!<span id="156"></span>156
 
!<span id="0x9C"></span>0x9C
 
!<span id="0x9C"></span>0x9C
|Enables [[Plasma Pistol]] ([[OBDATA.DAT|ObData]][38])
+
|Enables [[Plasma Pistol]] ([[OBDATA.DAT|ObData]][38])  
 +
|Sonic Cannon Clip
 
|- valign="top"
 
|- valign="top"
 
!<span id="157"></span>157
 
!<span id="157"></span>157
 
!<span id="0x9D"></span>0x9D
 
!<span id="0x9D"></span>0x9D
|Enables [[Plasma Pistol Clip]] ([[OBDATA.DAT|ObData]][39])
+
|Enables [[Plasma Pistol Clip]] ([[OBDATA.DAT|ObData]][39])  
 +
|[[Sonic-Blasta_Rifle|Sonic-Blasta Rifle]]
 
|- valign="top"
 
|- valign="top"
 
!<span id="158"></span>158
 
!<span id="158"></span>158
 
!<span id="0x9E"></span>0x9E
 
!<span id="0x9E"></span>0x9E
|Enables [[Blaster Launcher]] ([[OBDATA.DAT|ObData]][40])
+
|Enables [[Blaster Launcher]] ([[OBDATA.DAT|ObData]][40])  
 +
|Blasta Clip
 
|- valign="top"
 
|- valign="top"
 
!<span id="159"></span>159
 
!<span id="159"></span>159
 
!<span id="0x9F"></span>0x9F
 
!<span id="0x9F"></span>0x9F
|Enables [[Blaster Bomb]] ([[OBDATA.DAT|ObData]][41])
+
|Enables [[Blaster Bomb]] ([[OBDATA.DAT|ObData]][41])  
 +
|[[Sonic_Pistol|Sonic Pistol]]
 
|- valign="top"
 
|- valign="top"
 
!<span id="160"></span>160
 
!<span id="160"></span>160
 
!<span id="0xA0"></span>0xA0
 
!<span id="0xA0"></span>0xA0
|Enables [[Small Launcher]] ([[OBDATA.DAT|ObData]][42])
+
|Enables [[Small Launcher]] ([[OBDATA.DAT|ObData]][42])  
 +
|Sonic Pistol Clip
 
|- valign="top"
 
|- valign="top"
 
!<span id="161"></span>161
 
!<span id="161"></span>161
 
!<span id="0xA1"></span>0xA1
 
!<span id="0xA1"></span>0xA1
|Enables [[Stun Bomb]] ([[OBDATA.DAT|ObData]][43])
+
|Enables [[Stun Bomb]] ([[OBDATA.DAT|ObData]][43])  
 +
|[[Disruptor_Pulse_Launcher|Disruptor Pulse Launcher]]
 
|- valign="top"
 
|- valign="top"
 
!<span id="162"></span>162
 
!<span id="162"></span>162
 
!<span id="0xA2"></span>0xA2
 
!<span id="0xA2"></span>0xA2
|Enables [[Alien Grenade]] ([[OBDATA.DAT|ObData]][44])
+
|Enables [[Alien Grenade]] ([[OBDATA.DAT|ObData]][44])  
 +
|Disruptor Ammo
 
|- valign="top"
 
|- valign="top"
 
!<span id="163"></span>163
 
!<span id="163"></span>163
 
!<span id="0xA3"></span>0xA3
 
!<span id="0xA3"></span>0xA3
|Enables [[Elerium-115]] ([[OBDATA.DAT|ObData]][45])
+
|Enables [[Elerium-115]] ([[OBDATA.DAT|ObData]][45])  
 +
|[[Thermal_Shok_Launcher|Thermal Shok Launcher]]
 
|- valign="top"
 
|- valign="top"
 
!<span id="164"></span>164
 
!<span id="164"></span>164
 
!<span id="0xA4"></span>0xA4
 
!<span id="0xA4"></span>0xA4
|Enables [[Mind Probe]] ([[OBDATA.DAT|ObData]][46])
+
|Enables [[Mind Probe]] ([[OBDATA.DAT|ObData]][46])  
 +
|Thermal Shok Bomb
 
|- valign="top"
 
|- valign="top"
 
!<span id="165"></span>165
 
!<span id="165"></span>165
 
!<span id="0xA5"></span>0xA5
 
!<span id="0xA5"></span>0xA5
|Enables "null>>UNDEFINED <<" ([[OBDATA.DAT|ObData]][47])
+
|Enables "null>>UNDEFINED <<" ([[OBDATA.DAT|ObData]][47])  
 +
|[[Sonic_Pulser|Sonic Pulsar]]
 
|- valign="top"
 
|- valign="top"
 
!<span id="166"></span>166
 
!<span id="166"></span>166
 
!<span id="0xA6"></span>0xA6
 
!<span id="0xA6"></span>0xA6
 
|Enables "null>> empty <<" ([[OBDATA.DAT|ObData]][48])
 
|Enables "null>> empty <<" ([[OBDATA.DAT|ObData]][48])
 +
|null
 
|- valign="top"
 
|- valign="top"
 
!<span id="167"></span>167
 
!<span id="167"></span>167
 
!<span id="0xA7"></span>0xA7
 
!<span id="0xA7"></span>0xA7
|Enables "null>> empty <<" ([[OBDATA.DAT|ObData]][49])
+
|Enables "null>> empty <<" ([[OBDATA.DAT|ObData]][49])  
 +
|[[M.C._Reader|M.C. Reader]]
 
|- valign="top"
 
|- valign="top"
 
!<span id="168-169"></span>168-169
 
!<span id="168-169"></span>168-169
Line 296: Line 313:
 
  2 - French
 
  2 - French
 
|- valign="top"
 
|- valign="top"
!<span id="170"></span>170
+
!<span id="170-171"></span>170-171
!<span id="0xAA"></span>0xAA
+
!<span id="0xAA-0xAB"></span>0xAA-0xAB
 
|Only present for TFTD. Determines the depth level (that is, which [[PALETTES.DAT#TFTD Tactical Palettes|battlescape palette]] to use, whether to render air bubbles around units, and which background noise to play):
 
|Only present for TFTD. Determines the depth level (that is, which [[PALETTES.DAT#TFTD Tactical Palettes|battlescape palette]] to use, whether to render air bubbles around units, and which background noise to play):
  
Line 306: Line 323:
  
 
Values above 3 use the surface palette, but otherwise act as though the mission were underwater.
 
Values above 3 use the surface palette, but otherwise act as though the mission were underwater.
|- valign="top"
 
!<span id="171"></span>171
 
!<span id="0xAB"></span>0xAB
 
|Only present for TFTD. Unknown, never seen it flag. Not a part of the above value.
 
|-
 
 
|}
 
|}
  

Latest revision as of 08:40, 23 March 2016

This 170 byte file (172 for TFTD) is only used by tactical saves, and much of it is made up of two-byte signed integers. It comes in three flavours:

  • MISSION.DAT

Initially created by the GeoScape engine and stored in the MISSDAT folder. Contains info required for Battlescape Map Generation.

  • MISDATA.DAT

Created along with a battlescape save, effectively a mirror of the original "MISSION.DAT".

  • MISSION2.DAT

Appears in the MISSDAT folder at the end of combat. Contains debreifing data (such as who won, what was recovered and what points were scored). The relevant offsets for this file are unused by the previous two versions.

Values are presented according to byte offset (0 to 169/171) followed by the equivalent hex offset (0x00 to 0xA9/0xAB) in bold. Let us know what else you can find!!

Structure

Offset
(Decimal)
Offset
(Hex)
Usage
The first 20 bytes are a count up of the various recoverable tile types in the map. These two-byte integers are only set if you actually won the mission by eliminating all enemy forces. These offsets + 100 index into the respective BASE.DAT values that they'll be added to.

See Equipment Recovery for more information.

0-1 0x00-0x01 UFO Power Source (MCD[59] set to 02).
2-3 0x02-0x03 UFO Navigation (MCD[59] set to 03, not counted for alien bases).
4-5 0x04-0x05 UFO Construction (MCD[59] set to 04, no known tiles have this set).
6-7 0x06-0x07 Alien Food (MCD[59] set to 05).
8-9 0x08-0x09 Alien Reproduction (MCD[59] set to 06, no known tiles have this set).
10-11 0x0A-0x0B Alien Entertainment (MCD[59] set to 07).
12-13 0x0C-0x0D Alien Surgery (MCD[59] set to 08).
14-15 0x0E-0x0F Examination Room (MCD[59] set to 09).
16-17 0x10-0x11 Alien Alloys (MCD[59] set to 10).

The total is divided by 2 for a UFO mission or 30 for an alien base. The value stored here is further divided by 5 to get the result you see on the debriefing screen.

18-19 0x12-0x13 Alien Habitat (MCD[59] set to 11, no known tiles have this set).
20-21 0x14-0x15 Mission descriptor. Possible values:
UFO                              TFTD
0: UFO Site                      0: Alien Sub Site
1: Terror Site                   1: Port/Island Attack
2: Base Defence (X-COM Base)     2: Base Defense (X-COM Base)
3: Base Offense (Alien Base)     3: Colony Stage 1
4: Mars Stage 1                  4: T'leth Stage 1
5: Mars Stage 2                  5: T'leth Stage 2
                                 6: T'leth Stage 3
                                 7: Artefact Site Stage 1
                                 8: Artefact Site Stage 2
                                 9: Passenger/Cargo Ship Stage 1
                                10: Passenger/Cargo Ship Stage 2
                                11: Colony Stage 2
Values 22-73 (Hex: 16-49) primarily hold scoring information. As per the tile recovery indexes, these are only stored in the final "end-of-combat" MISSION2.DAT. For temporary storage mid-mission, some of these values are stored in WGLOB.DAT.
22-23 0x16-0x17 Aliens killed.
24-25 0x18-0x19 Aliens killed score.
26-27 0x1A-0x1B Alien corpses.
28-29 0x1C-0x1D Corpse score.
30-31 0x1E-0x1F Live aliens captured.
32-33 0x20-0x21 Live alien score.
34-35 0x22-0x23 Artefacts (unresearched alien items) recovered.
36-37 0x24-0x25 Artefacts score.
38-39 0x26-0x27 Alien base control destroyed. This flags if you win a base offense mission by killing all enemy forces, or if you destroy all 16 nav modules in the command center. If not zero, the base you were attacking will be removed from the world map at the end of combat.
40-41 0x28-0x29 Base control score.
42-43 0x2A-0x2B Civilians killed by aliens.
44-45 0x2C-0x2D Civilians killed by aliens score (typically negative).
46-47 0x2E-0x2F Civilians killed by X-COM.
48-49 0x30-0x31 Civilians killed by X-COM score (typically negative).
50-51 0x32-0x33 Civilians saved.
52-53 0x34-0x35 Civilians saved score.
54-55 0x36-0x37 X-COM troopers killed.
56-57 0x38-0x39 X-COM troopers killed score (typically negative).
58-59 0x3A-0x3B X-COM troopers "retired through injury" (never actually flags).
60-61 0x3C-0x3D X-COM troopers "retired through injury" score (never actually flags).
62-63 0x3E-0x3F X-COM troopers MIA.
64-65 0x40-0x41 X-COM troopers MIA score (typically negative).
66-67 0x42-0x43 Tanks lost.
68-69 0x44-0x45 Tanks lost score (typically negative).
70-71 0x46-0x47 X-COM craft lost (GeoScape ignores this if you actually lose a craft, Tactical sets it regardless).
72-73 0x48-0x49 X-COM craft lost score (GeoScape ignores this if you actually lose a craft, Tactical doesn't set it regardless).
74-75 0x4A-0x4B A value based on the time at the LOC.DAT location. References into a table stored in the executable in order to define the values in BGLOB.DAT.
76 0x4C For a UFO site, this is the LOC.DAT reference corresponding to the crash site. This is plausibly true for every mission type (with the possible exception of the Mars assault). Used to determine whether the alien ship crashed or not (and therefore whether to randomly detonate the power supply units). I seem to remember that tweaking this byte could have an effect on BGLOB.DAT, but I might've confused myself. - Bomb Bloke 03:45, 23 June 2008 (PDT)
77 0x4D Index into CRAFT.DAT pointing to the craft sent on this mission. In the case of base defence (see offset [79]), it indexes to the LOC.DAT record for the base in concern.
78 0x4E Victory status.
0: Mission aborted with some units in exit areas.
1: Mission won.
2: Mission lost.
3: Mission aborted with no units in exit areas.
79 0x4F 0 unless the mission is a UFO site, in which case it is 1. Determines use of [77] but doesn't seem to affect [16-17].
80-151 0x50-0x97 A list of 36 two-byte integers, used during base defence missions. In order, they represent each module in your base, reading from left to right, top to bottom.

At the end of battle, the tactical game engine tallies up the amount of "target" objects existing within each module, and stores the results in "MISSION2.DAT". If that figure is 0 for any given destructible facility, then the geoscape engine will remove it from your base (along with any other modules that relied on that section for passage to the Access Lift).

"Target objects" are tiles that have offset 60 set to 1 within their MCD record.

Bytes 152-167 (Hex: 0x98-0xA7) allow you to use the following equipment only if they are set to 1. X-COM produced equipment can be used even if it hasn't been researched (however, in order to get it into combat, you must build it - and that requires research). The last three entries in the list are item slots that were never used in the game. TFTD
152 0x98 Enables Heavy Plasma (ObData[34]) Vibroblade
153 0x99 Enables Heavy Plasma Clip (ObData[35]) Thermic Lance
154 0x9A Enables Plasma Rifle (ObData[36]) Heavy Thermic Lance
155 0x9B Enables Plasma Rifle Clip (ObData[37]) Sonic Cannon
156 0x9C Enables Plasma Pistol (ObData[38]) Sonic Cannon Clip
157 0x9D Enables Plasma Pistol Clip (ObData[39]) Sonic-Blasta Rifle
158 0x9E Enables Blaster Launcher (ObData[40]) Blasta Clip
159 0x9F Enables Blaster Bomb (ObData[41]) Sonic Pistol
160 0xA0 Enables Small Launcher (ObData[42]) Sonic Pistol Clip
161 0xA1 Enables Stun Bomb (ObData[43]) Disruptor Pulse Launcher
162 0xA2 Enables Alien Grenade (ObData[44]) Disruptor Ammo
163 0xA3 Enables Elerium-115 (ObData[45]) Thermal Shok Launcher
164 0xA4 Enables Mind Probe (ObData[46]) Thermal Shok Bomb
165 0xA5 Enables "null>>UNDEFINED <<" (ObData[47]) Sonic Pulsar
166 0xA6 Enables "null>> empty <<" (ObData[48]) null
167 0xA7 Enables "null>> empty <<" (ObData[49]) M.C. Reader
168-169 0xA8-0xA9 Determines the language in which the mission was initiated. If the game is saved and later loaded, this overrides whatever language was selected when the program started.
0 - English
1 - German
2 - French
170-171 0xAA-0xAB Only present for TFTD. Determines the depth level (that is, which battlescape palette to use, whether to render air bubbles around units, and which background noise to play):
0 - Surface
1 - Shallow Water
2 - Medium Depths
3 - Deep Sea

Values above 3 use the surface palette, but otherwise act as though the mission were underwater.

See Also