Legendary Explorer 6.3
This is a summary of major changes from Legendary Explorer 6.2 to Legendary Explorer 6.3. It's been so long since a major release that there are far too many items to list here; this only covers the major user-facing changes. There are far more minor changes that are not included here, most of them under the hood.
Legendary Explorer
Legendary Explorer Stable now uses .NET 7 Desktop to run. The changes listed below are ones specific to the front-end editors.
New features
- You can now replace streaming audio in LE1. Due ot how this works in the game, this may or may not be entirely reliable. A better method is to build a streaming bank from scratch using the tutorials on the LEX wiki
- You can now import WwiseBanks made in the proper Wwise 2019 version directly into LE2 and LE3, and it will create events and wwisestreams for you automatically. See the tutorial on the LEX wiki
- Can now export and import bnk files directly to export (if you don't know what you're doing, don't do this)
- Sequence Editor: SetPawnMeshes now covers SFXSkeletalMesh actors (LE2)
- Dialogs for opening packages now has an item on the left that shows direct links to game paths. Due to how windows explorer works it will show ME1/ME2/ME3 for LE games
- Lots of experiments from @Exkywor:
- Properties (in package editor): Can now right click copy/paste a single property (will be expanded in future)
- Script Editor: You can now edit properties on any object
- Package Editor: Now notifies you if you are not using the highest mounted version of a file
- Sequence Editor: Compare with unmodded/other package in tools menu with auto navigation to changed nodes
- Package Editor: new tool menu items: 'Create Package Export' and 'Create Object Referencer'
- UModel has been updated to version 1589 (October 2022) and now will prompt you for what format to export in such as gltf
Changed features
- Replacing texture with only one mip no longer asks if you want to store in TFC since it will always be package stored
- Binary interpreter now has more fields that can be edited
- Unrealscript IDE: Now supports basic code completion
- Package Editor: Treeview items now have more data listed under them
- JPEXS/Scaleform: Open in JPEXs now exports textures so newer versions of JPEX can load textures in the tool
- JPEXS/Scaleform: Can import if file is in temp directory, not just if previously marked as exported to disk
- AssetDB: Improve memory usage and performance by using new version of database with bitpacking
- UModel export now exports full resolution textures instead of only package stored mips
- Sequence Editor experiment: Load custom classes from current package - allows you to make a custom class and put it into the toolbox without having to manually load the package
- Meshplorer: Allow you to auto correct rotation and skip bone count warning if incoming mesh has different number of bones
- Lots of kismet objects have auto-comments such as Originator values
- Can play audio for ME1/LE1 SoundNodeWaves in most cases by looking up streaming audio info and attempting to determine the audio type - not entirely reliable right now
Bugfixes
- Fix bugs that could prevent meshes from properly rendering in the mesh renderer
- Sequence Editor: LE2 SFXSeqAct_OverrideCasualApperance has been fixed. This only works when adding it new
- Lots of bug fixes for Script Editor
- AssetDB: Fix memory leaks
- Fix application closing not respecting you choosing 'keep open' if a package is modified in a tool and not saved
- Lots more not documented
Legendary Explorer Core
Legendary Explorer Core (LEC) is the back end which handles various filetypes and is shared across many tools.
New features
- Packages can now be opened using
MEPackageHandler.UnsafePartialLoad()
, where you provide a predicate of what data to actually load. This can be useful if you only need data out of a very small amount of the package, this greatly speeds up things such as scanning when used appropriately - A new constructor
MEPackageHandler.CreateAndOpenPackage()
creates a package on disk and returns the object. It used tor require 2 steps. - You can now limit which object databases are loaded, allowing you to significantly reduce memory use if your tool only opens packages from a specific game(s)
- Now contains classes for working with Legendary Edition's persistent save files (GamerProfile)
Changed features
- UDK package support is improved with more property parsing support
- Disallow saving unsupported UDK packages
Bugfixes
- Fix porting not working when porting a custom class between files
- Sourcing oodle dll is more reliable now
- Improve ResolveImport() heuristics for edge cases (some still fail)
- FindImport/Export has some workarounds for when finding the opposite type - e.g. Engine.pcc has an import for Engine and an export for Engine
- Lots more not documented