ME3TweaksModManager icon indicating copy to clipboard operation
ME3TweaksModManager copied to clipboard

ME3Tweaks Mod Manager 8.0 Changelog

Open Mgamerz opened this issue 2 years ago • 0 comments

ME3Tweaks Mod Manager 8.0 is a large feature update, that completely rebases onto a new shared ME3Tweaks library that will be used in other tools to provide consistent features such as target handling, ASI mods, and logs/diagnostics. It also contains a lot of new features for mod developers and requests by end users.

Please see the known issues at the bottom of this post. Polish and Brazilian Portuguese localizations have been disabled due to abandonment by the original translators. If you wish to update the localizations back so they can be used again, please come to the ME3Tweaks Discord.

Moddesc 8 features

  • This build introduces new features for mod developers:
    • Alternate Option dependencies: Make certain options available (or not available) depending on the selection state of other options. By using new properties you can set up more complex install options for users, such as having to select a main option and then sub options. These are defined by new alternate attributes:
      • OptionKey to uniquely identify an alternate
      • DependsOnKeys for a list of OptionKeys that need to be + selected or - not selected, separated by semicolons
      • DependsOnMetAction defines an action to take when the items in the DependsOnKeys attribute is met
      • DependsOnNotMetAction defines the action to take when the items in the DependsOnKeys attribute is not met
      • This feature only supports the local mod; in the future it might be expanded to checking against installed mods, but there are MANY more issues that would need to be fixed before that would be possible.
    • You can now manually specify the order of alternates - previously it'd be in the declaration order of AlternateDLC and then AlternateFiles. You specify the order by using the SortIndex attribute on alternates - each index must be unique. Alternates that don't have an index are automatically put at the bottom. The values must be greater than 0 but don't need to be sequential.
    • You can disable auto-sort of Not Applicable displayed options from being placed at the bottom of the options list. This is the sortalternates descriptor under the [ModInfo] header
    • Multilists apply operations now have a flattening option that flattens the output of the files to a single directory. Use the new FlattenMultiListOutput attribute on your alternates to use this feature; by default it is false
  • Mods that target moddesc 8.0 will need to have some changes in order for them to properly load, as there are new restrictions on them. This does not affect mods targeting older moddesc levels:
    • Legendary Edition mod alternates DLCRequirements list can no longer use vanilla DLC names. The DLC will always exist; Mod Manager does not support removing DLC that ships with the game. As such, depending on them existing (or not existing) serves no purpose, but does clutter the interface with dependency text that is not useful to the end user
      • This does not affect mods targeting the Original Trilogy

New Features

  • Mod Manager has been rebased onto a new shared library: ME3TweaksCore. This will allow ME3Tweaks to share features such as logs and diagnostics, target handling, ASI management, and other features between other programs, such as Mass Effect Randomizer, ALOT Installer, and other future projects. This large split may have introduced bugs into the program that did not exist previously
  • Game 2 Email Merge: Easily add new emails to Mass Effect 2 and Mass Effect 2 Legendary Edition by including a new file with your mod that will automatically generate the required changes. The documentation on how to use this feature is here, and is very similar to how Squadmate Merge works
  • The mod options selection screen has been entirely rewritten to support new moddesc 8 features. It combines option groups into a single dropdown to conserve space

