-
Notifications
You must be signed in to change notification settings - Fork 165
Mod Organizer 2 Development Changelog
Mikaël Capelle edited this page Feb 2, 2021
·
266 revisions
See Mod Organizer 2 Changelog for changes to released software.
- The settings have been re-organized:
- The download list settings have been moved back to the "General" tab.
- There is now a "Theme" tab where you can change MO2 global theme and colors.
- The "User Interface" tab has been renamed "Mod List".
- The "Steam" tab has been removed and its content moved to the "Workarounds" tab.
- Non Nexus-related settings have been moved from "Nexus" to "Workarounds".
- Old unused settings have been removed: hide unchecked plugins and load mechanism.
- There is now a
--pick
option that forces MO2 to show the "Instance manager" dialog on startup. - The Data tab is now updated when mods are moved, removed or enabled.
- Collapsible separators are now enabled by default when sorting by descending priority.
- The "Forced Load Libraries" dialog should now be correctly populated on first use.
- Changing the sort order when using collapsible separators will now properly refresh the mod list (a manual refresh was required before).
- Fix an issue where separator names would be used when installing a mod instead of archive name.
- The log list should now be correctly populated on startup.
- The mod counter should now properly update when filtering.
- Right-clicking on an empty space in the plugin list does not trigger an error anymore.
- "Enable all"/"Enable selected" will not enable backups anymore.
- Fix an issue where priority of new mods or dragged mod would be set improperly.
- Downloading mods from Nexus should not make MO2 the top-level application anymore.
- The "Show meta information" settings for the download list should now work properly.
- Fix an issue where plugins could get disabled after refresh if the case of the name did not match.
- Symlinks/reparse points for directories should now work with Wine.
- Qt 5.15.0 -> 5.15.2 (already in last build)
- boost 1.74.0 -> 1.75.0
- fmt 7.0.3 -> 7.1.3
- lz4 1.9.2 -> 1.9.3
- openssl 1.1.1h -> 1.1.1i
- pyqt 5.15.1 -> 5.15.2
- sip 5.4.0 -> 5.5.0
- python 3.8.6 -> 3.8.7
- spdlog 1.8.0 -> 1.8.2
- Collapsible separators:
- Added collapsible separators when sorting by reverse priority.
- Collapsed separators now display contents, flags and versions from the mods they contain.
- Alt+Click can now be used to select a separator with all the mods it contains.
- When a collapsed separators is selected, highlight conflicts and plugins as if all the mods in the separator were selected.
- A new User Interface tab has been added to the Settings dialog with multiple new settings:
- Check for updates after a mod installation (enabled by default) (#1039).
- Disable/enable collapsible separator in ascending or descending priority order (both enabled by default).
- Automatically hide downloads after installation (disabled by default).
- Remember active modlist filters after restarting MO.
- Auto collapse items on hover during drag.
- Profile specific separator collapsed state.
- Show conflict colors on/from collapsed separators.
- Which icons to show on collapsed separators.
- Add context menu entries to send selected mods before first or after last conflicting mods (#697).
- The "Install mod" context menu entry will now install the mod above/below the selected mod when sorting by priority (#1369).
- Add keyboard navigation to the download list (#924):
- Install selected mod: Enter
- Remove selected mod / cancel download: Del
- Pause / resume download: Space
- When deleting a download, the filename is now displayed in the confirmation dialog (#1345).
- You can now select multiple lines in the log list and copy them using Ctrl+C.
- Three new commands have been added to the command-line interface of MO2:
-
ModOrganizer.exe refresh
causes the currently running instance of MO2 to refresh. -
ModOrganizer.exe reload-plugin "A Plugin"
causes the currently running instance of MO2 to reload the MO2 plugin named "A Plugin". -
ModOrganizer.exe run
can run a program, file or a configured executable. Seerun --help
for more information.
-
- Prevent MO2 from crashing when filtering category if a category is its own parent.
- Fix MO2 crash on empty/corrupted BSAs when archive parsing is enabled.
- Fix an issue where MO2 would not properly set the path for games when the executable is in a sub-folder (#1346).
- Fix dropping of mods below/above collapsed separators.
- Fixed modlist shift selection weirdness caused by accidentally triggering an Edit operation while selecting.
- Editing the priority of a plugin via the cell editor now properly writes the load order (#522).
- Running executable using the command line should now properly update loadorder etc. after execution (#1094).
- Fix mod name case handling to avoid issues when mod folders or modlist.txt are changed outside MO2.
- Fix various issues and errors related to pluginlist priority locking.
- Fix issues with selection being lost after changing the priority of mods.
- Fix improper highlighting for conflicts between archive and loose files.
- Allow preview on files with uppercase extensions (.DDS).
- Fix drag & drop issues in the manual installer (folders not merging, drag&drop not enabled).
- Fix changing priorities sometimes leaving gaps if mod backups exist.
- Added "Dragon Age: Origins" support
Huge thanks to Holt59 for implementing everything here!
New feature: collapsible separators!
- Enabled by default when sorting by ascending priority.
- Disabled when grouping by something else (Nexus ID or Category).
- Disabled when sorting by descending priority and by any other column.
- Can be globally disabled in the settings (first tab, "Mod List" group below the old "Download List" group).
- Mods under separator are not indented on purpose while using collapsible separators.
- When a separator is collapsed, it will visually reflect its children:
- The marker on the scrollbar will take the color of the children markers (combined).
- The background of the separator will take the color of the children markers (combined).
- The icons in the conflicts column will reflect conflicts from the children (combined).
- This can be disabled in the settings.
- When using collapsible separators, the 'Filter Separators' box in the filter list is disabled.
Drag&Drop improvements for the mod list:
- The UI should reflect more appropriately invalid action, e.g. drag&drop while not sorting by priority or trying to drop a file in an invalid mod.
- The drop indicator now span the whole row instead of only the column.
- With collapsible separators, you can drop onto a separator (collapsed or not) and the mod will drop at the end of this separator.
- New drag&drop features:
- You can now drag&drop from the download list to the mod list to install a mod at a specific priority.
- You can now drag&drop external archives to the mod list to install a mod at a specific priority from an external file (only if the file is supported by MO2).
- You can now drag&drop external folder to the mod list to copy them.
- Shift+Enter on the mod list will now expand or collapse the current item or its parent when possible (with collapsible separators or in group by).
- Page Up/Page Down can be used to go to next or previous mod in the information dialog.
- The previous/next mod action should be fixed for category/nexus grouping.
- Ctrl+C on the mod list or the plugin list will now copy the names of the selected mods/plugins.
- Running a shortcut to a program when UI locking is disabled should make the mods available correctly (#422)
Usvfs:
- Moderate performance optimizations for "Preparing VFS"
- Fixed Explorer++ generating empty
Device
folders in overwrite - Fixed a rare crash when a hooked process tried to terminate a child process
- Fixed a rare crash (found with NifSkope) when trying to move to a larger shared memory instance
- Fixed multiple processes sometimes having a different view of the virtual filesystem
Improvements:
- Added support for installing OMOD format mods (thanks to AnyOldName3!)
- Added support for installing BAIN Wizard mods (thanks to Holt59!)
- Added Refresh button to toolbar and menu
- Greatly improved performance of the Downloads Tab when refreshing
- Searching downloads now checks all the columns, added regex support
- Improved normal BAIN mods package detection (ignore screenshots, docs etc.)
- Added "Select" button in Profile dialog and double-click on profiles in the list
- Added delete key shortcut in the Saves tab
- Added "Open in Explorer" option to Saves tab right-click menu
- Added toggle for Nexus mod tracking integration
- Added option for using custom browser to open links
- The "Create file in mod" list is now searchable by typing in the box
- Improved blue conflict icons (thanks to BlueAmulet!)
- Added new Morrowind Style by Trosski
- More logging and diagnostics
- Warn users before disabling plugins that are required by other plugins.
- Disable activating plugin that cannot be used with the current game.
Fixes:
- Fixes for offline mode: skip nexus login, update check on mod install, sort plugins, etc.
- Fixed multi-selection mark converted/ignore missing data crashing or not working correctly with a filtered modlist
- Fixed Executables shortcuts not getting hooked correctly when MO2 locking is disabled
- Improved stability when installing large mods (3DNPCS)
- Show a warning when attempting to rename the active profile in Profile dialog
- Don't refresh Modlist when opening Profiles dialog
- Update mod count when creating/restoring backups
- Properly ignore .log1 .log2... files in overwrite if ignore logs is used
- Updated Qt to 5.15.2:
- Fixed a crash on startup with some particular windows locale settings
- Potentially fixed Network issues when using VPN or similar things
New game support:
- Kingdom Come Deliverance (Silencer7111)
- No Man's Sky (EzioTheDeadPoet)
- Fix the default executable and the game detection for non-Steam/GOG version of Darkest Dungeon.
- Added GOG ID to Dungeon Siege II.
MO2 API changes (for MO2 extension dev):
- added
modInfo::isSeparator()
,isBackup()
etc - added refresh option to
waitForApplicatio()
- changed the way saves are listed by game plugins.
- added functions to define for requirements between plugins
Improvements:
- Add a completely new instance management dialog to switch/create/rename/delete instances.
- Comes with buttons to explore the paths of an instance and opening the modorganizer.ini file.
- Instance deletion will now support deleting customized instance paths such as base directory/mods/downloads etc.
- Users can now select which paths to keep or delete.
- Instance creation comes with a new wizard like setup to choose the game, define paths and optionally log into nexus.
- Overhaul Mo2 command line with new commands and options(backwards compatible with current stuff):
-
crashdump
: replaces the old--crashdump
. -
-i <instanceName>
: overrides the instance to open. -
-p <profileName>
: overrides the profile to open. -
--multiple
: allow running a new MO2 process even if other MO2 processes are already running. - Warning!
--multiple
is unsupported and can create all sorts of weird problems. To minimize these:-
- never have multiple MO processes running that manage the same game instance;
-
- if an executable is launched from an MO process, only this process may launch executables until all processes are terminated;
-
- it is recommended to close all MO processes as soon as multiple processes become unnecessary.
-
-
- Add counter tooltips to general conflicts tab with more info such as total amounts of files, archive/loose and percentages.
- Remember currently open tab in right panel.
- Improve simple archive detection (when archive contains Data + images).
- Recognize Nemesis_Engine as valid mod content.
- Moved the registry key from
HKCU/Software/Tannin
toHKCU/Software/Mod Organizer Team
.
New game support:
- Mod Organizer now comes with support for a couple of new games:
- Darkest Dungeon
- Dark Messiah of Might & Magic
- Dark Souls
- Dungeon Siege II
- Mirror's Edge
- Mount & Blade II: Bannerlord
- STALKER Anomaly
- Stardew Valley
- The Binding of Isaac: Rebirth
- The Witcher 3: Wild Hunt
- Zeus and Poseidon
- Support for these games is still preliminary. Some parts of the user interface might show elements that are unused by the game.
- Many thanks to Holt59 for his hard work on the infrastructure to support these non-Bethesda games, as well as erri120, EzioTheDeadPoet, Qudix and Syer10 for creating plugins for some of the games.
Fixes:
- Fix bsa packer "Archive is not on writing mode" error when packing.
- Fix archive conflicts not updating during refresh (NOTE! This is still bugged, two consecutive refreshes are required to properly update archive conflicts).
- Fix advanced conflicts tab not respecting correct archive conflicts ordering.
- Fix conflicts tabs sorting being case sensitive.
- Fomod installer: use first option when incorrect archives have multiple options with same priority.
Plugin interface:
- Plugin can now access the underlying data structure of a mod using
fileTree()
. - Improve handling of inactive plugins:
-
onInstallationStart
andonInstallationEnd
is not called anymore on inactive installers. - Registered callbacks will not be triggered for inactive plugins.
- Inactive preview plugins will not be used for previews.
-
-
IInstallationManager::setUrl
has been removed, useIModInterface::setUrl
inonInstallationEnd
. - Some methods from
IOrganizer
have been moved toIModList
:-
allModsByProfilePriority
(previouslymodsSortedByProfilePriority
),getMod
,removeMod
,onModInstalled
. - New callback
IModList::onModRemoved()
.
-
-
IOrganizer::refreshModList()
is nowIOrganizer::refresh()
and is a complete refresh (equivalent to F5). - Add profile-related callbacks to
IOrganizer
:onProfileCreated
,onProfileRenamed
andonProfileRemoved
.
- Cancelled installation are not considered failures anymore.
- Fix an issue of the bulk update check for mods with invalid game sources, improved result logging.
- Allow users to choose which mod to install when multiple mods are bundled together in a single archive.
- Add a setting to allow installation of mods from Nexus SSE in MO2 instances for Skyrim or Enderal (disabled by default).
- Fix an issue where the installation file was not set properly in
meta.ini
when using bundled archives. - Re-installing a BAIN mod will now select the previously chosen options by default when possible.
- The "Plugins" tab of MO2 Settings has been improved.
- Fixed rare case of MO2 skipping mod files during refresh for conflict detection.
Games support improvements:
- Fix an issue where saves would not be displayed properly when INI files where present with non profile-specific saves for non-Bethesda games.
- Fix an issue where saves would not be displayed for games that have a non-flat saves directory.
- Profile-specific game saves cannot be enabled anymore if the game plugin does not support them.
Dependencies updates:
- libLoot 0.15.2 -> 0.16.1
- Qt 5.14.2 -> 5.15.0
- Boost 1.73.0 -> 1.74.0
- fmt 6.2.0 -> 7.0.3
- icu 66 -> 67
- nasm 2.14.02 -> 2.15.05
- nuget 4.9.3 -> 5.7.0
- openssl 1.1.1g -> 1.1.1h
- pyqt 5.14.2 -> 5.15.1
- sip 5.2.0 -> 5.4.0
- spdlog 1.5.0 -> 1.8.0
Plugin interface:
- Plugins can now access most of the information in the
meta.ini
of mods. - Plugins can now store settings per-mod.
- Add new pre- and post- installation callbacks to installer plugins.
-
onPluginStateChanged
now accepts a list of plugins instead of a single plugin. - Add missing calls to the
onPluginStateChanged
callbacks.
- Fomod installer: ignore some missing folder warnings (unofficial NMM standard).
- Added "Open meta file" right-click option to Downloads tab (Thanks erri120).
- Made Mo2 update dialog show changelogs from all the releases, not just the last one.
- Made Ini Editor CTRL+F search wrap around the document instead of failing if cursor is after the match.
- Fixed some Mo2 metadata getting lost when reinstalling a mod.
- Fixed executables crashing if they were installed in paths starting with the mods folder, but not actually in it: (C:\MO2\mods tools\bleh.exe).
- Correctly mark downloads of replaced mods as uninstalled (archives of updated mods will now show up as uninstalled).
- No longer mark downloads as uninstalled when removing a backup.
- Improved mod conflicts tab labels and tooltips.
- Ask whether BSA archives should be deleted after extraction during mod installation.
Plugin interface:
- Added missing onPluginStateChanged().
- Fixed onPluginMoved().
- Added a bulk-version of ModList::setActive().
- Added IPluginList::setPriority().
Older: 2.3.0, 2.2.2, 2.2.1 and before.