[RELz] TES4Edit

Post » Mon Jul 21, 2014 4:12 am

http://www.nexusmods.com/skyrim/mods/25859/ is now available on the Nexus.

This is the ninth update of TES4Edit and is still being updated. However, it should still be considered experimental. Make backups of your plugins and report any issues in the official Bethesda thread. If you have never used TES4Edit, Wiki Pages and basic videos are available. Feel free to ask about plugin cleaning in the official http://www.gamesas.com/topic/1425445-relz-tes5edit-plugin-cleaning-emporium/. If you require technical assistance the official http://www.gamesas.com/topic/1490494-relz-tes5edit/ thread is best for that. As always backup you plugins, save games, and use with caution. (at your own risk)

NOTE: This is the actual version of FNVEdit, FO3Edit, and TES4Edit by ElminsterAU being updated for Skyrim. He has allowed us to host both TES5Dump and TES4Edit under the same MPL.

TES4Edit 3.0.32 EXPERIMENTAL by ElminsterAU updated for Skyrim by http://www.nexusmods.com/skyrim/users/156622, http://www.nexusmods.com/skyrim/users/1102380, and http://www.nexusmods.com/skyrim/users/4147439.

If possible please post in the Bethesda forum: http://www.gamesas.com/topic/1490494-relz-tes5edit/

Threads:
Spoiler

http://www.gamesas.com/index.php?showtopic=1132492
http://www.gamesas.com/index.php?showtopic=1033617


Support for other versions of Edit are located at these locations: http://forums.nexusmods.com/index.php?/topic/83746-fo3edit/, http://forums.nexusmods.com/index.php?/topic/248639-fnvedit/, http://forums.nexusmods.com/index.php?showtopic=37310, http://forums.nexusmods.com/index.php?showtopic=813094

Other versions of Edit can be downloaded at these locations: http://www.nexusmods.com/fallout3/mods/637, http://www.nexusmods.com/newvegas/mods/34703, http://www.nexusmods.com/oblivion/mods/11536, http://www.nexusmods.com/skyrim/mods/25859

Note: These are all a work in Progress.

Updates on CK Wiki Pages:
  • http://www.creationkit.com/TES5Edit
  • http://www.creationkit.com/TES5Edit_Cleaning_Guide_-_TES5Edit
  • http://www.creationkit.com/TES5Edit_Mod_Cleaning_Tutorial
  • http://www.creationkit.com/Skyrim_Dirty_Plugins_List
  • http://www.creationkit.com/TES5Edit_Scripting_Functions - New! [WIP]
Gopher's Video's http://www.youtube.com/watch?v=UOQO2S6HDBw
Gopher's Video's http://www.youtube.com/watch?v=fw3g_N1jcZQ
My Video http://www.youtube.com/watch?v=ciRPWx3OhBQ [Unsupported]

Rename to TES4Edit.exe to work with Oblivion.
Rename to FO3Edit.exe to work with Fallout3.
Rename to FNVEdit.exe to work with New Vegas.

End user documentation:

Fallout3 http://www.nexusmods.com/fallout3/mods/8629 for FO3Edit (applies to all game versions)
Fallout New Vegas http://www.nexusmods.com/newvegas/mods/38413 for FNVEdit (applies to all game versions)

Developer documentation:

Documentation for Fallout 3 and Fallout: New Vegas plugin file formats can be found on https://github.com/WrinklyNinja/fopdoc courtesy of WrinklyNinja

  • https://github.com/WrinklyNinja/fopdoc/blob/master/Fallout3/Records.md
  • https://github.com/WrinklyNinja/fopdoc/blob/master/FalloutNV/Records.md
Documentation for Oblivion and Skyrim file formats can be found on http://www.uesp.net/wiki/Main_Page Wiki

  • http://www.uesp.net/wiki/Tes5Mod:Mod_File_Format
  • http://www.uesp.net/wiki/Tes4Mod:Mod_File_Format
  • http://www.uesp.net/wiki/Tes3Mod:File_Format - Morrowind is not supported with xEdit
Important for Older Systems:
If you get an error about d3dx9_*.dll not being installed, you need to update your DirectX to the most current version. http://www.microsoft.com/en-us/download/details.aspx?id=8109 or http://www.microsoft.com/en-us/download/details.aspx?id=23611 or http://www.microsoft.com/en-us/download/details.aspx?id=35. (make sure to install it after unpacking it)

TES5Edit Updates:

With each new version of TES5Edit you may want to restore plugins from backups and reclean them. Otherwise any fixes and updates to cleaning process won't take effect.

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:
Spoiler

  • - 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 "WRLD\Object 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:
Spoiler

  • - 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).
  • Scripting:
  • - 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.
  • Fixes:
  • - Variable size detection corrected.
  • - Out of bounds detection corrected.
  • - Issues 125, 126, 129, 128 (128 was "worked around").
  • Misc:
  • - 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:
Spoiler

  • - http://forums.nexusmods.com/index.php?/topic/921884-icons-for-tes5edit/ 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.
  • Scripting:
  • - Scripts can use other scripts with standard pascal "uses" keyword.
  • - New functions available.
  • - New sample scripts.
  • Fixes:
  • - 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.
  • Misc:
  • - 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:
