Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ME3Explorer - ME3Tweaks Fork 4.1 #154

Merged
merged 678 commits into from
Nov 7, 2019
Merged

ME3Explorer - ME3Tweaks Fork 4.1 #154

merged 678 commits into from
Nov 7, 2019

Conversation

Mgamerz
Copy link
Member

@Mgamerz Mgamerz commented Oct 29, 2019

This is a feature update for ME3Explorer - ME3Tweaks Fork. A lot of the codebase has changed from 4.0 to support many new features developed by @SirCxyrtyx, @Kinkojiro, @Mgamerz, @aquadran and @epicabsol.

This is the last version of ME3Explorer that will support Windows 7.
Now requires .NET Framework 4.8

New tools and features

Dialogue Editor

  • New WPF/Picollo based visual editor system for BioConversations
  • Works with all 3 games
  • ViewModel of conversation includes extra data such as Matinee links, Audio links, FaceFX. Provides easy links between all these parts of the conversation system.
  • Allows the user to view complex conversations as a flow diagram rather than line by line.
  • Easy to add/remove change conversation flow as a result.

Asset Database

  • New tool that scans pcc/sfm/udk files within each of the games and compiles a list of files and useful assets for modders.
  • Allows fast access to assets via one link usage opening
  • Stores databases in compressed JSON format.
  • In addition to names and usages, stores important data depending on class (e.g. texture sizes, class properties, types of meshes and materials).
  • For Textures and Meshes allows browsing of these assets to find appropriate ones
  • For all assets quick search from text box is complemented by filters based on common needs and focuses in the tools menu.

TFC Compactor

  • Compact your external TFC references into a single TFC, removing unreferenced data (due to changing textures) and reducing official DLC requirements
  • Can significantly reduce mod size if you've iterated on textures

TLK Editor for all three games

  • Expansion of the ME1 TLK Editor, introduced into 4.0, now works as a full tool (as well as within Package Editor) and works with all three games now - ME1 package file embedded TLK, and ME2/ME3 external TLK.
  • Quickly search for strings in an easy to use interface.

Meshplorer WPF

  • Rewritten version of Meshlplorer, our last headlining tool to come to the WPF party. It now scales with your DPI for a better user experience
  • Uses Interpreter and Binary Interpreter, tools you'll see in Package Editor, rather than it's own custom tools.
  • Now supports viewing and replacing meshes in both ME1 and ME2
  • Texture preview improvements - not perfect, but improved significantly from 4.0
  • Texture code is now based on MassEffectModder texture code
  • Models are imported via UDK and exported with UModel. As a result of significant mesh code refactoring, PSK functionality has been removed. If you want to export through PSK, you can do so through the UModel button in Meshplorer WPF.

ASI Manager

  • Ported from Mass Effect 3 Mod Manager, ASI Manager allows you to manage native code mods. While ME3Explorer is not an end user tool, most ASI mods are developer oriented, such as Kismet Logger and SeqAct_Log Enabler.

JPEX Export Loader for Scaleform

  • To more quickly assist with GUI edits and testing, a new export loader that exports and imports SWF files (BioSWF for ME1, GFxMovieInfo for ME2/ME3) into JPEX flash decompiler has been added. While it does not have much functionality, it can significantly speed up the testing time it takes to modify a UI file.

Audio Localizer

  • Audio Localizer helps make your mod work in more languages, by merging your mod's files with audio from a localized copy of the game, to create files that have both your modded changes and localized audio.

Changes to existing tools

Toolset-wide

  • We have lifted some of the ME1 saving restrictions to files that don't have incoming texture references. We may reinstate this if this interferes with ALOT due to the significant complexity of ME1 texture links to package files.
  • ME1/ME2/ME3 packages are "compacted" on save now that we have solved all embedded offsets in exports such as ShaderCache. This will purge unused export data (that is no longer referenceable) and will make the packages identical to how they would appear after being compiled with UE3 - correct table ordering, no gaps, etc. On older mods with a lot of resaves, this can significantly reduce file size.
  • We have improved some of the UI design in various to use system colors when possible, so if you use themes like high contrast it will work better.
  • ME3Explorer now has some telemetry data that we can use to see where exceptions are occurring. This will allow us to identify problem areas easier.

Interpreter

  • You can now add missing struct properties for structs that don't have all of the properties defined, such as LightingChannels. Right click a struct property to see this option
  • You can now add or remove properties from struct properties
  • Many new structs in interpreter will display highly relevant data about them without having to drill into them. Such as a Material Instance Constant showing it's parameter name and value, for quick info at a glance
  • More properties that reference TLKs but are not StrRefProperty (they are IntProperty) resolve their TLK reference
  • Improvements to memory use when loading files that contain binary data in properties such as BioSWF. These properties can no longer be modified in interpreter, but you would never use interpreter to modify binary data in this fashion.
  • Hexbox is now hidden by default, as we have a robust enough interpreter that hex editing is not as useful as the space it takes up.

Pathfinding Editor

  • More actors show their orientation with rotation vectors
  • Can now preview Static Light Collection Actor components. A future update will allow you to modify each item's position (along with Static Mesh Actor Collection).
  • Coverlinks are now highlighted like they were in Pathfinding Editor Classic
  • BioWaypointSet (ME1) is now highlighted when one is selected
  • You can now see splines again. This was broken in 4.0.1

