GCD File Format

GCD files contain starting character profiles. They are used together with .BIO (biography) files to create premade characters.

In addition to the theme characters combat.gcd, stealth.gcd, and diplomat.gcd, there are three other files: demo.gcd, blank.gcd, and player.gcd.

Some of the derived stats from the file are not used but rather calculated by the engine instead.

All numeric fields are signed 32-bit integers stored in big-endian byte order. The file begins with the same CritterProtoData block used by critter PRO files: flags, 35 base stats, 35 bonus stats, 18 skill bonuses, body type, experience, kill type, and natural damage type. After that, GCD stores the 32-byte player name, four tagged skill indexes, two selected trait indexes, and remaining character points.

Structure

OffsetMeaningValues
**Game flags**
0x0Dude state flags. These are the status bits controlled by dudeEnableState and dudeDisableState. Known bits are 0x00000001 - sneaking, 0x00000008 - level-up available, and 0x00000010 - addicted. Poisoned and radiated are not stored here.Bitfield
**Primary stats**
0x4Strength (ST)0 to 10
0x8Perception (PE)0 to 10
0xCEndurance (EN)0 to 10
0x10Charisma (CH)0 to 10
0x14Intelligence (IN)0 to 10
0x18Agility (AG)0 to 10
0x1CLuck (LK)0 to 10
**Secondary stats**
0x20Hit Points= 15 + 2 * EN + ST
0x24Action Points= 5 + AG / 2
0x28Armor Class= AG
0x2CUnarmed Damage (this is not used by the game! Melee Damage stat is used instead.)-
0x30Melee Damage= ST - 5
0x34Carry Weight= 25 + 25 * ST
0x38Sequence= 2 * PE
0x3CHealing Rate= EN / 3 - This value will always be at least 1.
0x40Critical Chance= LK
0x44Better Criticals / critical hit modifier statUsually 0
0x48Damage Threshold - normal0 to 999
0x4CDamage Threshold - laser0 to 999
0x50Damage Threshold - fire0 to 999
0x54Damage Threshold - plasma0 to 999
0x58Damage Threshold - electrical0 to 999
0x5CDamage Threshold - EMP0 to 999
0x60Damage Threshold - explosive0 to 999
0x64Damage Resistance - normal0 to 100
0x68Damage Resistance - laser0 to 100
0x6CDamage Resistance - fire0 to 100
0x70Damage Resistance - plasma0 to 100
0x74Damage Resistance - electrical0 to 100
0x78Damage Resistance - EMP0 to 100
0x7CDamage Resistance - explosive0 to 100
0x80Radiation Resistance= 2 * EN
0x84Poison Resistance= 5 * EN
0x88Age16 to 99
0x8CGender1 - female, 0 - male
**Bonuses to primary stats**
0x90Bonus to strength0 to 10
0x94Bonus to perception0 to 10
0x98Bonus to endurance0 to 10
0x9CBonus to charisma0 to 10
0xA0Bonus to intelligence0 to 10
0xA4Bonus to agility0 to 10
0xA8Bonus to luck0 to 10
**Bonuses to secondary stats**
0xACBonus HP0 to 999
0xB0Bonus AP0 to 999
0xB4Bonus AC0 to 999
0xB8Bonus to unarmed damage (NOTE: this is not used by the game! Melee Damage stat is used instead.)-
0xBCBonus to melee damage0 to 999
0xC0Bonus to carry weight0 to 999
0xC4Bonus to sequence0 to 99
0xC8Bonus to healing rate0 to 99
0xCCBonus to critical chance0 to 100
0xD0Bonus to critical hit modifier0 to 100
0xD4Bonus to DT (normal)0 to 999
0xD8Bonus to DT (laser)0 to 999
0xDCBonus to DT (fire)0 to 999
0xE0Bonus to DT (plasma)0 to 999
0xE4Bonus to DT (electrical)0 to 999
0xE8Bonus to DT (EMP)0 to 999
0xECBonus to DT (explosive)0 to 999
0xF0Bonus to DR (normal)0 to 100
0xF4Bonus to DR (laser)0 to 100
0xF8Bonus to DR (fire)0 to 100
0xFCBonus to DR (plasma)0 to 100
0x100Bonus to DR (electrical)0 to 100
0x104Bonus to DR (EMP)0 to 100
0x108Bonus to DR (explosive)0 to 100
0x10CBonus to radiation resistance0 to 100
0x110Bonus to poison resistance0 to 100
0x114Bonus to age0 to 35
0x118Bonus to genderPositive values - female, negative or zero - male
**Skills Bonus**
0x11CSmall Guns0 to 300-(5+4*AG)
0x120Big Guns0 to 300-(2*AG)
0x124Energy Weapons0 to 300-(2*AG)
0x128Unarmed0 to 300-(30+2*(ST+AG))
0x12CMelee Weapons0 to 300-(20+2*(ST+AG))
0x130Throwing0 to 300-(4*AG)
0x134First Aid0 to 300-(2*(PE+IN))
0x138Doctor0 to 300-(5+PE+IN)
0x13CSneak0 to 300-(5+3*AG)
0x140Lockpick0 to 300-(10+PE+AG)
0x144Steal0 to 300-(3*AG)
0x148Traps0 to 300-(10+PE+AG)
0x14CScience0 to 300-(4*IN)
0x150Repair0 to 300-(3*IN)
0x154Speech0 to 300-(5*CH)
0x158Barter0 to 300-(4*CH)
0x15CGambling0 to 300-(5*LK)
0x160Outdoorsman0 to 300-(2*(EN+IN))
**Critter proto fields**
0x164Body type. The engine resets this to 0 after loading the player character.0 = biped
0x168Experience value from the critter proto block. The engine resets this to 0 after loading the player character.Usually 0
0x16CKill type from the critter proto block. The engine resets this to 0 after loading the player character.Usually 0
0x170Natural damage type. This is the unarmed/native damage type field from critter protos. For the player, proto_dude_init resets it to 0 after loading.0 = normal
**Other**
0x174-0x193Character name0 to 32 characters, padded with zeroes
0x194First tagged skill0 to 17
0x198Second tagged skill0 to 17
0x19CThird tagged skill0 to 17
0x1A0Fourth tagged skill (This stays default value unless GCD was edited manually outside of the game.)0 to 17, default is -1 (FF FF FF FF)
0x1A4First trait0 to 15, or -1 for none
0x1A8Second trait0 to 15, or -1 for none
0x1ACCharacter points (for stats)0 to 70 - (ST+PE+EN+CH+IN+AG+LK)

Tools

Source code

History

2020-01-17 - Ported from https://falloutmods.fandom.com/wiki/GCD_File_Format