FO4Edit by ElminsterAU
Fallout 4 » Utilities
Added: 28/11/2015 - 08:29AM
Updated: 27/12/2016 - 09:53AM

11,288 Endorsements

3.2 Latest version

120,794 Unique D/Ls

217,316 Total D/Ls

711,514 Total Views

Uploaded by zilav


Last updated at 9:53, 27 Dec 2016 Uploaded at 8:29, 28 Nov 2015

FO4Edit 3.2 by ElminsterAU. Updated for Fallout 4 by Hlp, Zilav and Sharlikran.

Wiki Pages:

Note: These are all a work in Progress and were not fully updated for TES5Edit.

TES5Edit Cleaning Guide

TES5Edit Skyrim Dirty Plugins List
TES5Edit Scripting Functions [Wip] - Thanks to Turulo for starting it. Last update 10-13-2013 by Mator

Current Documentation:

Fallout3 Training Manual for FO3Edit (applies to all game versions)
FNVEdit Training Manual for FNVEdit (applies to all game versions)

If you would like to contribute to the conversion of the Fallout New Vegas documentation please visit the TES5Edit Documentation pages on the CK Wiki. Your help is greatly appreciated and updates can be used for Fallout 4.

Mods made prior to the GECK:

Once the official GECK is released you should update your mod with the GECK and examine your mod carefully with FO4Edit to look for errors. Some errors can't be fixed by the GECK and you will need to manually fix them with FO4Edit.

Version 3.2 contains the following changes:

- [SSE] Skyrim Special Edition support
- [SSE] SSELODGen mode
- [FO4] Fallout 4 support
- improved record definitions and error checking
- various bug fixes and optimizations
- new scripts

Version 3.1.3 contains the following changes:

- [FO4] Fallout 4 support

** NOTE ** Not all records are fully decoded for Fallout 4. Some FormIDs may not be accounted for and when making a plugin will not be renumbered properly at runtime. This will cause game instability and crashes. Please remember to load any plugins made with this experimental pre-release into the GECK once it's released and repair the plugin once our first official release is available.

Version 3.1.2 contains the following changes:

- improved record definitions and error checking
- [TES5] LODGen support for glowing meshes
- [FO3/FNV] Fixed possible error when reading LOD meshes
- [TES5] TES5LODGen avoids generating trees LOD for duplicate FormID ref numbers, bug in Skyrim causes them to not switch off properly in the game

Version 3.1.1 contains the following changes:

- PBEA record type for FO3/FNV
- improved record definitions
- xLODGen fix reading BSA archives
- xLODGen impoved removing of mesh faces under landscape LOD

Version 3.1.0 contains the following changes:

- speed optimizations
- fixed memory leaks
- fixed sorting of INFOs in DIAL
- fixed float values rounding
- advanced ModGroups feature
- drag&drop and "Remove from selected records" support for individual flags
- fonts are changeable in Options
- new scripting functions
- new script auto execution mode with -script:"test.pas" switch or when renamed to (TES4|TES5|FO3|FNV)Script.exe
- xEdit associates itself with *.tes5pas, *.tes4pas, *.fo3pas and *.fnvpas extensions
- load Mod Organizer profile internally using command line parameter -moprofile:<profilename>
- faster -quickshowconflicts switch processing
- new -O: parameter to set the output folder for TES4LODGen generation (much faster), for example "-O:..\ModOrganizer\mods\Generated DistantLOD"
- [FO3/FNV] Optional hiding of templated actor fields
- [FNV] Don't undelete refs of TREEs with LOD, bug in the game engine causes a crash
- [TES5] TES5LODGen, in right click menu -> Other -> Generate LOD
- [TES5] Weapon/Armor/Ammunition spreadsheets
- [TES5] BODT/BOD2 and different VMAD version objects are now lined up for conflict resolution
- [TES5] Improved DOBJ handling
- [TES5] Record header flags depend on record type

Version 3.0.32 contains the following changes:

- issue 69: automatic updating of counter fields to reflect the proper amount of elements in containers
- issue 149: FormID indexes in master file header ONAM forms
- issue 162: reference rotation angle normalization (TES4LODGen hanging on several mods)
- hotkeys in plugins selection window (Enter - confirm, numpad '+' select all, '-' select none, '*' invert)
- hold Shift while starting xEdit to skip restoring window state (for users stuck with xEdit outside of viewable desktop area)
- hold Shift while clicking OK in plugins selection window for one time skipping of building references for all plugins
- exclude building references for plugins list available in options
- option to display integer values of flags and enumerations (off by default)
- Ctrl+C copies only Node text to clipboard, Esc closes the View window
- definitions update for all games to reduce false positives when checking for errors
- custom scripted filtering, demo 'Apply custom scripted filter.pas'
- new scripting functions and scripts: Weather Editor script (Ctrl+W), Worldspace Browser (Alt+F3)
- scripted persistent bookmarking of records: Ctrl+1..5 to set a bookmark, Alt+1..5 to go back
- removing offset data in WRLD is optional now, 'on' by default
- [TES5] TES5LODGen (beta version, has several issues)
- [TES5] renamed armor addon nodes (added slot numbers), please update your scripts if needed
- [TES5] Record definitions update (WTHR, DOBJ, NAVM, VMAD papyrus data, GetEventData condition), improved NavMeshes (thanks to jonwd7)
- [TES5] Added VMAD (papyrus scripts) to TREE, and LVLG (global) to LVLN. They can't be edited in CK, but it supports them and they confirmed to work in game
- [TES4] Added XRGD subrecord to REFR, INFO flags update
- [FO3] Do not remove PLD2 subrecord in PACK (as in FNV)
- [FNV] BPTD update to support body parts without BPTN name
- [FNV] Relocated CELL and WRLD groups at the end of file
- [TES4/TES5/FO3/FNV] WRLD offset data OFST definition (when 'Simple records' option is off)

Version 3.0.31 contains the following changes:

- esp files can be loaded before esm
- issue 136: no stack overflow and progress indication for long operations
- issue 137: added empty subrecords were treated as ITM leading to possible erroneous cleaning
- fixed bug when 8 chars in square brackets were treated as FormID giving errors in various places, i.e. [$PitStop]
- Ctrl+DblClick on FormID numbers in messages tab could previously not work on some of them
- INFO records sorting is now optional instead of disabled
- BSA files are loaded by exact matching with plugin names for TES5, and partial matching for previous games
- new scripting functions, UI controls and scripts: Assets manager, Assets browser (Ctrl+F3)
- [TES5] added XCZR (encounter zone reference?) subrecord in REFR
- [TES5] added PMIS record
- [TES5] removed obsolete model subrecords: MODB, MOSD, FGGA, FGGS, FGTS
- [TES5] updated LCTN definition (showed errors in USKP before)
- [TES5] optional switch to resolve aliases (show ID and name)
- [TES5] fixed error when copying PACK record
- [TES5] 'Default' water height instead of '-2147483648.00000' is being added to CELLs with water but no XCLW subrecord
- [TES5] renamed "WRLDObject bounds" element, please update scripts if needed
- [TES5] merged patch improvements and fixes
- [TES4] updated INFO record definition to fix flags
- [TES4] fixed PGRR subrecord corruption in pathgrids when saving
- [TES4] fixed error when copying MGEF and REFR with XLOC subrecord
- [TES4] fixed "Unsused data in XSED" warning
- [FO3/FNV] fixed issues when copying NPC_, definitions update.

Version 3.0.30 contains the following changes:

- Added Prev/NextMember for Record union. Use after adding a new one to select the apropriate.
- Search for required master extended upward.
- Added a second command line parameter to specify the game's ini file location.
- Ctrl+A to select all in editor window.
- "Jump to" option in record's header popup menu.
- Enable/disable autosaves in options.
- Log file is overwritten at 3MB.
- [xDump] Fatal exceptions are reported through ReportProgress to have a timestamp. It might be useful to track down the issue.
- [TES5] Blocks adding new script property and new scripts. Please use CK to create them.
- [TES4/TES5/FO3/FNV] Record definitions update (number of ITM counts may change).
- New scripts added.
- New scripting functions (including regular expressions).
- New UI controls (TLabeledEdit, TCheckListBox).
- Scripts can be accessed with hotkeys (Ctrl+Shift+F to call a new find cell script demo).
- Removed syntax highlighter from script editor.
- Variable size detection corrected.
- Out of bounds detection corrected.
- Issues 125, 126, 129, 128 (128 was "worked around").
- Code modified for compatibility with both Delphi XE and XE3 in the same source files.
- Added BaseName property so unsorted arrays can contain structured unions.
- ByteArray length increased to 64 bits.

Version 3.0.29 contains the following changes:

- New Icon provided by moiman100.
- [TES5] more information is decoded (Records ARMA, NVSI, MOD2, LVLO).
- [TES5] Every string value gets own ID when localizing plugin
- [TES5] Fixed error when copying VMAD scripts using drag & drop
- issue 104 : Files others than esp and esm (and ghost) are timestamped.
- issue 88 : Delete from the view pane column title contextual menu is disabled (due to a hard to reproduce bug). This is a workaround, not a fix.
- issue 119 : [TES5] The CK adds useless XLRL records when reverting a change. Those XLRL are considered benign and the record ITM.
- issue 110 : Check for errors now checks for invalid FormIDs. Also, new "Check for errors" sample script.
- Options are processed when they matter, not at the beginning.
- issue 82 : [TES5] Capitalization fixed in text are being treated as dirty edits. Description fields are case sensitive now.
- Scripts can use other scripts with standard pascal "uses" keyword.
- New functions available.
- New sample scripts.
- Compare to will not overwrite an existing file, nor will it leave temporary files behind.
- issue 125 : Condition added are no longer empty.
- issue 121 : Changing FormID of Region causes severe bugs. Reference building is delayed to after the change is done. Non region reference XCLR record are no longer removed.
- issue 120/118 : Reference not updated while adding a master. Reference lookup during the addition was sometimes unreliable.
- issue 117 : Bug in script Undelete and Disable References.pas
- issue 112 : Option "Simple Record" malfunctioning.
- issue 111 : AV when saving subrecords with prefixed arrays. Sizing and memory allocation are done properly during every phase.
- issue 108 : Very slow saving after editing ESM flag. Background updating limited as much as possible during saves.
- issue 107 : Copying a quest record causes extraneous script fragment data to be generated. Sizing and memory allocation issue.
- issue 106 : Error adding a new master to plugin with own navmeshes. Fire Union decider when they can effectively properly work, not before.
- issue 105 : Overwriting quest fragments or Quest Aliases may produce exceptions. During copy, memory is initialized properly before being used.
- issue 100 : Voice Type EditorID disappears. Memory sizing issue.
Known issue:
- issue 123 : Using Check for errors after sort master, before saving and reloading: the Cell FormID will not be updated. (that is a display issue only).
- issue 102 : Objects with property names but no assigned values don't display the names. The CK does not save the property name in the plugin in that case so it is correct.
- issue 115 : "Backup plugin" checkbox anchored to bottom of form.
- avoid firing some cached exception (to ease debugging).

Version 3.0.28 contains the following changes:

- [TES5] Papyrus (VMAD subrecord) support and other misc record updates including Dragonborn DLC
- [TES5] "Next Object ID" error when copying records
- Text fields in records are case sensitive when matching
- Ability to change references to FormID < 800h
- Changeable conflict colors and default column width in options
- "Simple records" option for concise displaying of LAND, NAVM and NAVI records (excluding references). On by default to speed up xEdit, customizable in options
- Improved scripting functions, new demo scripts

Version 3.0.27 contains the following changes:

- [TES5] Updated dialogue subtypes for patch 1.8
- Localize/delocalize utf8 strings. Translation is disabled, highly recommended to use StrEdit or other specialized tools instead
- Search by FormID/EditorID skips hidden elements

Version 3.0.26 contains the following changes:

- 3.0.26 includes the changes in 3.0.25
- TES5Edit 3.0.25 was removed from Nexus because of potential issues caused by converting BODT to BOD2. Sorry if that version caused any issues for anyone.
- [TES5] BODT is unchanged (Caused issues with Dawnguard.esm)
- [TES5] Fixed bug in RACE with sorted biped object names. If you modified race records with previous versions, drag & drop biped object names from master to restore them.
- Additional internal functions accessible from scripts
- New demo scripts in the Edit Scripts Folder
- Install the Edit Scripts folder in the same place as the xxxEdit.exe.

Version 3.0.25 contains the following changes:

- [TES5] Impact data set IPDS is now sorted
- [TES5] Added DEST data to ALCH (for "Destructible bottles")
- [TES5] BODT subrecord is autoreplaced with BOD2 in ARMA, ARMO and RACE records to conform CK 1.8 format
- [TES5] Additional decoding in WRLD and RACE for new data saved with CK 1.8
- [TES5] Added back records to Merged Patch (removed in 3.0.24) but only when the winning record has no scripts
- [FNV] Updated missing INFO flags
- [TES4] Fixed error when copying SPEL record
- Pascal-based scripting system and "Apply Script" menu (check available demo scripts on how to)
- "Options" menu
- "Analyze Log" menu, currently supports
* Skyrim papyrus log
* Oblivion RuntimeScriptProfiler by shadeMe logs
- Moved several not so often used menus to the "Other" submenu (Build ref/reachable, Merged Parch, Seq File, Localization, etc.)
- Full expand key modifier changed to ALT

Version 3.0.24 contains the following changes:

NOTE Changes to Merged Patch: 3.0.24 of TES5Edit only adds Containers and Leveled Lists to Merged Patches.

- [TES5] Updated load order handling when plugins.txt is empty and no BOSS info is available
- [TES5] Fixed event name definition in QUST
- [TES5] CELL water level fixup for better conflicts detection
- [TES5] Autoremoving legacy RNAMs from WRLD; empty keywords from NPC_, ARMO, AMMO, WEAP, ALCH, MISC
- [TES5] Removed NPC_, ARMO, AMMO, WEAP records from Merged Patch (unsafe to copy possible scripts to a new plugin)
- [FO3] No sorting of DIAL groups
- [FO3/FNV] Fixed record definition for ragdolls which crashed game after cleaning several DLCs
- Copy "Compare to" selected file to the game's data folder if it is not there
- Improved registry handling on x64 systems
- Hold CTRL key when expanding a node for full expand

Version 3.0.23 contains the following changes:

- [TES5] Merged patch updated for Skyrim, currently it merges:
* Leveled NPCs, Items, Spells
* NPC: Items, Spells, Head Parts, Factions
* Race: Hairs, Eyes, Spells
* Containers
* Relations
* Form Lists
* Keywords on: Armor, Weapon, Ammo, NPC
- [TES5/FNV/FO3] When performing UDR there will be a warning message for deleted NavMeshes.
- [TES5] Updated record definitions.
* BPDT was sorted by a localized name which is inconsistent for different languages (now sorted by a node name)
* NPC's tints are now sorted by tint index for better conflicts detection
* QUST aliases are no longer sorted by index
* QUST stages are now sorted by stage index
* Improved NavMeshes (thanks to Divstator)
- [TES5] FaceFX phonemes where empty after copying RACE record.
- [TES5] Fixed bugs when copying RACE and QUST (empty model was created for RACE; QUST location aliases were turning into ref ones).
- [TES5] Create start-enabled quests sequence SEQ file (you can select several files at once).
- [TES5] Improved error checking.
- [FNV] CHAL record was missing some challenge types from Dead Money DLC.
- [FNV] Disabled DIAL sorting, was causing errors when copying INFO records.
- No autosaves when "you know what you are doing".
- Compare with external tool option in Edit window.
- "Apply Filter for Cleaning" menu. Note that xEdit saves filter settings when you press OK button in filter window, so if you clean plugin and exit the program, your filter settings will be preserved.
- Filter option for deleted records.
- Saving messages to [TES5/FNV/FO3/TES4]Edit_log.txt upon exit.
- Fixed minor bug when Edit can't find game's folder. If your registry settings is invalid due to a Steam bug and Edit is unable to find your game, put it in the game's root folder where the game executable file is (Oblivion.exe, TESV.exe, etc).
- Reason: The game's Registry entry is missing. This happens to a lot of people, because Steam likes to remove it whenever the game is updated or its game cache is verified. Run the game's launcher to add the Registry entry back again.

Version 3.0.22 contains the following changes:

- Skyrim Support.
- New exceptions handler.
- Optional backups in a separate directory.
- Remember position and state of the main window.
- Fixed bug when editing with Shift+DblClick.
- [All] Wrye Bash ghosted plugins (*.esp.ghost) in plugin selection window.
- [ALL] FLST form list is no longer sorted.
- [ALL] EDID affects conflict detection.
- [TES5] Localization editor, plugin localization/delocalization with optional translation.
- [TES5] -l:language command line switch to chose default localization files.
- [TES5] Adding missed plugin files from plugins.txt/loadorder.txt to the end of plugins list.
- [FNV] WeaponModKit IMOD record support for various subrecords.
- [FNV] PLD2 subrecord is no longer removed in package.
- [FNV/FO3] Quest stage signed value overflow fix.
- [Oblivion] Fixed ownership record order in CELL.
- [Oblivion] Snowy weather definition fix (thanks to Arthmoor).


Q: I have the following errors with one of my plugins what do I do?

[00:43] Background Loader: Error: record ARMA contains unexpected (or out of order) subrecord MODL
[00:43] Background Loader: Errors were found in: ShieldofYsgramorDraugrAA [ARMA:01001001]

A: I have seen that occur with plugins made with the ReProccer, NPC Editor, and older buggy versions of TESVSnip. Usually TESVSnip 4.2 or 4.3.x. TESVSnip never used the proper compression which is ZLib so the files are improperly compressed or they were left uncompressed. No matter how the plugin was made it will cause issues during game play. You can either continue to use them but they may cause game instability, report the errors to the author so they can be addressed, or uninstall them.