Dialogue Dumper

  • Now dumps animation list

Package Dumper

  • Now dumps ME2 functions as bytecode format is identical to ME1
  • The tree now shows full indexed pathing, which is how we want to make all object paths appears in the toolset. All items in the toolset should now be displaying 1-based indexing, like Unreal internally uses.

Metadata Editor

  • Export headers are now fully parsed

Package Editor

  • New treeview right click option: Find References. This tools is super useful for seeing what references the object.
  • Lots of new icons for different types of classes. You can turn them off in the settings.
  • You can now turn off the (Imp)/(Exp) text in settings
  • Bulk export/import of SWF files to a file
  • Added a "Compare to unmodded" option that will compare your currently viewed file to an unmodified version of a file you are looking at. It tries its best to find the unmodified version. Useful to figure out what's changed in a file from its original form.
  • Imports can now be trashed
  • Trailing imports and exports that appear at the end of their respective table, when trashed, will be removed from the file.
  • Porting an object underneath TheWorld.PersistentLevel will now add those items to the PersistentLevel Binary. Trashing items will remove them.
  • Significant improvements to relinker to support more complicated items.
  • Experimental feature: Import all items across files that are referenced. This feature allows you to import all referenced exports in one file to another and will save you immense amounts of time when porting assets between same-game files. This feature is experimental and may not work 100%.
  • You can now port ME1/ME2 static mesh to ME3 by dragging betweeen files that are from different games
  • You can create new blank package files for all three games (and UDK) through the File menu
  • Many more classes support binary relinking.
  • CTRL + A adds a name to nametable.
  • Hold shift when searching for classes or object names to search in reverse, consistent with other Windows features
  • Right clicking a name now has option to find where name is used.

Package Editor Tabs

Textures

  • Texture tab now allows modifying of textures both locally and into new TFC that you specify for ME2 and ME3. ME1 support will be coming in a future update

Shader Decompiler (New)

  • WORK IN PROGRESS
  • This will attempt to disassemble shaders, but it's currently not finished.

UnrealScript (Function)

  • Now supports decompiling ME2
  • ME1/ME2 now have offsets to the relative location in the script at the start of each statement, which makes reading jumps much easier.

Soundpanel

  • Improvements to AFC path lookup

Binary Interpreter

  • The following classes are now parsable:
    • AnimSequence
    • Model
    • Polys
    • FaceFXAsset (ME3 only)
    • ShadowMap1D
    • ShadowMapTexture2D
    • LightComponent(s)
    • World
    • BrushComponent
    • ModelComponent
    • Level
    • DecalComponent
    • RB_BodySetup
    • PhysicsAssetInstance
    • Terrain
    • TerrainComponent
    • StaticMesh
    • FluidSurfaceComponent
    • InteractiveFoliageComponent
    • MaterialInstanceTimeVarying
    • MorphTarget
    • SplineMeshComponent

Plot Editor

  • UI improvements and bug fixes for Codex description

Sequence Editor

  • New toolbox of sequence objects so you can just directly add sequence objects to your sequence without having to track down and manually port types into your file.
  • Right click nodes of certain types to show option to open in that specific tool, such as dialogue editor for conversation nodes.
  • Added options to nodes to break all outlinks, varlinks, and eventlinks
  • Can now repoint incoming references to a sequence variable node. This option is an experimental feature and is useful for swapping highly referenced nodes to another one.
  • Added option to show parsed info about some object, such as displaying the duration of a Delay object without having to drill into the object to find that information.
  • You can now change the length of displayed strings for objects, so if you have huge TLK strings they don't take over the entire screen
  • Now supports ME2 Kismet Logger. ME1 Kismet Logger should already be supported, but we haven't had time to build ME1 Kismet Logger yet.

Natives Editor

  • Add TLK lookups for displaying

Removed features and tools

The following tools have been removed from the toolset:

  • Meshplorer classic has been removed from release builds and has been replaced with Meshplorer WPF.
  • Image Engine
  • Texplorer
  • Package Editor classic
  • Property Database
  • Subtitle Scanner
  • Dialogue Editor Classic
  • InterpViewer Classic
  • Mesh Database

Bugfixes

  • Fixes for ME1, ME2 FaceFX parsing and saving
  • Lots of ancient parsing code was removed and now uses our new modern property parsing
  • Fix ME2 binary relinking of wwiseevent
  • Likely a bunch more that I missed in the 675 commits I had to read to make this changelog.

Mgamerz and others added 30 commits September 23, 2019 10:13
FaceFxAnimSets were not being saved properly when edited in the speaker
SirCxyrtyx and others added 25 commits October 22, 2019 15:16
Actions added from toolbox will have their default event links
Cloning will clear event links
fixed inability to toggle "Show parsed information in comments"
Locking seems to work and means file order in usages is better.
…ard. Make default 40 characters, enough to cover the node in most circumstances.
In case gamedirectory is in settings but not actually there (e.g. removed external drive)
Enums don't convert from object to string apparently.
@ME3Tweaks ME3Tweaks deleted a comment from Kinkojiro Nov 6, 2019
@Mgamerz Mgamerz merged commit 1cc9c50 into master Nov 7, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants