Jump to content

CRAFT.DAT: Difference between revisions

From UFOpaedia
Structure: Added a couple more entries due to recent tests.
Structure: Some more new info, byte breakdown for uknowns, linking.
Line 31: Line 31:
<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>
<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>


* Offsets 8 - 9 are unknown
* Offsets 8 - 9 are unknown (probably 2 Bytes).
* '''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.
* '''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.
* '''12-13 (2 Bytes)''' - Altitude of craft. Is a lookup within English.dat for string.
* '''12-13 (2 Bytes)''' - Altitude of craft. Is a index within [[ENGLISH.DAT]] for string.
  0 = GROUND *
  0 = GROUND *
  1 = VERY LOW
  1 = VERY LOW
Line 43: Line 43:
  etc
  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>
* '''14-15 (2 Bytes)''' - Speed of craft.  
* '''14-15 (2 Bytes)''' - Speed of craft.  
 
* '''16-17 (2 Bytes)''' - Unknown
* Offsets 16-23 are unknown
* '''18-19 (2 Bytes)''' - Unknown
* '''24-25 (2 bytes)''' - Fuel, amount remaining. This value divided by the crafts total fuel capacity gives the percentage shown in-game.
* '''20-21 (2 Bytes)''' - Unknown
* '''26 (1 Byte)''' - Base Reference as an index to [[LOC.DAT]]
* '''22-23 (2 Bytes)''' - Unknown
* Offsets 27-41 are unknown
* '''24-25 (2 Bytes)''' - Fuel, amount remaining. This value divided by the crafts total fuel capacity gives the percentage shown in-game.
* '''42 (1 Byte)''' - Status
* '''26 (1 Byte?)''' - Base Reference as an index to [[LOC.DAT]]
* '''27 (1 Byte?)''' - Probably the high bit for the LOC.DAT index
* '''28-29 (2 Bytes)''' - Mission type craft is on. Is an index within ENGLISH.DAT for string.
0 = Alien Research
1 = Alien Harvest
2 = Alien Abduction
3 = Alien Infiltration
4 = Alien Base
5 = Alien Terror
6 = Alien Retaliation
7 = Alien Supply
8 = Pistol
etc
* '''30-31 (2 Bytes)''' - Zone where mission is being carried out. Is an index within ENGLISH.DAT for string.
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 *
<small>('''*NOTE''': Unused zones.)</small>
* '''32-33 (2 Bytes)''' - Unknown
* '''34-35 (2 Bytes)''' - Unknown
* '''36-37 (2 Bytes)''' - Unknown
* '''38-39 (2 Bytes)''' - Unknown
* '''40-41 (2 Bytes)''' - Unknown
* '''42-43 (2 Bytes)''' - Craft status. Is an index within ENGLISH.DAT for string.
  0 - Ready
  0 - Ready
  1 - Out
  1 - Out
Line 56: Line 90:
  3 - Refueling
  3 - Refueling
  4 - Re-arming
  4 - Re-arming
* '''43 (1 Byte)''' - Unknown, NEED HELP
 
