From a41028fafcab47ba0d07b975bbb9abde420f4335 Mon Sep 17 00:00:00 2001 From: Mikaƫl Capelle Date: Thu, 22 May 2025 19:35:44 +0200 Subject: Update following USVFS move to VCPKG. (#2244) --- src/CMakeLists.txt | 6 +- src/mainwindow.cpp | 2 +- src/organizer_en.ts | 808 +++++++++++++++++++++++++++---------------------- src/organizercore.cpp | 2 +- src/settings.h | 2 +- src/shared/util.cpp | 4 +- src/spawn.cpp | 2 +- src/usvfsconnector.cpp | 2 +- src/usvfsconnector.h | 2 +- 9 files changed, 458 insertions(+), 372 deletions(-) (limited to 'src') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 7188c03b..6ef3bd57 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,14 +1,16 @@ cmake_minimum_required(VERSION 3.16) +find_package(usvfs CONFIG REQUIRED) + add_executable(organizer) set_target_properties(organizer PROPERTIES OUTPUT_NAME "ModOrganizer") mo2_configure_executable(organizer WARNINGS OFF EXTRA_TRANSLATIONS ${MO2_SUPER_PATH}/game_gamebryo/src ${MO2_UIBASE_PATH}/src PRIVATE_DEPENDS - uibase githubpp bsatk esptk archive usvfs lootcli boost::program_options + uibase githubpp bsatk esptk archive lootcli boost::program_options DirectXTex libbsarch Qt::WebEngineWidgets Qt::WebSockets) -target_link_libraries(organizer PUBLIC Shlwapi) +target_link_libraries(organizer PUBLIC usvfs::usvfs Shlwapi) target_include_directories(organizer PUBLIC ${DDS_ROOT}) mo2_install_target(organizer) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 8c91083b..bdc40f68 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -76,7 +76,7 @@ along with Mod Organizer. If not, see . #include #include #include -#include +#include #include #include "directoryrefresher.h" diff --git a/src/organizer_en.ts b/src/organizer_en.ts index 46169a5a..abc55c8d 100644 --- a/src/organizer_en.ts +++ b/src/organizer_en.ts @@ -55,77 +55,77 @@ - + Translators - + Cyb3r (Dutch) - + fruttyx (French) - + Yoplala (French) - + Faron (German) - + yohru (Japanese) - + Mordan (Greek) - + Yoosk (Polish) - + Brgodfx (Portuguese) - - zDas (Portuguese) + + Dasinho (Portuguese) - + Jax (Swedish) - + Nubbie (Swedish) - + ...and all other contributors! - + Other Supporters && Contributors - + Close @@ -234,53 +234,53 @@ p, li { white-space: pre-wrap; } - + ID - + Internal ID for the category. - + Internal ID for the category. The categories a mod belongs to are stored by this ID. It is recommended you use new IDs for categories you add instead of re-using existing ones. - + Name + - The display name of the category. - + Parent ID - + If set, the category is defined as a sub-category of another one. Parent ID needs to be a valid category ID. - + Nexus Categories - + Comma-Separated list of Nexus IDs to be matched to the internal ID. - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -293,32 +293,32 @@ p, li { white-space: pre-wrap; } - + Drag & drop nexus categories from this pane onto the target category on the left. - + Nexus Categories (Drag && Drop to Assign) - + Error %1: Request to Nexus failed: %2 - + Add - + Remove - + Remove Nexus Mapping(s) @@ -1164,37 +1164,37 @@ Are you absolutely sure you want to proceed? - + Memory allocation error (in refreshing directory). - + failed to download %1: could not open output file: %2 - + Download again? - + A file with the same name "%1" has already been downloaded. Do you want to download it again? The new file will receive a different name. - + Wrong Game - + The download link is for a mod for "%1" but this instance of MO has been set up for "%2". - + There is already a download queued for this file. Mod %1 @@ -1202,12 +1202,12 @@ File %2 - + Already Queued - + There is already a download started for this file. Mod %1: %2 @@ -1215,247 +1215,247 @@ File %3: %4 - + Already Started - - + + remove: invalid download index %1 - + failed to delete %1 - + failed to delete meta file for %1 - + restore: invalid download index: %1 - + cancel: invalid download index %1 - + pause: invalid download index %1 - + resume: invalid download index %1 - + resume (int): invalid download index %1 - + No known download urls. Sorry, this download can't be resumed. - - + + query: invalid download index %1 - + Please enter the nexus mod id - + Mod ID: - + Please select the source game code for %1 - + Hashing download file '%1' - + Cancel - + VisitNexus: invalid download index %1 - + Nexus ID for this Mod is unknown - + OpenFile: invalid download index %1 - + OpenFileInDownloadsFolder: invalid download index %1 - + get pending: invalid download index %1 - + get path: invalid download index %1 - + Main - + Update - + Optional - + Old - + Miscellaneous - + Deleted - + Archived - + Unknown - + display name: invalid download index %1 - + file name: invalid download index %1 - + file time: invalid download index %1 - + file size: invalid download index %1 - + progress: invalid download index %1 - + state: invalid download index %1 - + infocomplete: invalid download index %1 - - - + + + mod id: invalid download index %1 - + ishidden: invalid download index %1 - + file info: invalid download index %1 - + mark installed: invalid download index %1 - + mark uninstalled: invalid download index %1 - + %1% - %2 - ~%3 - + Memory allocation error (in processing progress event). - + Memory allocation error (in processing downloaded data). - + Information updated - - + + No matching file found on Nexus! Maybe this file is no longer available or it was renamed? - + No file on Nexus matches the selected file by name. Please manually choose the correct one. @@ -1490,12 +1490,12 @@ File %3: %4 - + failed to re-open %1 - + Unable to write download to drive (return %1). Check the drive's available storage. @@ -1994,54 +1994,54 @@ Right now the only case I know of where this needs to be overwritten is for the FileTreeModel - + Name - + Mod - + Type - + Size - + Date modified - + Directory - - + + Virtual path - + Real path - + From - - + + Also in @@ -2911,27 +2911,32 @@ This is likely due to a corrupted or incompatible download or unrecognized archi - + + You need to select an instance before trying to download mods. + + + + Download started - + This shortcut or command line is for instance '%1', but the current instance is '%2'. - + This shortcut or command line is for profile '%1', but the current profile is '%2'. - + an error occurred: %1 - + an error occurred @@ -3176,7 +3181,7 @@ This is likely due to a corrupted or incompatible download or unrecognized archi - + Filter @@ -3267,7 +3272,7 @@ This is likely due to a corrupted or incompatible download or unrecognized archi - + Sort the plugins using LOOT. @@ -3349,7 +3354,7 @@ This is likely due to a corrupted or incompatible download or unrecognized archi - + Refresh @@ -3377,17 +3382,23 @@ This is likely due to a corrupted or incompatible download or unrecognized archi - + + Filter the list so that hidden files are shown. + + + + + Filter the Data tree. - + Saves - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -3400,345 +3411,346 @@ This is likely due to a corrupted or incompatible download or unrecognized archi - + Name - + File - + Downloads - - + + Refresh the downloads. - + This is a list of mods you downloaded from Nexus. Double click one to install it. You can also drag an archive into here. - - + + Show downloads marked as hidden. - + + Hidden files - - + + Filter the list of downloads. - + Main ToolBar - + &File - - + + &Tools - - - + + + &Help - + &View - + &Toolbars - + &Run - - + + Log - + Install &Mod... - + Install &Mod - - + + Install a new mod from an archive - + Ctrl+M - + &Profiles... - + &Profiles - - + + Configure profiles - + Ctrl+P - + &Executables... - + &Executables - - + + Configure the executables that can be started through Mod Organizer - + Ctrl+E - + &Tool Plugins - + Tools - + Ctrl+I - + &Settings... - + &Settings - - + + Configure settings and workarounds - + Ctrl+S - - + + Visit &Nexus - - + + Visit the Nexus website in your browser for more mods - + Ctrl+N - - - - + + + + Browse Mod Page - - + + &Update Mod Organizer - - + + Mod Organizer is up-to-date - + &Notifications... - - + + Open the notifications dialog - + This button will be highlighted on the toolbar if MO discovered potential problems in your setup and provide tips on how to fix them. - - + + Show help options - + Ctrl+H - - + + &Endorse ModOrganizer - - - + + + Endorse Mod Organizer - - + + Manage Instan&ces... - - + + Open the instance manager window to manage a different instance - - + + E&xit - - + + Exits Mod Organizer - + M&ain Toolbar - + &Small Icons - + Lar&ge Icons - + &Icons Only - + &Text Only - + I&cons and Text - + M&edium Icons - + &Menu - + Status &bar - + &Refresh - + F5 @@ -3981,256 +3993,256 @@ As a final option, you can disable Nexus category mapping altogether, which can - + failed to change origin name: %1 - + failed to move "%1" from mod "%2" to "%3": %4 - + Open Game folder - + Open MyGames folder - + Open INIs folder - + Open Instance folder - + Open Mods folder - + Open Profile folder - + Open Downloads folder - + Open MO2 Install folder - + Open MO2 Plugins folder - + Open MO2 Stylesheets folder - + Open MO2 Logs folder - + Restart Mod Organizer - + Mod Organizer must restart to finish configuration changes - + Restart - + Continue - + Some things might be weird. - + Can't change download directory while downloads are in progress! - + Update available - + Do you want to endorse Mod Organizer on %1 now? - + Abstain from Endorsing Mod Organizer - + Are you sure you want to abstain from endorsing Mod Organizer 2? You will have to visit the mod page on the %1 Nexus site to change your mind. - + Thank you for endorsing MO2! :) - + Please reconsider endorsing MO2 on Nexus! - + There is no supported sort mechanism for this game. You will probably have to use a third-party tool. - + None of your %1 mods appear to have had recent file updates. - + All of your mods have been checked recently. We restrict update checks to help preserve your available API requests. - + Thank you! - + Thank you for your endorsement! - + Mod ID %1 no longer seems to be available on Nexus. - + Error %1: Request to Nexus failed: %2 - - + + failed to read %1: %2 - + Error - + failed to extract %1 (errorcode %2) - + Extract BSA - + This archive contains invalid hashes. Some files may be broken. - + Extract... - + Remove '%1' from the toolbar - + Backup of load order created - + Choose backup to restore - + No Backups - + There are no backups to restore - - + + Restore failed - - + + Failed to restore the backup. Errorcode: %1 - + Backup of mod list created - + A file with the same name has already been downloaded. What would you like to do? - + Overwrite - + Rename new file - + Ignore file @@ -4356,55 +4368,68 @@ You will have to visit the mod page on the %1 Nexus site to change your mind. - Optional ESPs + Optional Plugins + Optional ESPs - List of esps, esms, and esls that can not be loaded by the game. + List of esps, esms, and esls that will not be loaded by the game. + List of esps, esms, and esls that can not be loaded by the game. - List of esps, esms, and esls contained in this plugin that currently can not be loaded by the game. They will not even appear in the esp-list in the main MO-window. + List of esps, esms, and esls contained in this mod that currently will not be loaded by the game. They will not even appear in the plugin list in the main MO-window. They usually contain optional functionality, see the readme. -Most mods do not have optional esps, so chances are good you are looking at an empty list. +Most mods do not have optional plugins, so chances are good you are looking at an empty list. + List of esps, esms, and esls contained in this plugin that currently can not be loaded by the game. They will not even appear in the esp-list in the main MO-window. +They usually contain optional functionality, see the readme. + +Most mods do not have optional esps, so chances are good you are looking at an empty list. - Move a file to the data directory. + Move a plugin to the data directory. + Move a file to the data directory. - This moves a esp to the esp directory so it can be enabled in the main window. Please note that the ESP merely becomes "available", it will not necessarily be loaded! That is configured in the main window of MO. + This moves a plugin to the data directory so it can be enabled in the main window. Please note that the plugin merely becomes "available", it will not necessarily be loaded! That is configured in the main window of MO. + This moves a esp to the esp directory so it can be enabled in the main window. Please note that the ESP merely becomes "available", it will not necessarily be loaded! That is configured in the main window of MO. - Make the selected mod in the right list unavailable. + Make the selected plugin in the right list unavailable. + Make the selected mod in the right list unavailable. - The selected esp (in the right list) will be pushed into a subdirectory of the mod and will thus become "invisible" to the game. It can then no longer be activated. + The selected plugin (in the right list) will be pushed into a subdirectory of the mod and will thus become "invisible" to the game. It can then no longer be activated. + The selected esp (in the right list) will be pushed into a subdirectory of the mod and will thus become "invisible" to the game. It can then no longer be activated. - Available ESPs + Available Plugins + Available ESPs - ESPs in the data directory and thus visible to the game. + Plugins in the data directory and thus visible to the game. + ESPs in the data directory and thus visible to the game. - <html><head/><body><p>These are the mod files that are in the (virtual) data directory of your game and will thus be selectable in the esp list in the main window.</p></body></html> + <html><head/><body><p>These are the plugins that are in the (virtual) data directory of your game and will thus be selectable in the plugin list in the main window.</p></body></html> + <html><head/><body><p>These are the mod files that are in the (virtual) data directory of your game and will thus be selectable in the esp list in the main window.</p></body></html> @@ -4699,12 +4724,12 @@ p, li { white-space: pre-wrap; } ModInfoRegular - + %1 contains no esp/esm/esl and no asset (textures, meshes, interface, ...) directory - + Categories: <br> @@ -5345,7 +5370,7 @@ p, li { white-space: pre-wrap; } ModListSortProxy - + Drag&Drop is only supported when sorting by priority @@ -5353,38 +5378,38 @@ p, li { white-space: pre-wrap; } ModListView - + <table cellspacing="5"><tr><th>Type</th><th>All</th><th>Visible</th><tr><td>Enabled mods:&emsp;</td><td align=right>%1 / %2</td><td align=right>%3 / %4</td></tr><tr><td>Unmanaged/DLCs:&emsp;</td><td align=right>%5</td><td align=right>%6</td></tr><tr><td>Mod backups:&emsp;</td><td align=right>%7</td><td align=right>%8</td></tr><tr><td>Separators:&emsp;</td><td align=right>%9</td><td align=right>%10</td></tr></table> - + Copy Folder... - + This will copy the content of %1 to a new mod. Please enter the name: - + A mod with this name already exists. - + Exception: - + Unknown exception - + <Multiple> @@ -6286,148 +6311,187 @@ Continue? - - + + unknown - + Name of the plugin - + Emblems to highlight things that might require attention. - + Load priority of plugins. The higher, the more "important" it is and thus overwrites data from plugins with lower priority. - + Determines the formids of objects originating from this mods. - + failed to update esp info for file %1 (source id: %2), error: %3 - + Plugin not found: %1 - + Origin - + This plugin can't be disabled or moved (enforced by the game). - + This plugin can't be disabled (enforced by the game). - + + Author - + + + Form Version + + + + + + Header Version + + + + + Description - + + Form version of the plugin. + + + + + Header version of the plugin. + + + + + Author of the plugin. + + + + + Description of the plugin. + + + + Missing Masters - + Enabled Masters - + Loads Archives - + There are Archives connected to this plugin. Their assets will be added to your game, overwriting in case of conflicts following the plugin order. Loose files will always overwrite assets from Archives. (This flag only checks for Archives from the same mod as the plugin) - + Loads INI settings - + There is an ini file connected to this plugin. Its settings will be added to your game settings, overwriting in case of conflicts. - + This %1 is flagged as a light plugin (ESL). It will adhere to the %1 load order but the records will be loaded in ESL space (FE/FF). You can have up to 4096 light plugins in addition to other plugin types. - + This ESM is flagged as a medium plugin (ESH). It adheres to the ESM load order but loads records in ESH space (FD). You can have 256 medium plugins in addition to other plugin types. - + + This plugin has the blueprint flag. This forces it to load after every other non-blueprint plugin. Blueprint plugins will adhere to standard load order rules with other blueprint plugins. + + + + WARNING: This plugin is both light and medium flagged. This could indicate that the file was saved improperly and may have mismatched record references. Use it at your own risk. - + This is a dummy plugin. It contains no records and is typically used to load a paired archive file. - + Light plugins (ESL) are not supported by this game. - + This game does not currently permit custom plugin loading. There may be manual workarounds. - + Incompatible with %1 - + Depends on missing %1 - + Warning - + Error - + failed to restore load order for %1 @@ -6524,7 +6588,7 @@ Continue? PluginListSortProxy - + Drag&Drop is only supported when sorting by priority or mod index @@ -6532,35 +6596,49 @@ Continue? PluginListView - - <table cellspacing="6"><tr><th>Type</th><th>Active </th><th>Total</th></tr><tr><td>All plugins:</td><td align=right>%1 </td><td align=right>%2</td></tr><tr><td>ESMs:</td><td align=right>%3 </td><td align=right>%4</td></tr><tr><td>ESPs:</td><td align=right>%7 </td><td align=right>%8</td></tr><tr><td>ESMs+ESPs:</td><td align=right>%9 </td><td align=right>%10</td></tr><tr><td>ESHs:</td><td align=right>%11 </td><td align=right>%12</td></tr><tr><td>ESLs:</td><td align=right>%5 </td><td align=right>%6</td></tr></table> - <table cellspacing="6"><tr><th>Type</th><th>Active </th><th>Total</th></tr><tr><td>All plugins:</td><td align=right>%1 </td><td align=right>%2</td></tr><tr><td>ESMs:</td><td align=right>%3 </td><td align=right>%4</td></tr><tr><td>ESPs:</td><td align=right>%7 </td><td align=right>%8</td></tr><tr><td>ESMs+ESPs:</td><td align=right>%9 </td><td align=right>%10</td></tr><tr><td>ESLs:</td><td align=right>%5 </td><td align=right>%6</td></tr><tr><td>Overlay:</td><td align=right>%11 </td><td align=right>%12</td></tr></table> + + <table cellspacing="6"><tr><th>Type</th><th>Active </th><th>Total</th></tr><tr><td>All plugins:</td><td align=right>%1 </td><td align=right>%2</td></tr><tr><td>ESMs:</td><td align=right>%3 </td><td align=right>%4</td></tr><tr><td>ESPs:</td><td align=right>%5 </td><td align=right>%6</td></tr><tr><td>ESMs+ESPs:</td><td align=right>%7 </td><td align=right>%8</td></tr> + + + + + <tr><td>ESHs:</td><td align=right>%1 </td><td align=right>%2</td></tr> - + <tr><td>ESLs:</td><td align=right>%1 </td><td align=right>%2</td></tr> + + + + + <tr><td>Blueprint masters:</td><td align=right>%1 </td><td align=right>%2</td></tr> + + + + + Sorting plugins - - + + Are you sure you want to sort your plugins list? - + Note: You are currently in offline mode and LOOT will not update the master list. - + Exception: - + Unknown exception @@ -6643,17 +6721,17 @@ p, li { white-space: pre-wrap; } - + Fix - + No guided fix - + (There are no notifications) @@ -7104,7 +7182,8 @@ p, li { white-space: pre-wrap; } - Mod contains selected plugin + Mod contains selected file + Mod contains selected plugin @@ -7112,6 +7191,11 @@ p, li { white-space: pre-wrap; } Plugin is contained in selected mod + + + Plugin is master of selected plugin + + failed to start application: %1 @@ -7629,7 +7713,7 @@ Destination: - + <Manage...> @@ -7639,43 +7723,43 @@ Destination: - + Instance at '%1' not found. Select another instance. - + Instance at '%1' not found. You must create a new instance - + File Exists - + A file with that name exists, please enter a new one - - + + Failed to move file - + Failed to create directory "optional" - + Save changes? - + Save changes to "%1"? @@ -7782,12 +7866,12 @@ Destination: - + failed to access %1 - + failed to set file time %1 @@ -7840,19 +7924,19 @@ This program is known to cause issues with Mod Organizer, such as freezing or bl - - - + + + attempt to store setting for unknown plugin "%1" - + Failed - + Failed to start the helper application: %1 @@ -8293,17 +8377,17 @@ You can restart Mod Organizer as administrator and try launching the program aga - + &Save - + &Word wrap - + &Open in Explorer @@ -8359,12 +8443,12 @@ You can restart Mod Organizer as administrator and try launching the program aga - + failed to query registry path (preflight): %1 - + failed to query registry path (read): %1 @@ -8494,52 +8578,52 @@ You can restart Mod Organizer as administrator and try launching the program aga - + %1 B - + %1 KB - + %1 MB - + %1 GB - + %1 TB - + %1 B/s - + %1 KB/s - + %1 MB/s - + %1 GB/s - + %1 TB/s @@ -10529,19 +10613,19 @@ Please open the "Nexus" tab. uibase - + h Time remaining hours - + m Time remaining minutes - + s Time remaining seconds diff --git a/src/organizercore.cpp b/src/organizercore.cpp index 0f6a1455..19439d76 100644 --- a/src/organizercore.cpp +++ b/src/organizercore.cpp @@ -36,7 +36,7 @@ #include #include #include -#include +#include #include #include diff --git a/src/settings.h b/src/settings.h index 000f85c3..03079e1c 100644 --- a/src/settings.h +++ b/src/settings.h @@ -25,7 +25,7 @@ along with Mod Organizer. If not, see . #include #include #include -#include +#include #ifdef interface #undef interface diff --git a/src/shared/util.cpp b/src/shared/util.cpp index 55a76c23..f17c21b9 100644 --- a/src/shared/util.cpp +++ b/src/shared/util.cpp @@ -22,8 +22,8 @@ along with Mod Organizer. If not, see . #include "../mainwindow.h" #include "windows_error.h" #include -#include -#include +#include +#include using namespace MOBase; diff --git a/src/spawn.cpp b/src/spawn.cpp index 83ac720e..3b00e2b3 100644 --- a/src/spawn.cpp +++ b/src/spawn.cpp @@ -36,7 +36,7 @@ along with Mod Organizer. If not, see . #include #include #include -#include +#include using namespace MOBase; using namespace MOShared; diff --git a/src/usvfsconnector.cpp b/src/usvfsconnector.cpp index 7b75b870..8d1d2960 100644 --- a/src/usvfsconnector.cpp +++ b/src/usvfsconnector.cpp @@ -30,7 +30,7 @@ along with Mod Organizer. If not, see . #include #include #include -#include +#include static const char SHMID[] = "mod_organizer_instance"; using namespace MOBase; diff --git a/src/usvfsconnector.h b/src/usvfsconnector.h index d578ddd4..465e7347 100644 --- a/src/usvfsconnector.h +++ b/src/usvfsconnector.h @@ -30,7 +30,7 @@ along with Mod Organizer. If not, see . #include #include #include -#include +#include class LogWorker : public QThread { -- cgit v1.3.1