Difference between revisions of "CRAFT.DAT"
Jump to navigation
Jump to search
(→UFO Structure: Formatted offset 8-9 to match the rest.) |
m (→UFO Structure) |
||
(20 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
− | This file contains information specific to the crafts in the game. Both |
+ | This file contains information specific to the crafts in the game. Both X-COM and Alien crafts (including hidden ones) are in this file, though the values for the alien craft are still shrouded in mystery. |
+ | |||
+ | Note that [[CRAFT.DAT (TFTD)|TFTD uses a different version of this file]]. |
||
+ | |||
==UFO Structure== |
==UFO Structure== |
||
There are 50 records each having 104 bytes long for a maximum file size of 5,200 bytes. All offsets and values are in decimal. |
There are 50 records each having 104 bytes long for a maximum file size of 5,200 bytes. All offsets and values are in decimal. |
||
+ | {| class="wikitable" |
||
− | * '''0 (1 Byte)''' - Craft Type, Possible Values are the same as [[GEODATA.DAT]]: |
||
+ | |- |
||
+ | !Offset<br>(Decimal) |
||
+ | !Offset<br>(Hex) |
||
+ | !Usage |
||
+ | |- valign="top" |
||
+ | !<span id="0"></span>0 |
||
+ | !<span id="0x00"></span>0x00 |
||
+ | |Craft type, Possible values are the same as [[GEODATA.DAT]]: |
||
*HUMAN* *ALIEN* |
*HUMAN* *ALIEN* |
||
− | 0 - Skyranger 5 - Small Scout 255 - Entry Not Used |
+ | 0 - [[Skyranger]] 5 - [[Small Scout]] 255 - Entry Not Used |
− | 1 - Lightning 6 - Medium Scout |
+ | 1 - [[Lightning]] 6 - [[Medium Scout]] |
− | 2 - Avenger 7 - Large Scout |
+ | 2 - [[Avenger]] 7 - [[Large Scout]] |
− | 3 - Interceptor 8 - Harvester |
+ | 3 - [[Interceptor]] 8 - [[Harvester]] |
− | 4 - Firestorm 9 - Abductor |
+ | 4 - [[Firestorm]] 9 - [[Abductor]] |
− | 10 - Terror Ship |
+ | 10 - [[Terror Ship]] |
− | 11 - Battleship |
+ | 11 - [[Battleship]] |
− | 12 - Supply Ship |
+ | 12 - [[Supply Ship]] |
+ | |- valign="top" |
||
− | |||
− | Offsets 1 and 5 refer to the weapon placed in the left and right slots respectively. (The Lightning does not have a center weapon type, only a left). Their possible values are listed here: |
+ | |colspan=3|Offsets 1 and 5 refer to the weapon placed in the left and right slots respectively. (The Lightning does not have a center weapon type, only a left). Their possible values are listed here: |
− | 0 - Stingray |
+ | 0 - [[Stingray]] |
− | 1 - Avalanche |
+ | 1 - [[Avalanche]] |
− | 2 - Cannon |
+ | 2 - [[Cannon]] |
− | 3 - Fusion Ball |
+ | 3 - [[Fusion Ball]] |
− | 4 - Laser Cannon |
+ | 4 - [[Laser Cannon]] |
− | 5 - Plasma |
+ | 5 - [[Plasma Beam]] |
255 - No Weapon |
255 - No Weapon |
||
+ | |- valign="top" |
||
− | |||
+ | !<span id="1"></span>1 |
||
− | * '''1 (1 Byte)''' - Left Weapon Type |
||
+ | !<span id="0x01"></span>0x01 |
||
− | * '''2-3 (2 Bytes)''' - Left Ammo* |
||
+ | |Left weapon type |
||
− | * '''4 (1 Byte)''' - Indicates what a craft is doing. |
||
+ | |- valign="top" |
||
− | 0 - At base |
||
+ | !<span id="2-3"></span>2-3 |
||
− | 1 - Airborne |
||
+ | !<span id="0x02-0x03"></span>0x02-0x03 |
||
− | 2 - UFO's normally get this value, have no idea what it represents. |
||
+ | |Left ammo |
||
− | |||
+ | |- valign="top" |
||
− | * '''5 (1 Byte)''' - Right Weapon Type |
||
+ | !<span id="4"></span>4 |
||
− | * '''6-7 (2 Bytes)''' - Right Ammo* |
||
+ | !<span id="0x04"></span>0x04 |
||
− | <small>('''*NOTE''': Ammo values normally do not exceed 100, but since the variable is stored as 2 bytes you can crank the total up to 32,767).</small> |
||
+ | |Indicates flight mode |
||
− | |||
+ | 0 - No destination set [at base] |
||
− | * '''8-9 (2 Bytes)''' - Unknown, probably 2 bytes. |
||
+ | 1 - Single destination |
||
− | * '''10-11 (2 Bytes)''' - Damage, that is the amount it currently has taken. This value divided by the crafts damage capacity gives the percentage shown in-game. |
||
+ | 2 - Multiple destinations determined randomly by in-game routine [UFO only] |
||
− | * '''12-13 (2 Bytes)''' - Altitude of craft. Is a index within [[ENGLISH.DAT]] for string. |
||
+ | |- valign="top" |
||
+ | !<span id="5"></span>5 |
||
+ | !<span id="0x05"></span>0x05 |
||
+ | |Right weapon type |
||
+ | |- valign="top" |
||
+ | !<span id="6-7"></span>6-7 |
||
+ | !<span id="0x06-0x07"></span>0x06-0x07 |
||
+ | |Right ammo |
||
+ | |- valign="top" |
||
+ | !<span id="8-9"></span>8-9 |
||
+ | !<span id="0x08-0x09"></span>0x08-0x09 |
||
+ | |Unused. |
||
+ | |- valign="top" |
||
+ | !<span id="10-11"></span>1011 |
||
+ | !<span id="0x0A-0x0B"></span>0x0A-0x0B |
||
+ | |Damage, that is the amount it currently has taken. This value divided by the crafts damage capacity gives the percentage shown in-game. |
||
+ | |- valign="top" |
||
+ | !<span id="12-13"></span>12-13 |
||
+ | !<span id="0x0C-0x0D"></span>0x0C-0x0D |
||
+ | |Altitude of craft. Is a index within [[ENGLISH.DAT]] for string. |
||
0 = GROUND * |
0 = GROUND * |
||
1 = VERY LOW |
1 = VERY LOW |
||
Line 43: | Line 74: | ||
3 = HIGH |
3 = HIGH |
||
4 = VERY HIGH |
4 = VERY HIGH |
||
− | 5 = Detected |
||
− | 6 = SIZE |
||
− | etc |
||
<small>('''*NOTE''': If craft is airborne and you change it to this value the altitude will remain the same. Speed must be edited to 0 for the change to hold.)</small> |
<small>('''*NOTE''': If craft is airborne and you change it to this value the altitude will remain the same. Speed must be edited to 0 for the change to hold.)</small> |
||
+ | |- valign="top" |
||
− | * '''14-15 (2 Bytes)''' - Speed of craft. |
||
+ | !<span id="14-15"></span>14-15 |
||
− | * '''16-17 (2 Bytes)''' - Unknown, but when an intercept screen is minimized, this changes to a value of 6. |
||
+ | !<span id="0x0E-0x0F"></span>0x0E-0x0F |
||
− | * '''18-19 (2 Bytes)''' - Unknown |
||
+ | |Speed of craft. |
||
− | * '''20-21 (2 Bytes)''' - Unknown |
||
+ | |- valign="top" |
||
− | * '''22-23 (2 Bytes)''' - Unknown |
||
+ | !<span id="16-17"></span>16-17 |
||
− | * '''24-25 (2 Bytes)''' - Fuel, amount remaining. This value divided by the crafts total fuel capacity gives the percentage shown in-game. |
||
+ | !<span id="0x10-0x11"></span>0x10-0x11 |
||
− | * '''26 (1 Byte?)''' - Base Reference as an index to [[LOC.DAT]] |
||
+ | |Index into [[LOC.DAT]] referencing the destination - for example, waypoints for X-COM craft, or X-COM bases for alien craft. |
||
− | * '''27 (1 Byte?)''' - Probably the high bit for the LOC.DAT index |
||
+ | |- valign="top" |
||
− | * '''28-29 (2 Bytes)''' - Mission type craft is on. Is an index within ENGLISH.DAT for string. |
||
+ | !<span id="18-19"></span>18-19 |
||
+ | !<span id="0x12-0x13"></span>0x12-0x13 |
||
+ | |Index into [[INTER.DAT]] when the ship is in interception mode. |
||
+ | |- valign="top" |
||
+ | !<span id="20-21"></span>20-21 |
||
+ | !<span id="0x14-0x15"></span>0x14-0x15 |
||
+ | |Next UFO waypoint coordinate X (longitude). |
||
+ | |- valign="top" |
||
+ | !<span id="22-23"></span>22-23 |
||
+ | !<span id="0x16-0x17"></span>0x16-0x17 |
||
+ | |Next UFO waypoint coordinate Y (latitude). |
||
+ | |- valign="top" |
||
+ | !<span id="24-25"></span>24-25 |
||
+ | !<span id="0x18-0x19"></span>0x18-0x19 |
||
+ | |Fuel, amount remaining. This value divided by the crafts total fuel capacity gives the percentage shown in-game. |
||
+ | |- valign="top" |
||
+ | !<span id="26-27"></span>26-27 |
||
+ | !<span id="0x1A-0x1B"></span>0x1A-0x1B |
||
+ | |Base reference as an index to [[LOC.DAT]]. |
||
+ | |- valign="top" |
||
+ | !<span id="28-29"></span>28-29 |
||
+ | !<span id="0x1C-0x1D"></span>0x1C-0x1D |
||
+ | |Mission type craft is on. Is an index within [[ENGLISH.DAT]] for the string (558 + this value). |
||
0 = Alien Research |
0 = Alien Research |
||
1 = Alien Harvest |
1 = Alien Harvest |
||
Line 64: | Line 115: | ||
6 = Alien Retaliation |
6 = Alien Retaliation |
||
7 = Alien Supply |
7 = Alien Supply |
||
+ | |- valign="top" |
||
− | 8 = Pistol |
||
+ | !<span id="30-31"></span>30-31 |
||
− | etc |
||
+ | !<span id="0x1E-0x1F"></span>0x1E-0x1F |
||
− | * '''30-31 (2 Bytes)''' - Zone where mission is being carried out. Is an index within ENGLISH.DAT for string. |
||
+ | |Zone where mission is being carried out. Is an index within [[ENGLISH.DAT]] for string (543 + this value). |
||
0 = North America |
0 = North America |
||
1 = Arctic |
1 = Arctic |
||
Line 79: | Line 131: | ||
10 = Australasia |
10 = Australasia |
||
11 = Pacific |
11 = Pacific |
||
− | 12 = North Atlantic |
+ | 12 = North Atlantic * |
13 = South Atlantic * |
13 = South Atlantic * |
||
14 = Indian Ocean * |
14 = Indian Ocean * |
||
<small>('''*NOTE''': Unused zones.)</small> |
<small>('''*NOTE''': Unused zones.)</small> |
||
+ | |- valign="top" |
||
− | * '''32-33 (2 Bytes)''' - Unknown - Related to UFO's only. |
||
+ | !<span id="32-33"></span>32-33 |
||
− | * '''34-35 (2 Bytes)''' - Unknown - Related to UFO's only. |
||
+ | !<span id="0x20-0x21"></span>0x20-0x21 |
||
− | * '''36-37 (2 Bytes)''' - Alien Race found on craft. Is index within ENGLISH.DAT for string. |
||
+ | |UFO trajectory segment (ranges from 0-7). |
||
− | 0 = Sectoid |
||
+ | |- valign="top" |
||
− | 1 = Snakeman |
||
+ | !<span id="34-35"></span>34-35 |
||
− | 2 = Ethereal |
||
+ | !<span id="0x22-0x23"></span>0x22-0x23 |
||
− | 3 = Muton |
||
+ | |UFO trajectory type (ranges from 0-9). |
||
− | 4 = Floater |
||
+ | |- valign="top" |
||
− | 5 = Celatid<sup>1</sup> |
||
+ | !<span id="36-37"></span>36-37 |
||
− | 6 = Silacoid<sup>2</sup> |
||
+ | !<span id="0x24-0x25"></span>0x24-0x25 |
||
− | 7 = Chryssalid |
||
+ | |Alien Race found on craft. Is index within [[ENGLISH.DAT]] for the string (466 + this value). |
||
− | 8 = Reaper |
||
+ | '''UFO''' '''TFTD''' |
||
− | 9 = Sectopod |
||
+ | 0 = [[Sectoid]] [[Aquatoid]] |
||
− | 10 = Cyberdisc |
||
+ | 1 = [[Snakeman]] [[Gillman]] |
||
− | <sup>1</sup> Editing Celatids as a main race works and sometimes a Silacoid shows up as well.<br> |
||
+ | 2 = [[Ethereal]] [[Lobsterman]] |
||
− | <sup>2</sup> Values 6 or greater produce unpredictable results. Usually the mission crashes (probably due to rank problems) but when it doesn't there are strange issues. |
||
+ | 3 = [[Muton]] [[Tasoth]] |
||
− | * '''38-39 (2 Bytes)''' - Unknown |
||
+ | 4 = [[Floater]] [[Mixed Crew]] (Type I) |
||
− | * '''40-41 (2 Bytes)''' - Unknown |
||
+ | 5 = Final mission mix [[Mixed Crew]] (Type II) |
||
− | * '''42-43 (2 Bytes)''' - Craft status. Is an index within ENGLISH.DAT for string. |
||
+ | |- valign="top" |
||
+ | !<span id="38-39"></span>38-39 |
||
+ | !<span id="0x26-0x27"></span>0x26-0x27 |
||
+ | |UFO attack timer. |
||
+ | |- valign="top" |
||
+ | !<span id="40-41"></span>40-41 |
||
+ | !<span id="0x28-0x29"></span>0x28-0x29 |
||
+ | |UFO escape manuever timer. |
||
+ | |- valign="top" |
||
+ | !<span id="42-43"></span>42-43 |
||
+ | !<span id="0x2A-0x2B"></span>0x2A-0x2B |
||
+ | |Craft status. Is an index within [[ENGLISH.DAT]] for the string (268 + this value). |
||
0 - Ready |
0 - Ready |
||
1 - Out |
1 - Out |
||
Line 107: | Line 171: | ||
3 - Refueling |
3 - Refueling |
||
4 - Re-arming |
4 - Re-arming |
||
+ | |- valign="top" |
||
− | |||
− | The rest of the known values detail the items on board of the craft. 49-98 refer to offsets 0-49 in [[OBDATA.DAT]]. |
+ | |colspan=3|The rest of the known values detail the items on board of the craft. 49-98 refer to offsets 0-49 in [[OBDATA.DAT]]. |
+ | |- valign="top" |
||
− | * '''44 (1 Byte)''' - Tank/Cannon |
||
+ | !<span id="44"></span>44 |
||
− | * '''45 (1 Byte)''' - Tank/Rocket Launcher |
||
+ | !<span id="0x2C"></span>0x2C |
||
− | * '''46 (1 Byte)''' - Tank/Laser Cannon |
||
+ | |Tank/Cannon |
||
− | * '''47 (1 Byte)''' - Hover Tank/Plasma |
||
+ | |- valign="top" |
||
− | * '''48 (1 Byte)''' - Hover Tank/Launcher |
||
+ | !<span id="45"></span>45 |
||
− | * '''49 (1 Byte)''' - PISTOL |
||
+ | !<span id="0x2D"></span>0x2D |
||
− | * '''50 (1 Byte)''' - PISTOL CLIP |
||
+ | |Tank/Rocket Launcher |
||
− | * '''51 (1 Byte)''' - RIFLE |
||
+ | |- valign="top" |
||
− | * '''52 (1 Byte)''' - RIFLE CLIP |
||
+ | !<span id="46"></span>46 |
||
− | * '''53 (1 Byte)''' - HEAVY CANNON |
||
+ | !<span id="0x2E"></span>0x2E |
||
− | * '''54 (1 Byte)''' - CANNON AP-AMMO |
||
+ | |Tank/Laser Cannon |
||
− | * '''55 (1 Byte)''' - CANNON HE-AMMO |
||
+ | |- valign="top" |
||
− | * '''56 (1 Byte)''' - CANNON I-AMMO |
||
+ | !<span id="47"></span>47 |
||
− | * '''57 (1 Byte)''' - AUTO-CANNON |
||
+ | !<span id="0x2F"></span>0x2F |
||
− | * '''58 (1 Byte)''' - AUTO-CANNON AP-AMMO |
||
+ | |Hover Tank/Plasma |
||
− | * '''59 (1 Byte)''' - AUTO-CANNON HE-AMMO |
||
+ | |- valign="top" |
||
− | * '''60 (1 Byte)''' - AUTO-CANNON I-AMMO |
||
+ | !<span id="48"></span>48 |
||
− | * '''61 (1 Byte)''' - ROCKET LAUNCHER |
||
+ | !<span id="0x30"></span>0x30 |
||
− | * '''62 (1 Byte)''' - SMALL ROCKET |
||
+ | |Hover Tank/Launcher |
||
− | * '''63 (1 Byte)''' - LARGE ROCKET |
||
+ | |- valign="top" |
||
− | * '''64 (1 Byte)''' - INCENDIARY ROCKET |
||
+ | !<span id="49"></span>49 |
||
− | * '''65 (1 Byte)''' - LASER PISTOL |
||
+ | !<span id="0x31"></span>0x31 |
||
− | * '''66 (1 Byte)''' - LASER GUN |
||
+ | |PISTOL |
||
− | * '''67 (1 Byte)''' - HEAVY LASER |
||
+ | |- valign="top" |
||
− | * '''68 (1 Byte)''' - GRENADE |
||
+ | !<span id="50"></span>50 |
||
− | * '''69 (1 Byte)''' - SMOKE GRENADE |
||
+ | !<span id="0x32"></span>0x32 |
||
− | * '''70 (1 Byte)''' - PROXIMITY GRENADE |
||
+ | |PISTOL CLIP |
||
− | * '''71 (1 Byte)''' - HIGH EXPLOSIVE |
||
+ | |- valign="top" |
||
− | * '''72 (1 Byte)''' - MOTION SCANNER |
||
+ | !<span id="51"></span>51 |
||
− | * '''73 (1 Byte)''' - MEDI-KIT |
||
+ | !<span id="0x33"></span>0x33 |
||
− | * '''74 (1 Byte)''' - PSI-AMP |
||
+ | |RIFLE |
||
− | * '''75 (1 Byte)''' - STUN ROD |
||
+ | |- valign="top" |
||
− | * '''76 (1 Byte)''' - Flare |
||
+ | !<span id="52"></span>52 |
||
− | * '''77 (1 Byte)''' - empty |
||
+ | !<span id="0x34"></span>0x34 |
||
− | * '''78 (1 Byte)''' - empty |
||
+ | |RIFLE CLIP |
||
− | * '''79 (1 Byte)''' - empty |
||
+ | |- valign="top" |
||
− | * '''80 (1 Byte)''' - CORPSE |
||
+ | !<span id="53"></span>53 |
||
− | * '''81 (1 Byte)''' - CORPSE & ARMOUR |
||
+ | !<span id="0x35"></span>0x35 |
||
− | * '''82 (1 Byte)''' - CORPSE & POWER SUIT |
||
+ | |HEAVY CANNON |
||
− | * '''83 (1 Byte)''' - Heavy Plasma |
||
+ | |- valign="top" |
||
− | * '''84 (1 Byte)''' - Heavy Plasma Clip |
||
+ | !<span id="54"></span>54 |
||
− | * '''85 (1 Byte)''' - Plasma Rifle |
||
+ | !<span id="0x36"></span>0x36 |
||
− | * '''86 (1 Byte)''' - Plasma Rifle Clip |
||
+ | |CANNON AP-AMMO |
||
− | * '''87 (1 Byte)''' - Plasma Pistol |
||
+ | |- valign="top" |
||
− | * '''88 (1 Byte)''' - Plasma Pistol Clip |
||
+ | !<span id="55"></span>55 |
||
− | * '''89 (1 Byte)''' - BLASTER LAUNCHER |
||
+ | !<span id="0x37"></span>0x37 |
||
− | * '''90 (1 Byte)''' - BLASTER BOMB |
||
+ | |CANNON HE-AMMO |
||
− | * '''91 (1 Byte)''' - SMALL LAUNCHER |
||
+ | |- valign="top" |
||
− | * '''92 (1 Byte)''' - STUN MISSILE |
||
+ | !<span id="56"></span>56 |
||
− | * '''93 (1 Byte)''' - ALIEN GRENADE |
||
+ | !<span id="0x38"></span>0x38 |
||
− | * '''94 (1 Byte)''' - ELERIUM-115 |
||
+ | |CANNON I-AMMO |
||
− | * '''95 (1 Byte)''' - MIND PROBE |
||
+ | |- valign="top" |
||
− | * '''96 (1 Byte)''' - >>UNDEFINED << |
||
+ | !<span id="57"></span>57 |
||
− | * '''97 (1 Byte)''' - >> empty << |
||
+ | !<span id="0x39"></span>0x39 |
||
− | * '''98 (1 Byte)''' - >> empty << |
||
+ | |AUTO-CANNON |
||
− | * Offsets 99-103 are unknown |
||
+ | |- valign="top" |
||
− | |||
+ | !<span id="58"></span>58 |
||
− | ==TFTD Structure== |
||
+ | !<span id="0x3A"></span>0x3A |
||
− | There are 50 records each having 110 bytes long for a file size of 5,500 bytes. Unless otherwise noted, all values and offsets are in Hex; 2-byte values are signed little-endian integers. |
||
+ | |AUTO-CANNON AP-AMMO |
||
− | |||
+ | |- valign="top" |
||
− | * '''0''' - Craft Type, Possible Values are the same as [[GEODATA.DAT]]: |
||
+ | !<span id="59"></span>59 |
||
− | {| {{stdTable}} |
||
+ | !<span id="0x3B"></span>0x3B |
||
− | ! Human !! Alien |
||
+ | |AUTO-CANNON HE-AMMO |
||
− | |- |
||
+ | |- valign="top" |
||
− | | 0 - Triton || 5 - Survey Ship |
||
+ | !<span id="60"></span>60 |
||
− | |- |
||
+ | !<span id="0x3C"></span>0x3C |
||
− | | 1 - Hammerhead || 6 - Escort |
||
+ | |AUTO-CANNON I-AMMO |
||
− | |- |
||
+ | |- valign="top" |
||
− | | 2 - Leviathan || 7 - Cruiser |
||
+ | !<span id="61"></span>61 |
||
− | |- |
||
+ | !<span id="0x3D"></span>0x3D |
||
− | | 3 - Barracuda || 8 - Heavy Cruiser |
||
+ | |ROCKET LAUNCHER |
||
− | |- |
||
+ | |- valign="top" |
||
− | | 4 - Manta || 9 - Hunter |
||
+ | !<span id="62"></span>62 |
||
− | |- |
||
+ | !<span id="0x3E"></span>0x3E |
||
− | | || A - Battleship |
||
+ | |SMALL ROCKET |
||
− | |- |
||
+ | |- valign="top" |
||
− | | || B - Dreadnought |
||
+ | !<span id="63"></span>63 |
||
− | |- |
||
+ | !<span id="0x3F"></span>0x3F |
||
− | | || C - Fleet Supply Cruiser |
||
+ | |LARGE ROCKET |
||
+ | |- valign="top" |
||
+ | !<span id="64"></span>64 |
||
+ | !<span id="0x40"></span>0x40 |
||
+ | |INCENDIARY ROCKET |
||
+ | |- valign="top" |
||
+ | !<span id="65"></span>65 |
||
+ | !<span id="0x41"></span>0x41 |
||
+ | |LASER PISTOL |
||
+ | |- valign="top" |
||
+ | !<span id="66"></span>66 |
||
+ | !<span id="0x42"></span>0x42 |
||
+ | |LASER GUN |
||
+ | |- valign="top" |
||
+ | !<span id="67"></span>67 |
||
+ | !<span id="0x43"></span>0x43 |
||
+ | |HEAVY LASER |
||
+ | |- valign="top" |
||
+ | !<span id="68"></span>68 |
||
+ | !<span id="0x44"></span>0x44 |
||
+ | |GRENADE |
||
+ | |- valign="top" |
||
+ | !<span id="69"></span>69 |
||
+ | !<span id="0x45"></span>0x45 |
||
+ | |SMOKE GRENADE |
||
+ | |- valign="top" |
||
+ | !<span id="70"></span>70 |
||
+ | !<span id="0x46"></span>0x46 |
||
+ | |PROXIMITY GRENADE |
||
+ | |- valign="top" |
||
+ | !<span id="71"></span>71 |
||
+ | !<span id="0x47"></span>0x47 |
||
+ | |HIGH EXPLOSIVE |
||
+ | |- valign="top" |
||
+ | !<span id="72"></span>72 |
||
+ | !<span id="0x48"></span>0x48 |
||
+ | |MOTION SCANNER |
||
+ | |- valign="top" |
||
+ | !<span id="73"></span>73 |
||
+ | !<span id="0x49"></span>0x49 |
||
+ | |MEDI-KIT |
||
+ | |- valign="top" |
||
+ | !<span id="74"></span>74 |
||
+ | !<span id="0x4A"></span>0x4A |
||
+ | |PSI-AMP |
||
+ | |- valign="top" |
||
+ | !<span id="75"></span>75 |
||
+ | !<span id="0x4B"></span>0x4B |
||
+ | |STUN ROD |
||
+ | |- valign="top" |
||
+ | !<span id="76"></span>76 |
||
+ | !<span id="0x4C"></span>0x4C |
||
+ | |Flare |
||
+ | |- valign="top" |
||
+ | !<span id="77"></span>77 |
||
+ | !<span id="0x4D"></span>0x4D |
||
+ | |empty |
||
+ | |- valign="top" |
||
+ | !<span id="78"></span>78 |
||
+ | !<span id="0x4E"></span>0x4E |
||
+ | |empty |
||
+ | |- valign="top" |
||
+ | !<span id="79"></span>79 |
||
+ | !<span id="0x4F"></span>0x4F |
||
+ | |empty |
||
+ | |- valign="top" |
||
+ | !<span id="80"></span>80 |
||
+ | !<span id="0x50"></span>0x50 |
||
+ | |CORPSE |
||
+ | |- valign="top" |
||
+ | !<span id="81"></span>81 |
||
+ | !<span id="0x51"></span>0x51 |
||
+ | |CORPSE & ARMOUR |
||
+ | |- valign="top" |
||
+ | !<span id="82"></span>82 |
||
+ | !<span id="0x52"></span>0x52 |
||
+ | |CORPSE & POWER SUIT |
||
+ | |- valign="top" |
||
+ | !<span id="83"></span>83 |
||
+ | !<span id="0x53"></span>0x53 |
||
+ | |Heavy Plasma |
||
+ | |- valign="top" |
||
+ | !<span id="84"></span>84 |
||
+ | !<span id="0x54"></span>0x54 |
||
+ | |Heavy Plasma Clip |
||
+ | |- valign="top" |
||
+ | !<span id="85"></span>85 |
||
+ | !<span id="0x55"></span>0x55 |
||
+ | |Plasma Rifle |
||
+ | |- valign="top" |
||
+ | !<span id="86"></span>86 |
||
+ | !<span id="0x56"></span>0x56 |
||
+ | |Plasma Rifle Clip |
||
+ | |- valign="top" |
||
+ | !<span id="87"></span>87 |
||
+ | !<span id="0x57"></span>0x57 |
||
+ | |Plasma Pistol |
||
+ | |- valign="top" |
||
+ | !<span id="88"></span>88 |
||
+ | !<span id="0x58"></span>0x58 |
||
+ | |Plasma Pistol Clip |
||
+ | |- valign="top" |
||
+ | !<span id="89"></span>89 |
||
+ | !<span id="0x59"></span>0x59 |
||
+ | |BLASTER LAUNCHER |
||
+ | |- valign="top" |
||
+ | !<span id="90"></span>90 |
||
+ | !<span id="0x5A"></span>0x5A |
||
+ | |BLASTER BOMB |
||
+ | |- valign="top" |
||
+ | !<span id="91"></span>91 |
||
+ | !<span id="0x5B"></span>0x5B |
||
+ | |SMALL LAUNCHER |
||
+ | |- valign="top" |
||
+ | !<span id="92"></span>92 |
||
+ | !<span id="0x5C"></span>0x5C |
||
+ | |STUN MISSILE |
||
+ | |- valign="top" |
||
+ | !<span id="93"></span>93 |
||
+ | !<span id="0x5D"></span>0x5D |
||
+ | |ALIEN GRENADE |
||
+ | |- valign="top" |
||
+ | !<span id="94"></span>94 |
||
+ | !<span id="0x5E"></span>0x5E |
||
+ | |ELERIUM-115 |
||
+ | |- valign="top" |
||
+ | !<span id="95"></span>95 |
||
+ | !<span id="0x5F"></span>0x5F |
||
+ | |MIND PROBE |
||
+ | |- valign="top" |
||
+ | !<span id="96"></span>96 |
||
+ | !<span id="0x60"></span>0x60 |
||
+ | |>>UNDEFINED << |
||
+ | |- valign="top" |
||
+ | !<span id="97"></span>97 |
||
+ | !<span id="0x61"></span>0x61 |
||
+ | |>> empty << |
||
+ | |- valign="top" |
||
+ | !<span id="98"></span>98 |
||
+ | !<span id="0x62"></span>0x62 |
||
+ | |>> empty << |
||
+ | |- valign="top" |
||
+ | !<span id="99"></span>99 |
||
+ | !<span id="0x63"></span>0x63 |
||
+ | |No known use for this offset. |
||
+ | |- valign="top" |
||
+ | !<span id="100-103"></span>100-103 |
||
+ | !<span id="0x64-0x67"></span>0x64-0x67 |
||
+ | |Bitfield (only 1st byte is used): |
||
+ | bit 0 (1): Craft is in hangar (0=craft's been flew away) |
||
+ | bit 1 (2): Want to go home (set after mission or when out of fuel), blocks craft |
||
+ | from re-targeting |
||
+ | bit 2 (4): [runtime] Out of elerium (0=fueled) |
||
+ | bit 3 (8): [runtime] Out of left ammo (0=left weapon rearmed) |
||
+ | bit 4 (16): [runtime] Out of right ammo (0=right weapon rearmed) |
||
+ | bit 5 (32): [runtime] Flag of processed UFO in interception window, to avoid |
||
+ | multiple escape/attack timers decrementing in case when UFO is |
||
+ | pursued in more than 1 window at once. |
||
+ | bit 6 (64): Hyperwaved extra info |
||
|- |
|- |
||
− | | colspan="2" align="center" | FF - Entry Not Used |
||
|} |
|} |
||
− | |||
− | Offsets 1 and 5 refer to the weapon placed in the left and right slots respectively. (The Hammerhead does not have a center weapon type, only a left). Their possible values are listed here: |
||
− | 0 - Ajax Launcher |
||
− | 1 - D.U.P. Head Launcher |
||
− | 2 - Craft Gas Cannon |
||
− | 3 - P.W.T. Cannon |
||
− | 4 - Gauss Cannon |
||
− | 5 - Sonic Wave |
||
− | FF - No Weapon |
||
− | * '''1''' - Left Weapon Type |
||
− | * '''2-3''' - Left Ammo Quantity <small>('''NOTE''': Ammo values normally do not exceed 100, but since the variable is stored as 2 bytes you can crank the total up to 32,767).</small> |
||
− | * '''4''' - Indicates what a craft is doing. |
||
− | 0 - At base |
||
− | 1 - Airborne |
||
− | 2 - USOs normally get this value, have no idea what it represents. |
||
− | * '''5''' - Right Weapon Type |
||
− | * '''6-3C''' - Items on sub. |
||
− | 6 - Coelacanth/G. Cannon |
||
− | 7 - Coelacanth/Aqua Jet |
||
− | 8 - Coelacanth/Gauss |
||
− | 9 - Displacer /Sonic |
||
− | A - Displacer /P.W.T. |
||
− | B - Dart Gun |
||
− | C - Dart Clip |
||
− | D - Jet Harpoon |
||
− | E - Harpoon Clip |
||
− | F - Gas Cannon |
||
− | 10 - GC-AP Bolts |
||
− | 11 - GC-HE Bolts |
||
− | 12 - GC-Phosphorous Bolts |
||
− | 13 - Hydro-Jet Cannon |
||
− | 14 - HJ-AP Ammo |
||
− | 15 - HJ-HE Ammo |
||
− | 16 - HJ-P Ammo |
||
− | 17 - Torpedo Launcher |
||
− | 18 - Small Torpedo |
||
− | 19 - Large Torpedo |
||
− | 1A - Phosphor Torpedo |
||
− | 1B - Gauss Pistol |
||
− | 1C - Gauss Rifle |
||
− | 1D - Heavy Gauss |
||
− | 1E - Magna-Blast Grenade |
||
− | 1F - Dye Grenade |
||
− | 20 - Particle Disturbance Grenade |
||
− | 21 - Magna-Pack Explosive |
||
− | 22 - Particle Disturbance Sensor |
||
− | 23 - Medi-Kit |
||
− | 24 - M.C. Disruptor |
||
− | 25 - Thermal Tazer |
||
− | 26 - Chemical Flare |
||
− | 27 - Vibro Blade |
||
− | 28 - Thermic Lance |
||
− | 29 - Heavy Thermic Lance |
||
− | 2A - ''(Unused)'' |
||
− | 2B - ''(Unused)'' |
||
− | 2C - ''(Unused)'' |
||
− | 2D - Sonic Cannon |
||
− | 2E - Cannon Power Clip |
||
− | 2F - Sonic-Blasta Rifle |
||
− | 30 - Blasta Power Clip |
||
− | 31 - Sonic Pistol |
||
− | 32 - Pistol Power Clip |
||
− | 33 - Disruptor Pulse Launcher |
||
− | 34 - Disruptor Ammo |
||
− | 35 - Thermal Shok Launcher |
||
− | 36 - Thermal Shok Bomb |
||
− | 37 - Sonic Pulser |
||
− | 38 - ''(Unused)'' |
||
− | 39 - M.C. Reader |
||
− | 3A - Gauss Pistol Clip |
||
− | 3B - Gauss Rifle Clip |
||
− | 3C - Heavy Gauss Clip |
||
− | * '''3D''' - Unknown. |
||
− | * '''3E-3F''' - Right Ammo Quantity <small>('''NOTE''': Ammo values normally do not exceed 100, but since the variable is stored as 2 bytes you can crank the total up to 32,767).</small> |
||
− | * '''40-41''' - Unknown. |
||
− | * '''42-43''' - Damage, that is the amount it currently has taken. This value divided by the craft's damage capacity gives the percentage shown in-game. |
||
− | * '''44-45''' - Depth of craft. |
||
− | 0 - Touched Down * |
||
− | 1 - Shallow |
||
− | 2 - Normal |
||
− | 3 - Deep |
||
− | 4 - Very Deep |
||
− | <small>('''*NOTE''': If craft is moving and you change it to this value the depth will correct itself automatically. Speed must also be edited to 0 for the change in depth to hold.)</small> |
||
− | * '''46-47''' - Speed of craft. |
||
− | * '''48-49''' - Unknown - activity type? |
||
− | * '''4A-4B''' - Unknown - goes to 0 when tracking a target but not attacking. |
||
− | * '''4C-4D''' - Destination coordinates, horizontal. |
||
− | * '''4E-4F''' - Destination coordinates, vertical. |
||
− | * '''50-51''' - Fuel, amount remaining. This value divided by the crafts total fuel capacity gives the percentage shown in-game. |
||
− | * '''52-53''' - Base Reference as an index to [[LOC.DAT]] |
||
− | * '''54-55''' - Mission type craft is on. |
||
− | 0 - Alien Probe Mission |
||
− | 1 - Alien Interdiction |
||
− | 2 - Alien Resource Raid |
||
− | 3 - Alien Infiltration |
||
− | 4 - Alien Colony Expansion |
||
− | 5 - Alien Surface Attacks |
||
− | 6 - Floating Base Attack |
||
− | 7 - Colony Supply Missions |
||
− | * '''56-57''' - Zone where mission is being carried out. |
||
− | 0 - North Atlantic |
||
− | 1 - South Atlantic |
||
− | 2 - North Pacific |
||
− | 3 - South Pacific |
||
− | 4 - Mediterranean |
||
− | 5 - South China Sea |
||
− | 6 - Indian Ocean |
||
− | 7 - Sea of Japan |
||
− | 8 - North Sea |
||
− | 9 - Caribbean |
||
− | A - Antarctic |
||
− | B - Arctic |
||
− | C - Eurasia |
||
− | D - North America |
||
− | E - Africa |
||
− | * '''58-59''' - Unknown. |
||
− | * '''5A-5B''' - Unknown. |
||
− | * '''5C-5D''' - Primary Alien Race found on craft. |
||
− | 0 - Aquatoid |
||
− | 1 - Gill Man |
||
− | 2 - Lobster Man |
||
− | 3 - Tasoth |
||
− | 4+ - Mixed |
||
− | * '''5E-5F''' - Unknown. |
||
− | * '''60-61''' - Unknown. |
||
− | * '''62-63''' - Craft status. |
||
− | 0 - Ready |
||
− | 1 - Out |
||
− | 2 - Repairs |
||
− | 3 - Refueling |
||
− | 4 - Re-arming |
||
− | * '''64''' - Bit Flags. |
||
− | 40 - Show full Transmission Resolver data |
||
− | * '''65-67''' - Unknown - possibly 64 is actually a 4-byte value. |
||
− | * '''68-69''' - Touchdown depth (see entry at 44-45 for possible values). |
||
− | * '''6A-6D''' - Unknown. |
||
==See Also== |
==See Also== |
||
* [[LOC.DAT]] - For information on the position the craft are at |
* [[LOC.DAT]] - For information on the position the craft are at |
||
− | * [[GEODATA.DAT]] - Contains information about the craft(s) used in combat |
+ | * [[GEODATA.DAT]] - Contains information about the craft(s) when used as terrain objects in ground combat (Battlescape) |
+ | * [[Talk:GEOSCAPE.EXE#Craft_type_data]] Stats of XCom and UFO craft types |
||
* [http://www.stonepool.com/xcom/hacking/craft.html Hatfarm's website] where most, if not all of this information was gathered from |
* [http://www.stonepool.com/xcom/hacking/craft.html Hatfarm's website] where most, if not all of this information was gathered from |
||
+ | * [[CRAFT.DAT (TFTD)]] - Terror From The Deep's craft file |
||
* [[Saved Game Files]] |
* [[Saved Game Files]] |
||
[[Category:Game Files]] |
[[Category:Game Files]] |
||
+ | [[Category:Enemy Unknown/UFO Defense]] |
Latest revision as of 07:42, 10 April 2014
This file contains information specific to the crafts in the game. Both X-COM and Alien crafts (including hidden ones) are in this file, though the values for the alien craft are still shrouded in mystery.
Note that TFTD uses a different version of this file.
UFO Structure
There are 50 records each having 104 bytes long for a maximum file size of 5,200 bytes. All offsets and values are in decimal.
Offset (Decimal) |
Offset (Hex) |
Usage |
---|---|---|
0 | 0x00 | Craft type, Possible values are the same as GEODATA.DAT:
*HUMAN* *ALIEN* 0 - Skyranger 5 - Small Scout 255 - Entry Not Used 1 - Lightning 6 - Medium Scout 2 - Avenger 7 - Large Scout 3 - Interceptor 8 - Harvester 4 - Firestorm 9 - Abductor 10 - Terror Ship 11 - Battleship 12 - Supply Ship |
Offsets 1 and 5 refer to the weapon placed in the left and right slots respectively. (The Lightning does not have a center weapon type, only a left). Their possible values are listed here:
0 - Stingray 1 - Avalanche 2 - Cannon 3 - Fusion Ball 4 - Laser Cannon 5 - Plasma Beam 255 - No Weapon | ||
1 | 0x01 | Left weapon type |
2-3 | 0x02-0x03 | Left ammo |
4 | 0x04 | Indicates flight mode
0 - No destination set [at base] 1 - Single destination 2 - Multiple destinations determined randomly by in-game routine [UFO only] |
5 | 0x05 | Right weapon type |
6-7 | 0x06-0x07 | Right ammo |
8-9 | 0x08-0x09 | Unused. |
1011 | 0x0A-0x0B | Damage, that is the amount it currently has taken. This value divided by the crafts damage capacity gives the percentage shown in-game. |
12-13 | 0x0C-0x0D | Altitude of craft. Is a index within ENGLISH.DAT for string.
0 = GROUND * 1 = VERY LOW 2 = LOW 3 = HIGH 4 = VERY HIGH (*NOTE: If craft is airborne and you change it to this value the altitude will remain the same. Speed must be edited to 0 for the change to hold.) |
14-15 | 0x0E-0x0F | Speed of craft. |
16-17 | 0x10-0x11 | Index into LOC.DAT referencing the destination - for example, waypoints for X-COM craft, or X-COM bases for alien craft. |
18-19 | 0x12-0x13 | Index into INTER.DAT when the ship is in interception mode. |
20-21 | 0x14-0x15 | Next UFO waypoint coordinate X (longitude). |
22-23 | 0x16-0x17 | Next UFO waypoint coordinate Y (latitude). |
24-25 | 0x18-0x19 | Fuel, amount remaining. This value divided by the crafts total fuel capacity gives the percentage shown in-game. |
26-27 | 0x1A-0x1B | Base reference as an index to LOC.DAT. |
28-29 | 0x1C-0x1D | Mission type craft is on. Is an index within ENGLISH.DAT for the string (558 + this value).
0 = Alien Research 1 = Alien Harvest 2 = Alien Abduction 3 = Alien Infiltration 4 = Alien Base 5 = Alien Terror 6 = Alien Retaliation 7 = Alien Supply |
30-31 | 0x1E-0x1F | Zone where mission is being carried out. Is an index within ENGLISH.DAT for string (543 + this value).
0 = North America 1 = Arctic 2 = Antarctica 3 = South America 4 = Europe 5 = North Africa 6 = Southern Africa 7 = Central Asia 8 = South East Asia 9 = Siberia 10 = Australasia 11 = Pacific 12 = North Atlantic * 13 = South Atlantic * 14 = Indian Ocean * (*NOTE: Unused zones.) |
32-33 | 0x20-0x21 | UFO trajectory segment (ranges from 0-7). |
34-35 | 0x22-0x23 | UFO trajectory type (ranges from 0-9). |
36-37 | 0x24-0x25 | Alien Race found on craft. Is index within ENGLISH.DAT for the string (466 + this value).
UFO TFTD 0 = Sectoid Aquatoid 1 = Snakeman Gillman 2 = Ethereal Lobsterman 3 = Muton Tasoth 4 = Floater Mixed Crew (Type I) 5 = Final mission mix Mixed Crew (Type II) |
38-39 | 0x26-0x27 | UFO attack timer. |
40-41 | 0x28-0x29 | UFO escape manuever timer. |
42-43 | 0x2A-0x2B | Craft status. Is an index within ENGLISH.DAT for the string (268 + this value).
0 - Ready 1 - Out 2 - Repairs 3 - Refueling 4 - Re-arming |
The rest of the known values detail the items on board of the craft. 49-98 refer to offsets 0-49 in OBDATA.DAT. | ||
44 | 0x2C | Tank/Cannon |
45 | 0x2D | Tank/Rocket Launcher |
46 | 0x2E | Tank/Laser Cannon |
47 | 0x2F | Hover Tank/Plasma |
48 | 0x30 | Hover Tank/Launcher |
49 | 0x31 | PISTOL |
50 | 0x32 | PISTOL CLIP |
51 | 0x33 | RIFLE |
52 | 0x34 | RIFLE CLIP |
53 | 0x35 | HEAVY CANNON |
54 | 0x36 | CANNON AP-AMMO |
55 | 0x37 | CANNON HE-AMMO |
56 | 0x38 | CANNON I-AMMO |
57 | 0x39 | AUTO-CANNON |
58 | 0x3A | AUTO-CANNON AP-AMMO |
59 | 0x3B | AUTO-CANNON HE-AMMO |
60 | 0x3C | AUTO-CANNON I-AMMO |
61 | 0x3D | ROCKET LAUNCHER |
62 | 0x3E | SMALL ROCKET |
63 | 0x3F | LARGE ROCKET |
64 | 0x40 | INCENDIARY ROCKET |
65 | 0x41 | LASER PISTOL |
66 | 0x42 | LASER GUN |
67 | 0x43 | HEAVY LASER |
68 | 0x44 | GRENADE |
69 | 0x45 | SMOKE GRENADE |
70 | 0x46 | PROXIMITY GRENADE |
71 | 0x47 | HIGH EXPLOSIVE |
72 | 0x48 | MOTION SCANNER |
73 | 0x49 | MEDI-KIT |
74 | 0x4A | PSI-AMP |
75 | 0x4B | STUN ROD |
76 | 0x4C | Flare |
77 | 0x4D | empty |
78 | 0x4E | empty |
79 | 0x4F | empty |
80 | 0x50 | CORPSE |
81 | 0x51 | CORPSE & ARMOUR |
82 | 0x52 | CORPSE & POWER SUIT |
83 | 0x53 | Heavy Plasma |
84 | 0x54 | Heavy Plasma Clip |
85 | 0x55 | Plasma Rifle |
86 | 0x56 | Plasma Rifle Clip |
87 | 0x57 | Plasma Pistol |
88 | 0x58 | Plasma Pistol Clip |
89 | 0x59 | BLASTER LAUNCHER |
90 | 0x5A | BLASTER BOMB |
91 | 0x5B | SMALL LAUNCHER |
92 | 0x5C | STUN MISSILE |
93 | 0x5D | ALIEN GRENADE |
94 | 0x5E | ELERIUM-115 |
95 | 0x5F | MIND PROBE |
96 | 0x60 | >>UNDEFINED << |
97 | 0x61 | >> empty << |
98 | 0x62 | >> empty << |
99 | 0x63 | No known use for this offset. |
100-103 | 0x64-0x67 | Bitfield (only 1st byte is used):
bit 0 (1): Craft is in hangar (0=craft's been flew away) bit 1 (2): Want to go home (set after mission or when out of fuel), blocks craft from re-targeting bit 2 (4): [runtime] Out of elerium (0=fueled) bit 3 (8): [runtime] Out of left ammo (0=left weapon rearmed) bit 4 (16): [runtime] Out of right ammo (0=right weapon rearmed) bit 5 (32): [runtime] Flag of processed UFO in interception window, to avoid multiple escape/attack timers decrementing in case when UFO is pursued in more than 1 window at once. bit 6 (64): Hyperwaved extra info |
See Also
- LOC.DAT - For information on the position the craft are at
- GEODATA.DAT - Contains information about the craft(s) when used as terrain objects in ground combat (Battlescape)
- Talk:GEOSCAPE.EXE#Craft_type_data Stats of XCom and UFO craft types
- Hatfarm's website where most, if not all of this information was gathered from
- CRAFT.DAT (TFTD) - Terror From The Deep's craft file
- Saved Game Files