image

  • Restoring a texture modded game from backup will now attempt to reset packages that were marked as texture modded but have no changes in them. This mostly only will speed up Legendary Edition game restores as Original Trilogy games have mips removed. This is an experimental change. On a lightly texture modded game (say you only changed shep's face textures, for example), a game restore will take about 30 seconds instead of several minutes (this can vary due to a wide variety of factors)
  • The 'experimental' restore feature for the past few months has been promoted to the main restore method (you will no longer be prompted). This method is much faster than a full restore
  • The interface of subpanels should scale with the size of the window for more interfaces. This system is not perfect, it will take some time to refine
  • Mod Manager now uses a blacklist to prevent certain files from being inspected for import. This is used to prevent users from using mods that are known to not work or are harmful to user installations, and have been abandoned by the developer, of which a few were recently brought to light
  • moddesc.ini no longer loads 'cmmver' from the mod version, now it always loads it as the current supported version, and the field is not editable (to reflect what will be serialized to disk if saved)
  • moddesc.ini editor now uses dropdowns for options that only have a fixed set of allowed values. Options that have a default value also will display a blank, in the event the developer did not set the value previously (to prevent modification of the ini)

image

  • NexusMod update checks now show the changelog, if the developer set one for the latest version on NexusMods. This is not a supported feature from NexusMods so it might just break one day without notice

image

  • The mod library will now display a progressbar as mods are loading, as well as underline the current game that is loading. This is helpful for users with libraries that exist on high-latency storage, such as on network storage

Feature requests

  • #264 has been implemented, you can turn it on in the settings
  • #236 has been implemented, along with the ability to re-order alternates of the same type in the editor
  • #272 has been implemented, with a 20% size buffer. The download directory may be configurable in a future update
  • #285 has been implemented, which works ONLY when you are opted into beta updates. There are some potential issues that may occur due to the design of the drag and drop feature that don't play nice with operations occurring in quick succession
  • #296 has been implemented

Changed Features

  • Legendary Explorer Core has been updated to March 19, 2022 Beta
  • Significantly improved content refresh time (which is used for things such as human readable mod names, importing, other things)
  • Opening ASI Manager will now pre-select the current game's tab
  • Nexus File Search list is now virtualized. This means less memory consumption and faster results
  • Nexus File Search now can search for LE1/LE2/LE3 specific games. This depends on tags being set properly on the mod however, so it's not that reliable, because Nexus doesn't have any way to tell what game a mod is for
  • Registering M3 as the NXM link handler manually now shows a dialog indicating that it's been registered
  • Application update notifications should now include the signing date, which can be compared to the date listed on the update
  • Official DLC Toggler should now properly be hidden when OT generation is off
  • Mod deployment checks have been enhanced:
    • LE1 mods can no longer be deployed if they install a TFC to the basegame, as autoload v4 (which is automatically installed by Mod Manager) now supports loading TFCs from DLC folders
    • Mods not enrolled into the NexusMods Updater Service that have a NexusCode will have an informational message shown in deployment with info on how to enroll your mod in the update check system
    • ME1/LE1 now checks for language issues
    • ME1 DLC mods no longer check for 'GUIStrRef' in the ini, it now uses GlobalTalkTable1 instead
    • #284 - Mergemod asset files now have a reference check
    • #282 - Squadmate outfit merge files now check for localizations and required files. This is a best effort system, as squadmate merge is done after installation into a target; where as the check is done before installation. What's installed in a game and what's in the library are not really comparable as they are completely separate filesystem ideologies
    • #273 - Deployment generates a warning if a mod ships a full-file replacement of a mergemod eligible file
    • #261 - .xml/.png/.dds files that can install into the game directory with a mod are flagged as misc warnings

image

  • Batch Mod Queue Editor now supports multiselect for adding multiple mods to the queue at once (hold CTRL or SHIFT)
  • Legendary Explorer Nightly uses the Nightly splash image when launching the tool
  • NXM link forwarding (download with manager) to other apps now can no longer forward mass effect domains, and cannot target 'ME3TweaksModManager.exe' (which could cause an infinite application loop)
  • Icons should now be higher resolution if you're on a scaling above 100%
  • Mergemods will now throw an error on install if they fail to find anything to install to. This only applies when using applytoalllocalizations - this will help catch silent errors if the feature is used wrong (documentation is also updated for this feature to clarify)
  • Online content refresh should now occur faster with a combined single-fetch instead of multiple, smaller fetches. It should also use less bandwidth
  • #289 has been implemented, which should improve library load times when a library reload occurs (though not always, sometimes a full reload is required)
  • #276 has been implemented, which now shows validation messages on the configuration page for the nxm link handler. It also now supports a wildcard to handle all non-handled domains (only one can use a wildcard)

Mod parser updates

  • addfilesreadonlytargets has been removed from the mod parser for official headers. This was only used by Expanded Galaxy Mod (OT) and was used to prevent users from messing with exec files, which is now handled by EGM Settings. This descriptor never worked on ME3Tweaks Mod Manager; the code was fully written, but the parser never fully parsed the values, so it was never used. Since nobody has noticed or mentioned it in 2 years, it's being removed. This feature did not have a functional impact on the game.

Bugfixes

  • .NET requirements for applications should now be more reliable; the old design was not accurate and has become worse over time
  • When a ModMaker compiler error occurs, an error is shown. Due to an oversight the error message was never displayed
  • Panels (the content that appears centered in the window) now properly size if queued, e.g. you drag/dropped an archive file while the mod update panel was showing
  • Archive Deployment: only check misc issues against referenced items. Before it would look at all files in the mod folder, even if they were not referenced for inclusion in the archive
  • Fix ModName not showing in Archive Deployment if a mod was missing the mod site attribute
  • Log Uploader: Cannot select LELauncher as a target
  • 'List files this mod can install' now properly prepends the paths for alternates; e.g. /BioGame/DLC will be prepended like other files that are always installed
  • The updated Legendary Explorer Core codebase means that mergemods should more reliably install and not need to be split apart into different files; mods will need to use minbuild descriptor to ensure that mods that depend on this fix do not get installed by older versions of Mod Manager
  • Mousewheel now works when editing multilists in moddesc.ini editor
  • LE2 non-INT coalesced files can now be decompiled (header is different for some reason)
  • Download with Manager now works with mods that don't include a moddesc.ini file (OT only) that used a custom-made server moddesc (typically only old mods)
  • prefercompressed moddesc option is no longer available in the editor for mods targeting Legendary Edition since it has no effect
  • #270 - mods that had nexuscode set that did not point their modsite to nexusmods, but were opted into the NexusMods updater system, would direct users offsite from nexus
  • #263 - Mod updates now only check against mods that were just imported and are coalesced into a single update check after the last queued panel is shown

Miscellaneous notes

  • Blank versions of all mods on NexusMods containing moddesc.ini files in them have been generated for use as test cases to ensure old mods load on newer versions of Mod Manager. This should help ensure backwards compatibility, at least for mod loading (mod installing testing would be extremely complicated)

Known issues

  • Panel sizes aren't that great on a few panels, please report them on the Discord

Re-release changelog

These are the changelogs for betas, soak tests, and bugfix updates for this build.

Beta 2 update April 27 2022

  • Can now search the mod library with CTRL + F. It's a bit jank still due to how input focusing works. Searches mod name and author
  • ModDesc 8: Alternates now have Hidden attribute (not visible in editor yet) that can be used to pivot dependencies onto other alternate conditional features, while not having the option visible to the user since they're just autos used to do things like DLC detection. This only works on alternates that don't specify GroupName.
  • Bugfix: Backup creator panel should now be visible
  • Legendary Explorer Core updated to April 27, 2022
  • There are still some issues with the new mod install option selector panel that can lead to mods that have certain moddesc setups from being able to be installed. This is a very complicated issue and will take some time to solve

Beta 3 update June 2 2022

  • Updated bink ASI loader to enable new upcoming features
  • New merge mod type: addtoclassorreplace
    • This allows you to add Enums, Structs, States, Functions, or variables to a class; or to replace an existing one of the same name.
  • Build is now localized to english (which prepares it for localization to other languages)
  • Installation Information: Textures tab now shows 'No texture mods installed' if none are installed
  • Added command line options for LEX to install ASI mods and bink
  • Fix: SevenZipLibrary should work now when username contains unicode characters
  • Fix: outdatedcustomdlc descriptor not serializing in moddesc editor
  • Fix: Archive deployment panel not resizing when adding more than one mod to deployment
  • Fix: Mod not being highlighted after import

Beta 3 BUGFIX UPDATE 1 June 6 2022

  • Fixed new command line options not working when issued from single-instance. This update is required for new LEX nightly features to work.
  • ModDescEditor: Catch potential crashes so you don't lose all your work
  • Dynamic help now supports icons and will have them added soon

Beta 4 Update June 11 2022

  • Bink ASI loader for LE updated to version 2008 to hopefully address game crashing issues when used with Origin In-Game Overlay
  • Mod options picker has been updated to be more reliable.... I hope
  • cmmver 8 changes:
    • requireddlc and the single version (prefixed with ?) now support minimum version enforcement by putting the version in parenthesis after the requirement, such as DLC_MOD_EGM(0.60). This feature REQUIRES all other mods to be installed by an ME3Tweaks-developed managed installer; version information will not be available if other installation methods are attempted
  • Menu changes:
    • Added See what's installed to Mod Management; this is just Manage Target as a menu item for users
    • Added Drag and Drop operations to Tools menu. This will allow you to manually perform the coalesced compile/decompile operations
  • Game1 TLK Merge changes:
    • Mods using this feature targeting cmmver 8 and higher will now serialize xml files to a single m3za file, which is a random-accessible compressed archive that can be stored in a deployed mod. This saves disk space over the current implementation and for large game-translation mods will significantly increase performance as filesystem enumeration on slower systems (like a NAS) has had terrible performance
    • Mods targetting cmmver 8 and higher using this feature will have to be deployed through mod manager - mod will refuse to load otherwise
  • No compatible mods message has been updated to match generation settings
  • Improved logging for thread work
  • Improve error handling by checking for thread errors before accessing thread result with background workers in areas where this wasn't done
  • Mod Loader: When refreshing library after import, only reload the specific game
  • ASI Manager (M3Core): Support beta only ASIs
  • App now warns you if basegame file will change and there is no backup with console keybinds (Game 3), keybinds injector (Game3), and Plot Sync feature, since it will prevent backups

Beta 5 June 14 2022

  • Added moddesc.ini updater service which can be used by ME3Tweaks to update the moddesc.ini file of abandoned mods to ensure compatibility with future versions of Mod Manager if there is a breaking change
  • 7z dll has been updated to 21.07
  • Added text to TPMI submission to help clarify what submitting does
  • Fix moddesc editor always writing outdatedcustomdlc= even if the list was empty to CUSTOMDLC task header
  • Added a message about deployment to the top of the Archive Deployment panel
  • Fix moddesc editor not serializing single optional dlc in the requireddlc list
  • Archive Deployment dialog: Now supports opening LEX to a specific entry
  • Improve texture references check speed

Beta 6 July 1 2022

  • Fix regression in 8.0 where SFAR files were not being updated, which would lead to game crash in ME3 when using controller mods
  • Partial ITA localization update
  • Improve ITA localization support by remembering language setting for ITA
  • Improve language switching speed
  • Remove the Basegame File Identification Service that is based on ME3Tweaks server. Now it will just rely on what you locally installed with Mod Manager
  • Update .NET version for security fixes

Beta 7 July 16 2022

  • Localizations have all been updated, though a few strings remain for some of them (Edit: Not actually POL)
  • Brazilian Portuguese localization has been disabled due to lack of updates
  • Legendary Explorer Core code updated to July 15 2022 (fixes a bunch of script compiler bugs)
  • Fix unicode characters in tips service panel showing oddities
  • Merge mod installation progress is now more accurate - e.g. it will progress more if a file has tons of stuff in it, rather than just sit at 0%
  • Merge mods now support array properties using new arrayproperty system (thanks @SirCxyrtyx)
  • Merge mod compiler is now background threaded and will show progress on the bottom left to indicate a compile has been done
  • Fix some typos in INT localization
  • Fix merge mod property updates for Enum, Name, and Object property not working if in a struct (thanks @SirCxyrtyx)
  • Merge mods for properties can now target static array properties and instanced name properties

Beta 8 July 23 2022

  • Localizations have had minor text updates
  • Updated the about panel to add more credits for localization
  • Implemented a proper version comparison since Microsoft's thinks 1.1.0 and 1.1 are not the same numerically
  • Fixed 'no mods in archive' text showing at the wrong location in the importer panel
  • Updated logging and diagnostics text and formatting
  • Log uploader panel now shows the current log file
  • Fix 'Hidden' option for alternates not serializing in the moddesc editor

Beta 9 Soak Test 1 July 23 2022

  • Fix diagnostic logs complaining about files not on disk when checking TOC on disabled DLC mods
  • Diagnostic logs now include more information about hash buckets and entry count for TOC to see if maybe it has to do with a few reports of game hitching, but this should have been fixed over a year ago
  • Legendary Explorer Core code updated to 07/23/2022

Soak Test 2 July 24 2022

  • Fix #317
  • Add support for immediate panel swapping to program update notification that would help suppress impact of #317
  • Fix mod library not loading after closing welcome panel due to change in how panel result is handled
  • Remove BRA from welcome panel since it is not supported anymore

Soak Test 3 July 25 2022

  • Fix alternates not keeping declared order even when sorting is disabled
  • Allow nexusmod download requests to swap panels with the mod update information panel for a better UX on mod updates
  • Restore Panel: Hide restore button if game isn't backed up
  • Fix memory leak in mod updater panel when panel is queued after mod imports
  • Fix scroll wheel not working on expanded options in mod option selector
  • Hide 'compress packages' for LE-only archives
  • Handle TLK merge failures gracefully instead of crashing
  • Fix failed mods expander being open by default, but blank
  • Fix crash when installing mods from archive when no backup was available

Soak Test 4 July 27 2022

  • Fix potential crash when swapping panels and the panel is attempting to resize
  • Installation options using the depends system should now more reliably do the initial selection of options
  • (M3Core) Fix crash when installing bink asi loader from asi manager and game is running

Soak Test 5 August 5 2022

  • Mod options dialog: Wrap text
  • Fix log and error messages for duplicate option keys
  • Fix crash when authorizing with nexus

Soak Test 6 August 7 2022

  • Fix alternates not read sortindex if not used with dependskeys
  • Fix update check only checking visible mods

Release Candidate 1 August 9 2022

  • Allow main window to be made slightly smaller, which can help with issues when users use a very high dpi scaling
  • SortIndexes for items in an optiongroup must now be the same (or same + undefined), to ensure proper sorting of alternates. They still must remain unique across other options/groups
  • Fixed long mod options 'glitching' and clicking the wrong item when part of the list was scrolled offscreen and it attempted to focus it
  • Polish localization disabled due to lack of updates

Release Candidate 2 August 10 2022

  • Suppress a few crashes related to installing bink as seen in telemetry
  • Improve wording in log messages about duplicate optionkey values
  • Fix UI binding not fully showing information in the other tab in Installation Information until you changed away and back to the target
  • Installation Information will now forcefully select modified basegame files when selecting the LELauncher target since nothing else is supported for that 'game'

Bugfix update August 13 2022

  • Fix crash when selecting 'Manage Target' and the LELauncher target is selected as the current target
  • ASI Manager Panel: Properly select initial tab if some games are not installed

Bugfix update August 20 2022

  • This build features backported bug fixes from 8.0.1:
    • Fix starter kit having red boxes around the buttons
    • Fix game 1 TLK merge not working (thanks @TaKo)
    • Fix ME2/ME3 links being mixed up in the nexus update prompt (thanks @khaar)
    • Fix ME1 config files not actually being set read only (thanks @toni)

Bugfix update August 21 2022

  • This build features backported bug fixes from 8.0.1:
    • Fix TLK merges not working in some scenarios due to changes in how Legendary Explorer Core loaded local TLKs
    • Fix 'View Source Code' not working in ASI Manager panel due to how ASI Manager changed in Mod Manager 8

Mgamerz avatar Dec 02 '21 18:12 Mgamerz