Spoiler

  • - [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:
Spoiler

  • - [TES5] Updated dialog 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:
Spoiler

  • - 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.


Note: Removed from the Nexus.
Version 3.0.25 contains the following changes:
Spoiler

  • - [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
  • - "anolyze Log" menu, currently supports
  • * Skyrim papyrus log
  • * http://www.oblivion.nexusmods.com/mods/41863 logs
  • - Moved several not so often used menus to the "Other" submenu (Build ref/reachable, Merged Patch, Seq File, Localization, etc.)
  • - Full expand key modifier changed to ALT


Version 3.0.24 contains the following changes:
Spoiler

  • - [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:
Spoiler

  • [TES5] Merged patch updated for Skyrim, currently it merges:
  • - Leveled NPCs, Items, Spells
  • - NPC: Items, Spells, Head Parts, Factions
  • - Race: Hair, Eyes, Spells
  • - Containers
  • - Relations
  • - Form Lists
  • - Keywords on: Armor, Weapon, Ammo, NPC
  • [TES5/FNV/FO3] When performing the UDR function 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 conflict 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 were 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 QUST References).
  • [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:
Spoiler

  • - 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).


ToDo List:

Update Miax’s Tome of FO3Edit for Skyrim.
Update NAVM, NAVI, and wbUnion for VMAD.
Make TES5Edit Documentation
Update the http://www.creationkit.com/TES5Edit_Cleaning_Guide_-_TES5Edit

Known Issues:

TBA

Current Progress:

Some additional tweaking needs to be done but we are close to having on open beta. About 90-95% of the records are decoded at this time. I have started to update the UESPWiki and I keep a current list on our site in the http://code.google.com/p/skyrim-plugin-decoding-project/wiki/UESPWikiUpdates.

Current Contributors:

http://www.nexusmods.com/skyrim/users/1102380
http://www.nexusmods.com/skyrim/users/4147439
http://www.nexusmods.com/skyrim/users/156622

We would love to have more people helping out on the project.

Name: Skyrim Plugin Decoding Project

Summary: A collaborative project to decode Skyrim's record structure using TES5Dump and provide a working version of TES5Edit.

Description: TES5Dump (a.k.a. TES4Dump / FO3Dump / FNVDump) are utilities that dump the contents of a .esp or .esm plugin to a text file, using internal record definitions. By comparing its output with plugins of known contents, the record definitions can be tweaked until the correct structures have been decoded. TES5Dump also forms the plugin parsing backend for the TES5Edit utility. (a.k.a. TES4Edit / FO3Edit / FNVEdit)

Skyrim's record structure has not yet been fully decoded, and the Skyrim modding community suffers from the lack of a working TES5Edit. This project's aim is to help the decoding effort by providing TES5Dump and allowing many people to update its definitions using Subversion, and to provide the TES5Edit utility.

Its predecessors FNVEdit, FO3Edit, and TES4Edit by ElminsterAU are the best tools to use for exploring overlaps between mods and cleaning mods. TES5Edit will have the same functionality since the compiled release will be made with the same TES4 back engine using the definitions as a result of this project. He would work on it himself, but unfortunately suffers from a severe lack of spare time. He has offered to compile TES5Edit after the necessary supporting files are changed for Skyrim's file format.

This utility will let you easily see how multiple mods interact and override each other, as well as giving you a quick view of the changes that a plugin makes. It lets you browse a graphical record tree of your active plugins, revealing the values set by most record types and comparing overlapping changes from each active plugin.

When started it will automatically find your Skyrim Data directory. You then get a dialog to select which modules you want to load with the current selection from your plugins.txt as default value. Once you have confirmed that dialog the selected modules will start loading in the background. The program will then work the same as its predecessors.

License: Mozilla Public License TES5Dump and TES5Edit.

Anyone is welcome to download the source to TES5Dump using the instructions below.

Why do we need TES5Dump:







How TES5Dump works:




What we need for this project:

We are looking for volunteers and TES enthusiasts who are willing to contribute their time in decoding Skyrim's files, and making updates to the UESP Wiki.

If you would like to participate in this project please send me a PM.

Wiki Updaters:

Any general knowledge of how to edit html and possibly xml. After you have checked out the files the folder you will work with is UESPWiki. It will contain templates of each record posted on UESPWiki. To make changes to the http://www.uesp.net/wiki/Tes5Mod:Mod_File_Format site you need to register first. Registration is free and hardly any information is required.

Please refer to the on site wiki: http://code.google.com/p/skyrim-plugin-decoding-project/wiki/PostingToTheUESPWiki

Record Decoders:

After you have checked out the files the folder you will work with is TES5Dump. The only file you need to edit will be wbDefinitionsTES5.pas.
To compile the source you need a trial version of Delphi found here. https://downloads.embarcadero.com/free/delphi The source is written in Delphi but you only need a basic knowledge with C++ or Java to interpret the Delphi code and figure out the references.
Having knowledge of or, experience in decoding the records in plugins would be extremely helpful as well. The decoding is not programming intensive because all you are really doing is updating the pre existing routines for Skyrim's format.

Please refer to the on site wiki: http://code.google.com/p/skyrim-plugin-decoding-project/wiki/DecodingRecords

Getting Set Up:

You will need an SVN client like http://tortoisesvn.net/downloads.html to submit your changes. Instructions are listed https://code.google.com/p/skyrim-plugin-decoding-project/wiki/NewMembersGettingStarted

Special Thanks:

Listed in alphabetical order.

AndalayBay: Without her help getting me in touch with Elminster we would all still be waiting for confirmed record definitions, and even longer for a working TES5Edit.
Bethesda: For their awesome program, and for this forum so we can accomplish this task.
Divstator: for his work on Improved NavMesh Decoding
ElminsterAU: For all his hard work on FO3/FNV/TES4Edit over the years.
Hlp: For all his hard work helping with the project.
jonwd7: for his work on Improved NavMesh Decoding
Zilav: For all his hard work helping with the project.
User avatar
Sun of Sammy
 
Posts: 3442
Joined: Mon Oct 22, 2007 3:38 pm

Return to IV - Oblivion