The rest of the known values detail the items on board of the craft. 49-98 refer to offsets 0-49 in [[OBDATA.DAT]].
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 (1 Byte)''' - Tank/Cannon
* '''44 (1 Byte)''' - Tank/Cannon

Revision as of 05:51, 23 September 2007

This file contains information specific to the crafts in the game. Both XCom and Alien crafts (including hidden ones) are in this file, though the values for the alien craft are still shrouded in mystery.

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.

  • 0 (1 Byte) - 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 Cannon
255 - No Weapon
  • 1 (1 Byte) - Left Weapon Type
  • 2-3 (2 Bytes) - Left Ammo*
  • 4 (1 Byte) - Unknown, NEED HELP
  • 5 (1 Byte) - Right Weapon Type
  • 6-7 (2 Bytes) - Right Ammo*

(*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).

  • Offsets 8 - 9 are unknown (probably 2 Bytes).
  • 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.
  • 12-13 (2 Bytes) - Altitude of craft. Is a index within ENGLISH.DAT for string.
0 = GROUND *
1 = VERY LOW
2 = LOW
3 = HIGH
4 = VERY HIGH
5 = Detected
6 = SIZE
etc

(*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 (2 Bytes) - Speed of craft.
  • 16-17 (2 Bytes) - Unknown
  • 18-19 (2 Bytes) - Unknown
  • 20-21 (2 Bytes) - Unknown
  • 22-23 (2 Bytes) - Unknown
  • 24-25 (2 Bytes) - Fuel, amount remaining. This value divided by the crafts total fuel capacity gives the percentage shown in-game.
  • 26 (1 Byte?) - Base Reference as an index to LOC.DAT
  • 27 (1 Byte?) - Probably the high bit for the LOC.DAT index
  • 28-29 (2 Bytes) - Mission type craft is on. Is an index within ENGLISH.DAT for string.
0 = Alien Research
1 = Alien Harvest
2 = Alien Abduction
3 = Alien Infiltration
4 = Alien Base
5 = Alien Terror
6 = Alien Retaliation
7 = Alien Supply
8 = Pistol
etc
  • 30-31 (2 Bytes) - Zone where mission is being carried out. Is an index within ENGLISH.DAT for string.
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 (2 Bytes) - Unknown
  • 34-35 (2 Bytes) - Unknown
  • 36-37 (2 Bytes) - Unknown
  • 38-39 (2 Bytes) - Unknown
  • 40-41 (2 Bytes) - Unknown
  • 42-43 (2 Bytes) - Craft status. Is an index within ENGLISH.DAT for string.
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 (1 Byte) - Tank/Cannon
  • 45 (1 Byte) - Tank/Rocket Launcher
  • 46 (1 Byte) - Tank/Laser Cannon
  • 47 (1 Byte) - Hover Tank/Plasma
  • 48 (1 Byte) - Hover Tank/Launcher
  • 49 (1 Byte) - PISTOL
  • 50 (1 Byte) - PISTOL CLIP
  • 51 (1 Byte) - RIFLE
  • 52 (1 Byte) - RIFLE CLIP
  • 53 (1 Byte) - HEAVY CANNON
  • 54 (1 Byte) - CANNON AP-AMMO
  • 55 (1 Byte) - CANNON HE-AMMO
  • 56 (1 Byte) - CANNON I-AMMO
  • 57 (1 Byte) - AUTO-CANNON
  • 58 (1 Byte) - AUTO-CANNON AP-AMMO
  • 59 (1 Byte) - AUTO-CANNON HE-AMMO
  • 60 (1 Byte) - AUTO-CANNON I-AMMO
  • 61 (1 Byte) - ROCKET LAUNCHER
  • 62 (1 Byte) - SMALL ROCKET
  • 63 (1 Byte) - LARGE ROCKET
  • 64 (1 Byte) - INCENDIARY ROCKET
  • 65 (1 Byte) - LASER PISTOL
  • 66 (1 Byte) - LASER GUN
  • 67 (1 Byte) - HEAVY LASER
  • 68 (1 Byte) - GRENADE
  • 69 (1 Byte) - SMOKE GRENADE
  • 70 (1 Byte) - PROXIMITY GRENADE
  • 71 (1 Byte) - HIGH EXPLOSIVE
  • 72 (1 Byte) - MOTION SCANNER
  • 73 (1 Byte) - MEDI-KIT
  • 74 (1 Byte) - PSI-AMP
  • 75 (1 Byte) - STUN ROD
  • 76 (1 Byte) - Flare
  • 77 (1 Byte) - empty
  • 78 (1 Byte) - empty
  • 79 (1 Byte) - empty
  • 80 (1 Byte) - CORPSE
  • 81 (1 Byte) - CORPSE & ARMOUR
  • 82 (1 Byte) - CORPSE & POWER SUIT
  • 83 (1 Byte) - Heavy Plasma
  • 84 (1 Byte) - Heavy Plasma Clip
  • 85 (1 Byte) - Plasma Rifle
  • 86 (1 Byte) - Plasma Rifle Clip
  • 87 (1 Byte) - Plasma Pistol
  • 88 (1 Byte) - Plasma Pistol Clip
  • 89 (1 Byte) - BLASTER LAUNCHER
  • 90 (1 Byte) - BLASTER BOMB
  • 91 (1 Byte) - SMALL LAUNCHER
  • 92 (1 Byte) - STUN MISSILE
  • 93 (1 Byte) - ALIEN GRENADE
  • 94 (1 Byte) - ELERIUM-115
  • 95 (1 Byte) - MIND PROBE
  • 96 (1 Byte) - >>UNDEFINED <<
  • 97 (1 Byte) - >> empty <<
  • 98 (1 Byte) - >> empty <<
  • Offsets 99-103 are unknown

See Also