Difference between revisions of "CRAFT.DAT"
Jump to navigation
Jump to search
RobinHood70 (talk | contribs) (→TFTD Structure: More info added based on RE'd code) |
m (→UFO Structure) |
||
(25 intermediate revisions by 8 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] |
||
− | * Offsets 8 - 9 are 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 |
||
− | ''(Preliminary Save - currently being edited.)'' |
||
+ | |AUTO-CANNON AP-AMMO |
||
− | 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. |
||
+ | |- valign="top" |
||
− | |||
+ | !<span id="59"></span>59 |
||
− | * '''0''' - Craft Type, Possible Values are the same as [[GEODATA.DAT]]: |
||
+ | !<span id="0x3B"></span>0x3B |
||
− | {| {{stdtable}} |
||
+ | |AUTO-CANNON HE-AMMO |
||
− | ! Human !! Alien |
||
+ | |- valign="top" |
||
− | |- |
||
+ | !<span id="60"></span>60 |
||
− | | 0 - Triton || 5 - Survey Ship |
||
+ | !<span id="0x3C"></span>0x3C |
||
− | |- |
||
+ | |AUTO-CANNON I-AMMO |
||
− | | 1 - Hammerhead || 6 - Escort |
||
+ | |- valign="top" |
||
− | |- |
||
+ | !<span id="61"></span>61 |
||
− | | 2 - Leviathan || 7 - Cruiser |
||
+ | !<span id="0x3D"></span>0x3D |
||
− | |- |
||
+ | |ROCKET LAUNCHER |
||
− | | 3 - Barracuda || 8 - Heavy Cruiser |
||
+ | |- valign="top" |
||
− | |- |
||
+ | !<span id="62"></span>62 |
||
− | | 4 - Manta || 9 - Hunter |
||
+ | !<span id="0x3E"></span>0x3E |
||
− | |- |
||
+ | |SMALL ROCKET |
||
− | | || A - Battleship |
||
+ | |- valign="top" |
||
− | |- |
||
+ | !<span id="63"></span>63 |
||
− | | || B - Dreadnought |
||
+ | !<span id="0x3F"></span>0x3F |
||
− | |- |
||
+ | |LARGE ROCKET |
||
− | | || C - Fleet Supply Cruiser |
||
+ | |- 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 Manta 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* |
||
− | * '''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-7''' - Right Ammo* |
||
− | <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> |
||
− | |||
− | * '''8-41''' - Seems to be items on sub - needs to be verified and updated for TFTD. |
||
− | * '''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 |
||
− | * '''5C-5D''' - Primary Alien Race found on craft. |
||
− | 0 - Aquatoid |
||
− | 1 - Gill Man |
||
− | 2 - Lobster Man |
||
− | 3 - Tasoth |
||
− | 4+ - Mixed |
||
− | * '''62-63''' - Craft status. |
||
− | 0 - Ready |
||
− | 1 - Out |
||
− | 2 - Repairs |
||
− | 3 - Refueling |
||
− | 4 - Re-arming |
||
− | |||
− | * '''64''' - Bit Flags. |
||
− | 40 - Show full Transmission Resolver data |
||
− | |||
− | * '''68-69''' - Touchdown depth (see entry at 44-45 for possible values). |
||
− | |||
− | '''''(The following are mostly taken from the UFO version and new values have been inserted as appropriate, but the presence and location within CRAFT.DAT has not yet been determined in TFTD.)''''' |
||
==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