Vault-Tec Labs
Advertisement

The Fallout 3 Savegame format (*.fos), shows some similarities with the Oblivion format. Discoveries about the FO3 format will be posted on this page. In addition, the Xbox 360 file format for the Fallout 3 Savegame format (*.fxs) closely resembles the PC format from offset 0000D000 on, however currently the two are not interchangeable like it was for Oblivion. Most of the information found here is derived/abstracted from this page.

General Information[]

If there's a Byte Offset value in the table, it means it's fixed (i.e. for every save file).

Each row in the table represents a Byte-Block, generally separated by a 7C byte (ASCII: "|").

Example:

Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F

00000000   46 4F 33 53 41 56 45 47  41 4D 45 56 00 00 00 30   FO3SAVEGAMEV...0
00000010   00 00 00 7C 00 02 00 00  7C 40 01 00 00 7C 05 00   ...|....|@...|..
00000020   00 00 7C 07 00 7C 41 68  6C 65 65 6E 61 7C 0C 00   ..|..|Ahleena|..
00000030   7C 56 61 75 6C 74 20 4D  61 72 74 79 72 7C 02 00   |Vault Martyr|..
00000040   00 00 7C 11 00 7C 4D 6F  72 69 61 72 74 79 27 73   ..|..|Moriarty's
00000050   20 53 61 6C 6F 6F 6E 7C  09 00 7C 30 30 31 2E 34    Saloon|..|001.4
00000060   35 2E 32 38 7C                                     5.28|

File Header[]

Name Type/Size Info
fileId char[11] Constant: "FO3SAVEGAME"
saveHeaderSize long Size in bytes of File Header (not including this size variable)
?unknown1 long Unknown, possibly file version number, always 0x30
divider char |
screenshotWidth long The width of the embedded screenshot, min. 1
divider char |
screenshotHeight long The height of the embedded screenshot, min. 1
divider char |
saveIndex long Save game number as seen in your save game list
divider char |
pcNameSize short Indicating the length of the pcName value. e.g. if the name is "TEST", the pcNameSize is 4, can be 0
divider char |
pcName bzstring The Player Character's Name
divider char |
pcKarmaSize short Indicating the length of the pcKarma value. e.g. if the string is "Vault Martyr", the pcKarmaSize is 12, can be 0
divider char |
pcKarma bzstring A string indicating the PC's Karma Rank (e.g. "Vault Martyr")
divider char |
pcLevel long A long (4 bytes) indicating the PC's level
divider char |
pcLocationSize short Indicating the length of the pcLocation value. e.g. if the string is "The Capital Wasteland", the pcLocationSize is 21, min. 1 (cannot be 0)
divider char |
pcLocation bzstring A string showing the PC's current location (e.g. "Moriarty's Saloon")
divider char |
playtimeSize short Length of the playtime bzstring, can be 0
divider char |
playtime ###.##.## A value indicating the amount of time the PC has played (e.g. "001.40.12", 1 hour, 40 minutes, 12 seconds)
divider char |

Preview[]

Name Type/Size Info
screenshotData screenshotHeight*screenshotWidth*3 ubytes Contains interlaced RGB screenshot data
?unknown2 byte Unknown, always 0x15
pluginStructSize long Size in bytes of Plugins structures plus 2 (for the following pluginCount and divider)
pluginCount ubyte Number of active ESM/ESP files
divider char |

Plugins[]

The following is repeated for each active plugin (see pluginCount, above):

Name Type/Size Info
pluginNameSize short Size of the following pluginName
divider char |
pluginName bzstring Name of active plugin (e.g. Fallout3.esm, RandomMod.esp)
divider char |

Stats[]

Name Type/Size Info
?unknown3 ubyte[114] Unknown, important
statStructSize long Size of statNum plus following stats structure (0x87 for 26 stats)
statNum long Number of stat entries in structure (26 for Fallout 3)
divider char |
stat1 DWORD Quests completed
divider char |
stat2 DWORD Locations discovered
divider char |
stat3 DWORD People killed
divider char |
stat4 DWORD Creatures killed
divider char |
stat5 DWORD Locks picked
divider char |
stat6 DWORD Computers hacked
divider char |
stat7 DWORD Stimpacks Taken
divider char |
stat8 DWORD Rad-X Taken
divider char |
stat9 DWORD RadAway Taken
divider char |
stat10 DWORD Chems Taken
divider char |
stat11 DWORD Times Addicted
divider char |
stat12 DWORD Mines Disarmed
divider char |
stat13 DWORD Speech Successes
divider char |
stat14 DWORD Pockets Picked
divider char |
stat15 DWORD Pants Exploded
divider char |
stat16 DWORD Books Read
divider char |
stat17 DWORD Bobbleheads Found
divider char |
stat18 DWORD Weapons Created
divider char |
stat19 DWORD People Mezzed
divider char |
stat20 DWORD Captives Rescued
divider char |
stat21 DWORD Sandman Kills
divider char |
stat22 DWORD Paralyzing Punches
divider char |
stat23 DWORD Robots Disabled
divider char |
stat24 DWORD Contracts Completed
divider char |
stat25 DWORD Corpses Eaten
divider char |
stat26 DWORD Mysterious Stranger Visits
divider char |
Advertisement