Compare commits

...
Author SHA1 Message Date
pre-commit-ci[bot] 7665d9dd61 [pre-commit.ci] Auto fixes from pre-commit.com hooks. 2025-05-31 07:34:59 +00:00
Mikaël Capelle 12104ed988 Add checkbox to enable USVFS debug mode. 2025-05-31 09:34:06 +02:00
Mikaël Capelle 87d0f2eeb6 Fix registry for 2.5.3-beta.2. (#2250) 2025-05-29 14:24:52 +02:00
Mikaël Capelle 455b5075f1 Update registry for 2.5.3-beta.2. (#2249) 2025-05-29 13:06:12 +02:00
Mikaël Capelle 39210af3e5 Move to VCPKG (#2068)
* Remove SConscript related files.
* Force-load translations from uibase and gamebryo/creation.
* Bring githubpp here and add a standalone preset.
* Switch VersionInfo -> Version for ModOrganizer2. (#2063)
* Add pre-commit hook.
* Use 7zip build from VCPKG registry.
* Use archive.dll from the bin folder instead of dlls.
2025-05-29 11:04:36 +02:00
Jeremy RimpoandMikaël Capelle 3a8ea3ccce Oblivion Remastered Meta PR (#2241)
* Allow for mod directory maps
- Set main data files based on game
- Mapped mod directories to VFS
- Update overwrite setup

* Skip if mod contains no 'data' dir

* More mod directory compatibility fixes

* Workaround for Obl:Rem save location
- SLocalSavePath does nothing yet MO2 wants to use it to override the default save location
- This only applies to BGS games anyway, we should move this logic

* First pass for overwrite mod directory support

* More overwrite move / delete restrictions

* Fix issue with moving directories that are not required

* Formatting pass

* More modDataDirectory updates

* Formatting

---------

Co-authored-by: Mikaël Capelle <capelle.mikael@gmail.com>
2025-05-23 14:08:01 -05:00
5d766e94a7 Mass Metadata Parsing: Prevent re-querying and manual prompts to enter missing data (#2135)
* Add a button to "Query Info" of every download in the list

---------

Co-authored-by: Deewens <dudonadrien@gmail.com>
Co-authored-by: KenJyn76 <liambonilla@gmail.com>
Co-authored-by: Al <26797547+Al12rs@users.noreply.github.com>
2025-05-23 09:24:23 +02:00
Jonathan Feenstra a823d2aa88 Ignore conflicts between hidden files (#2148)
* Ignore conflicts between hidden files
* Optimize checks for .mohidden extension
2025-05-23 09:23:36 +02:00
RJandRJ b531bbff39 Update following SafeWriteFile changes (#2218)
Co-authored-by: RJ <Liderate@users.noreply.github.com>
2025-05-23 09:18:03 +02:00
RJandRJ 3ef0db4cca Speedup refresh when archive parsing is enabled and updateBSAList (#2239)
* Precompute load order for ModThreads
* Precompute file infos for plugin association check

---------

Co-authored-by: RJ <Liderate@users.noreply.github.com>
2025-05-23 09:15:43 +02:00
Jeremy Rimpo 15f3d2ba05 Fix an error when filters hide highlighted rows (#2245)
- Crash caused by dataChanged triggering selectionChanged in loop
- Repaint accomplishes what we need
2025-05-22 14:35:48 -05:00
Jeremy Rimpo 48f1f600de Update copyrights (#2246) 2025-05-22 20:51:49 +02:00
Mikaël Capelle a41028fafc Update following USVFS move to VCPKG. (#2244) 2025-05-22 19:35:44 +02:00
Jeremy Rimpo eddc30a47f Dependency Updates Meta PR (#2242)
* Update dll manifests
* Fixes for emit / model refresh issues
2025-05-22 10:38:39 +02:00
RJandRJ 52b37a760c Store integer instead of QString in categories table ID columns (#2230)
Co-authored-by: RJ <Liderate@users.noreply.github.com>
2025-04-12 14:46:03 +02:00
RJandRJ bff386d277 Do not sort categories table while adding rows (#2229)
Co-authored-by: RJ <Liderate@users.noreply.github.com>
2025-04-01 13:33:52 +02:00
Jonathan Feenstra d2832ec9c3 Add new contributors to the about dialog (#2175) 2025-03-01 11:49:18 +01:00
Chris Djali 62ccbb1d02 Write BOM if original file used one (#2213)
Important for UTF-16 as lots of things can't detect or read UTF-16 without a BOM
2025-02-28 19:52:49 +01:00
Jonathan Feenstra 6299be28e1 Add form and header versions to plugin list tool tips and plugin API and add more columns (#2200) 2025-01-31 20:07:41 +01:00
Jonathan Feenstra 9049e65c5e Add startDownloadNexusFileForGame (#2181) 2025-01-02 14:10:53 +01:00
Jonathan Feenstra f8340e1620 Highlight mods that contain selected files in data tab (#2179) 2025-01-02 08:52:38 +01:00
Jonathan Feenstra 110014bf5e Update readme (#2180) 2024-12-25 11:22:19 +01:00
Jonathan Feenstra 91912f5fef (Un-)endorse & (un-)track mods from the same source (#2141) 2024-10-30 16:20:39 +01:00
Jonathan Feenstra f42a9f1cef Fix error message showing even though instance is already selected (#2154) 2024-10-30 15:20:04 +01:00
Jonathan Feenstra 61ef16d08d Hide hidden folders if "show hidden files" is unchecked in data tab (#2146) 2024-10-16 08:36:12 +02:00
Jonathan Feenstra c44ee31e9f Prevent crash when opening NXM link before selecting instance (#2144) 2024-10-15 11:02:56 +02:00
Jonathan Feenstra 08fc25d641 Show blueprint master count in plugin counter tooltip and hide unsupported plugin types (#2143) 2024-10-13 13:24:43 +02:00
Jonathan Feenstra f305502c5d Match capitilization of "Hidden files" in data tab with downloads tab (#2142) 2024-10-13 12:42:01 +02:00
Jonathan Feenstra b6de58f2d3 Highlight masters of selected plugins (#2140) 2024-10-12 13:37:58 +02:00
Jonathan Feenstra 75e24cd926 Rename Optional ESPs tab to Optional Plugins and improve wording (#2134) 2024-10-10 13:50:24 +02:00
Jonathan Feenstra bafc058b7f Add filter checkbox to data tab to show/hide hidden files (#2136) 2024-10-10 13:49:31 +02:00
Jonathan Feenstra 71434efaa9 Include notes in search when filtering mods if the column is enabled (#2139) 2024-10-10 13:45:40 +02:00
Jonathan Feenstra 8f1dbe9f35 Resize columns to contents in notifications window (#2128) 2024-10-03 09:48:50 +02:00
Jeremy RimpoandJonathan Feenstra 19fae10b2b Starfield Updates: Shattered Space & Blueprint Support (#2131)
---------

Co-authored-by: Jonathan Feenstra <26406078+JonathanFeenstra@users.noreply.github.com>
2024-10-03 09:46:53 +02:00
Jonathan Feenstra 7ed06a77c1 Add author and description methods to IPluginList (#2118) 2024-09-28 19:58:29 +02:00
Mikaël Capelle 9c130cbf2f Bump version to 2.5.2. (#2090) 2024-08-04 09:58:53 +02:00
Mikaël Capelle ea38fdc6ce Replace chopped by mid in download list. (#2089) 2024-08-03 13:37:39 +02:00
Mikaël Capelle 89f39ef200 Bump version to 2.5.2rc2. (#2084) 2024-08-01 10:58:31 +02:00
Mikaël Capelle acd201157d Move slot connections to avoid issue when starting MO2 to download a NXM link. (#2082)
* Move slot connections to avoid issue when starting MO2 to download a NXM link.
2024-08-01 10:40:44 +02:00
Mikaël Capelle f11925ab88 Fix FIXABLE status for ModDataChecker. (#2080)
* Fix FIXABLE status for ModDataChecker.
* Fix issue with registerFeature() without games.
2024-07-28 14:39:20 +02:00
Mikaël Capelle 2395c13c25 Bump version to 2.5.2rc1. (#2078) 2024-07-21 16:49:38 +02:00
Mikaël Capelle cc92f6cf88 Set default style to 'windowsvista' and allow stylesheet to modify base style (#2072)
* Set 'windowsvista' as the default style.
* Allow stylesheet to modify base style.
2024-07-19 09:49:53 +02:00
Jeremy Rimpo 193442e773 Archive preview support (#2056)
* Support for archive file previews
- Should account for alternates
- Extracts files and requests preview from plugins that claim support
2024-07-11 16:46:29 +02:00
Jeremy Rimpo a4f6298111 Parse unmanaged file location when creating ModInfoForeign (#2053)
* Parse unmanaged file location when creating ModInfoForeign
- Fixes issues with secondaryDataDirectories
* Revert SF memory address changes
- CCC implementation prevents the need to determine core plugin LO by dependency chains
* The light flag wins over the medium flag
- I had expected the opposite, but apparently the light flag still wins if both are set. This shouldn't really happen but it's possible, even with the CK
* Update display to account for multi-flagged plugins
- Show both icons, warn if both set
2024-06-22 08:31:26 +02:00
Twinki d3b647ab2b Use new Skip File & Skip Directory in usvfs (#2033)
* Use new Skip File & Skip Directory in usvfs.

# Motivations
https://github.com/ModOrganizer2/usvfs/pull/61 Highlights some reasons why the ability to skip files & directories would be beneficial

# Modifications
- Add two new settings, `skip_file_suffixes` and `skip_directories`
- Wire the two new settings up to usvfs
- Add two new buttons to the `Workarounds` dialog, one to adjust Skip File Suffixes and another for Skip Directories, both buttons act nearly identical to the Executable Blacklist button
- Add a new grouping in the `Workarounds` dialog box that contains the usvfs buttons to keep the dialog a tad organized
2024-06-15 18:51:47 +02:00
Jeremy Rimpo 6d08d434a8 Add medium plugin support (Starfield) (#2048)
* Add medium plugin support (Starfield)
- Coopt the overlay support for the new 'medium' / ESH plugin flag
- Update various displays to include ESH info
* Rework address display for SF weirdness
* Fix core ESH display
2024-06-13 17:51:09 +02:00
Mikaël Capelle 3d8bfdd1d4 Fix manifest for debug mode. (#2047) 2024-06-10 20:46:00 +02:00
RJ fff03d34e2 PluginList::refresh speedup (#2046)
* Move loadOrderMechanism out of loop
* PluginList::refresh reduce number of loops
2024-06-10 15:55:32 +02:00
Mikaël Capelle 88c386d74d Refactoring of game features for better management. (#2043) 2024-06-09 12:18:17 +02:00
Mikaël Capelle c43535f5bc Update for new USVFS function scheme. (#2044)
* Update for new USVFS function scheme.
* Fix call to usvfsVersionString().
* Move USVFS to mo2 dependencies instead of third party in CI.
2024-06-09 11:00:13 +02:00
Jeroen Ruigrok van der Werven 3d18f0cd38 Only list instance directory with a MO INI file (#1965) 2024-06-08 07:56:25 +02:00
Mikaël Capelle a11617ff65 Use MO2 formatting action. (#2032) 2024-05-26 12:20:02 +02:00
Mikaël CapelleandTwinki 1871f32a8d Use lootGameName() and displayGameName() in initial places. (#2030)
* Use `displayGameName()` in create instance dialogs & the main window, this doesn't cover all places `gameName()` was being used for purely display reasons, but it covers the bulk.
* Use `lootGameName()` instead of `gameShortName()` for LOOT cli initiation.
* Use game display name in status bar.

---------

Co-authored-by: Twinki <Twinki@users.noreply.github.com>
2024-05-26 11:12:08 +02:00
Mikaël Capelle fa82d1cca1 Switch from fmtlib to std::format. (#2031)
* Switch from fmtlib to std::format.
* Remove libffi from dependencies in Github action.
2024-05-25 13:14:46 +02:00
Jeremy Rimpo 9ee4c5afe1 Disable ESLs when no ESL support (#2026)
* Show ESL plugins but disable and warn if unsupported
2024-05-19 09:40:47 +02:00
RJandLiderate a1d199134d Fixes for stylesheets that use transparent backgrounds (#2029)
* Remove uneeded "Fix" text

* Don't set Qt::WA_OpaquePaintEvent when imagesThumbnails has transparent base

---------

Co-authored-by: Liderate <Liderate@users.noreply.github.com>
2024-05-19 09:40:17 +02:00
RJandLiderate 16423b2682 Directly open logs and crashDumps folders from diagnostics settings (#2028)
Co-authored-by: Liderate <Liderate@users.noreply.github.com>
2024-05-19 09:15:50 +02:00
Mikaël Capelle 5adb1ec43d Merge pull request #1962 from ashemedai/ignore_cache_instance
Ignore Qt-created 'cache' directory in list of instances.
2024-01-01 12:47:18 +01:00
Jeroen Ruigrok van der Werven 4472df8656 Ignore Qt-created 'cache' directory 2023-12-31 13:35:26 +01:00
Jeremy Rimpo 45c017de2f Merge pull request #1959 from ModOrganizer2/category_alternate_source
Use primary game source for categories if defined
2023-12-28 15:03:35 -06:00
Jeremy Rimpo b350afee9e Use primary game source for categories if defined 2023-12-28 03:26:39 -06:00
Jeremy Rimpo b3d27472cf Merge pull request #1949 from ModOrganizer2/251rc1
Update version to 2.5.1 RC 1
2023-12-16 16:47:18 -06:00
Jeremy Rimpo e1932b34ea Update version to 2.5.1 RC 1 2023-12-16 16:46:39 -06:00
Jeremy Rimpo 70a41a9b27 Merge pull request #1941 from ModOrganizer2/dummy-display-tweak
Change recordless plugin display to flag icon
2023-12-16 16:30:32 -06:00
Jeremy Rimpo 20aa98b511 Change recordless plugin display to flag icon 2023-12-05 19:23:09 -06:00
Mikaël Capelle 783c05478f Merge pull request #1937 from ModOrganizer2/null-category-fix
Null category fix
2023-12-03 09:04:41 +01:00
Jeremy Rimpo 0315a88bd8 Rename sort button to match UI 2023-12-02 15:53:29 -06:00
Jeremy Rimpo 026fec4468 Fix crash if no Nexus category is assigned 2023-12-02 15:52:25 -06:00
Jeremy Rimpo 04eff9750f Merge pull request #1926 from ModOrganizer2/2_5_x
Version 2.5.0
2023-11-29 00:05:32 -06:00
Jeremy Rimpo 22714e5cdc Version 2.5.0 2023-11-24 20:48:23 -06:00
Jeremy Rimpo 8dd1637d1d Merge pull request #1924 from ModOrganizer2/style_updates
Style updates
2023-11-20 12:07:21 -06:00
Jeremy Rimpo 2eade4c638 Style updates
- Remove Transparent Style directory (pulled in by MOB)
- Update Night Eyes to 1.2
2023-11-19 19:21:24 -06:00
Jeremy Rimpo 828c9c8157 Merge pull request #1921 from ModOrganizer2/rc_fixes
A few fixes for RC 1
2023-11-17 03:36:55 -06:00
Jeremy Rimpo 773e3acd58 A few fixes for RC 1
* Convert the priority index to a string as Windows appears to be converting these to localized numerals
* Skip separators when assigning categories
* Update the context menu requirements for displaying the auto-assign option
* Bump to RC 2
2023-11-16 23:57:16 -06:00
Mikaël Capelle 1b4ed39747 Merge pull request #1917 from ModOrganizer2/translation_bump
Bump version and update translations
2023-11-07 10:56:39 +01:00
Jeremy Rimpo efef62f49d Bump version and update translations 2023-11-07 03:58:07 -05:00
Jeremy Rimpo 8c562fe8a9 Merge pull request #1915 from ModOrganizer2/download_issues
Download issue fixes
2023-11-05 12:55:19 -06:00
Jeremy Rimpo 8f77fff215 Merge pull request #1911 from ModOrganizer2/plugin_display
Display changes for plugins
2023-11-05 12:49:39 -06:00
Jeremy Rimpo c48b7d8803 Download issue fixes
- Add scoped watcher disabler
- Disable during mod install
- Update interprocess message handler to fix 'unable to communicate' issues
2023-11-05 12:37:16 -06:00
Mikaël Capelle af5e04208a Merge pull request #1904 from Liderate/master
Replace spaces with ? wildcard when looking for game executable, fix #1605.
2023-11-05 09:17:23 +01:00
Jeremy Rimpo 037e17e816 Display changes for plugins
- Only bold master plugins
- Only italicize light plugins
2023-10-31 23:09:27 -05:00
Jeremy Rimpo 3c0cd1c888 Merge pull request #1907 from ModOrganizer2/plugin_updates
Plugins updates
2023-10-27 21:19:30 -05:00
Jeremy Rimpo f8954806c3 Explain overlay comments 2023-10-27 20:53:53 -05:00
Liderate f6af8ed275 Replace spaces with ? wildcard for #1605 2023-10-21 04:25:12 -04:00
Jeremy Rimpo 8f6ba13fbc Use hasNoRecords 2023-10-18 23:08:49 -05:00
Jeremy Rimpo 2f5cca5c60 Plugins updates
- Temporarily remove some overlay info
- Add isDummy and dummy info
- Display refinements for plugin info
2023-10-18 22:57:48 -05:00
Jeremy Rimpo d57d8bdd5a Merge pull request #1906 from ModOrganizer2/geometries_directory
Add new content images to resources
2023-10-17 14:17:46 -05:00
Jeremy Rimpo 1adb8b9ada Add new content images to resources 2023-10-17 00:56:04 -05:00
Mikaël Capelle cd4ba84219 Merge pull request #1903 from Liderate/master
Improve invalid name handling for profiles.
2023-10-13 18:58:17 +02:00
Liderate 067ae9c89d Improve invalid name handling for profiles 2023-10-13 01:08:20 -04:00
Jeremy Rimpo f8d02faf71 Merge pull request #1901 from ModOrganizer2/translation_bump
Update translations and version
2023-10-09 02:51:44 -05:00
Jeremy Rimpo c92285bb20 Update translations and version 2023-10-09 02:26:42 -05:00
Jeremy Rimpo 16977b5159 Merge pull request #1899 from ModOrganizer2/overlay_support
Additional overlay plugin support
2023-10-08 13:05:11 -05:00
Jeremy Rimpo 028c8eafa9 Additional overlay plugin support
* Add isOverlayFlagged to IPluginList
* Further notate plugin list
* Rename to match xEdit / Wrye / LOOT
* Update counter
2023-10-08 04:17:07 -05:00
Jeremy Rimpo 48e8fdff0d Merge pull request #1897 from ModOrganizer2/tutorial_translation_fixes
Tutorial translation updates
2023-10-05 09:17:40 -05:00
Jeremy Rimpo 09b8baac5a Tutorial translation updates 2023-10-04 13:57:44 -05:00
Jeremy Rimpo e9a5e5b274 Merge pull request #1895 from ModOrganizer2/discord_link
Discord link updates
2023-10-04 03:06:10 -05:00
Jeremy Rimpo 7e50a26c6a Merge pull request #1896 from ModOrganizer2/override_index_fix
Skip index for override plugins
2023-10-04 02:45:21 -05:00
Jeremy Rimpo 81082d70e2 Skip index for override plugins 2023-10-04 00:55:16 -05:00
Jeremy Rimpo 57e9b7e258 Discord link updates 2023-10-03 23:33:28 -05:00
Jeremy Rimpo f8a3d5b86e Merge pull request #1894 from ModOrganizer2/loot_0_22
WIP: Plugin sorting updates
2023-10-03 23:15:42 -05:00
Jeremy Rimpo b5ba8522d8 Merge pull request #1893 from ModOrganizer2/fix/directory-refreshed-qtimer
Fix QTimer being created on incorrect thread after refresh.
2023-10-02 20:21:11 -05:00
Jeremy Rimpo a705938ffd Allow moving force enabled plugins
- Mirrors LOOT functionality
- Rename 'forceEnabled' to 'forceLoaded' to better reflect the difference
2023-10-02 18:30:03 -05:00
Jeremy Rimpo 62e8ddc9ca Updates to refresh sort button after various events 2023-10-02 18:28:35 -05:00
Jeremy Rimpo c19fbb6818 Plugin sorting updates
- Add enabledPlugins for core plugins which are enabled but NOT auto-loaded (may need to be written to plugins.txt or have an ambiguous load order position)
- General Starfield updates
  - Add enabledPlugins for "BlueprintShips-Starfield.esm"
  - Disable plugin management if sTestFile is in use (also applies to FO4)
  - Write the enabledPlugins to plugins.txt to enforce base game load order
  - Allow for LOOT sorting (dynamic based on settings)
- Incorporate enabledPlugins into force enabled plugins in plugin list
- Update various interface layers

TODO: Fix sort button to dynamically update if status changes
TODO: Auto refresh lists if the INI Editor is closed
2023-10-02 15:27:14 -05:00
Mikaël Capelle 0d5f023f76 Fix QTimer being created on incorrect thread after refresh. 2023-10-02 22:23:37 +02:00
Jeremy Rimpo 34ad5d85ed Merge pull request #1892 from ModOrganizer2/settings_refresh
Refresh the esp/bsa lists after closing settings
2023-10-02 09:46:10 -05:00
Jeremy Rimpo ee8dbed66c Refresh the esp/bsa lists after closing settings
- Should resolve issues with certain settings not 'applying' immediately
- For example: Starfield 'enable plugin management' setting
2023-10-01 20:13:36 -05:00
Mikaël Capelle ff0eb2fb70 Refresh Callback (+ Extra for AboutToRun) (#1884)
* Add working directory and arguments to onAboutToRun (optional).

* Add onRefreshCallback functionality.
2023-09-29 08:23:52 +02:00
Jeremy Rimpo 63f663ac8a Translation updates 2023-09-28 22:15:36 -05:00
Jeremy Rimpo 11d106ec0b Merge pull request #1887 from ModOrganizer2/race_fix
Attempt to fix possible race condition
2023-09-28 13:27:15 -05:00
Jeremy Rimpo 590801329d Attempt to fix possible race condition 2023-09-28 03:32:36 -05:00
Jeremy Rimpo e7ee47b6e2 Merge pull request #1883 from ModOrganizer2/tutorial_updates
Tutorial updates
2023-09-27 15:28:04 -05:00
Jeremy Rimpo 79d457f598 Merge pull request #1880 from ModOrganizer2/qt6-category
WIP: Category Revamp
2023-09-25 17:39:41 -05:00
Jeremy Rimpo 523ea046a9 Tutorial updates
- Add ability to exit tutorial early
- Update and clarify many of the tutorials
2023-09-25 17:34:41 -05:00
Jeremy Rimpo 74668b9363 Fixes for table
* row increment needs to be before the logic but after the ID check/continue
* avoid running context menu logic on null rows
2023-09-24 19:03:08 -05:00
Jeremy Rimpo cdc16dfbb2 Use c++11 for loop 2023-09-24 14:36:52 -05:00
Jeremy Rimpo c30b5183ae Convert for loops, move nexusCats 2023-09-24 05:54:27 -05:00
Jeremy Rimpo 11522cf700 Remove unnecessary plugincontainer from settings 2023-09-23 22:24:09 -05:00
Jeremy Rimpo 4bd860a0d2 Remove download refresh scoped blocker
- Accidentally added to this branch
2023-09-23 21:51:41 -05:00
Jeremy Rimpo 5f14c57555 Unnecessary class definition 2023-09-23 21:35:29 -05:00
Jeremy Rimpo 5d67b8dd21 Remove extraneous function 2023-09-23 21:02:52 -05:00
Jeremy Rimpo efdff42d5f Make category struct attributes private 2023-09-23 20:59:40 -05:00
Jeremy Rimpo b7d4d20bf1 Revert TS 2023-09-23 19:04:01 -05:00
Jeremy Rimpo a67a919e54 Revert version.rc
I think VS did this when I tried to use the GUI
2023-09-23 19:03:07 -05:00
Jeremy Rimpo e22331fa03 Restructure category refresh action
- Remove plugins class
- Route signals to run Nexus API call from MainWindow
- Pass Dialog instance to route response data
- Revert CategoryFactory::instance to return reference
2023-09-23 19:00:41 -05:00
Jeremy Rimpo 31a85a3db5 Reassign filter group for category classes 2023-09-22 13:50:31 -05:00
Jeremy Rimpo aff3e09873 Add UI file 2023-09-22 02:41:32 -05:00
Jeremy Rimpo 7c900bb1c8 Add new dialog for category import
- Merge or replace strategies
- Nexus mappings are optional
- If mappings are applied, remapping is optional
2023-09-21 21:04:45 -05:00
Jeremy Rimpo d2e48ed72e Fix rebase issues 2023-09-21 17:43:29 -05:00
Jeremy Rimpo 133c072eb7 Rework download category parsing
- Bypasses issue where hidden downloads are not accessible
- getCategoryID no longer necessary
2023-09-21 17:35:08 -05:00
Jeremy Rimpo 639fc787bf Update new instance / migration dialogs 2023-09-21 17:35:08 -05:00
Jeremy Rimpo e18452ee76 Category dialog tweaks for clarity 2023-09-21 17:35:08 -05:00
Jeremy Rimpo 049a7e2efd Dialogs and bugfixes 2023-09-21 17:35:08 -05:00
Jeremy Rimpo f8b015220d Cleanup 2023-09-21 17:35:08 -05:00
Jeremy Rimpo 59bc9e3167 Make the category table sortable 2023-09-21 17:35:08 -05:00
Jeremy Rimpo c50ad58843 Add nexus category ID to mod info
- We will check the mod info first then fall back to the download file
- Add category field in the info dialog nexus tab
2023-09-21 17:35:08 -05:00
Jeremy Rimpo f6bb73deb2 Clang cleanup 2023-09-21 17:35:05 -05:00
Jeremy Rimpo 4342fe3ce1 Several updates
* No longer cause an error when deleting a category that's being used
* Add a dialog when installing a mod with no Nexus mapping (if not disabled)
* Allow disabling Nexus category mapping in Settings (Nexus tab)
* Add context option to remove nexus mappings in the category editor
* Some clang style fixes
2023-09-21 17:32:37 -05:00
Jeremy Rimpo 6dfe55f444 Fix archive parsing and BSA invalidation 2023-09-21 17:31:32 -05:00
Jeremy Rimpo 41c4d09229 Fix merge issues 2023-09-21 17:30:35 -05:00
Jeremy Rimpo fba3d52f56 Preserve old category if Nexus category can't be mapped 2023-09-21 17:29:40 -05:00
Jeremy Rimpo 05edcc8ab4 C++20 fixes 2023-09-21 17:29:38 -05:00
Jeremy Rimpo eeddc993a7 Add reminder dialog for old instances 2023-09-21 17:27:49 -05:00
Jeremy Rimpo 9a801f6501 Don't overwrite existing Nexus category mappings 2023-09-21 17:27:33 -05:00
Jeremy Rimpo 8f31a1ceec Category setup dialog for new instances 2023-09-21 17:27:17 -05:00
Jeremy Rimpo 3243101eed Fix issues with category reset and NX save 2023-09-21 17:25:46 -05:00
Jeremy Rimpo b9f05672b9 Allow remapping category from context menu 2023-09-21 17:24:57 -05:00
Jeremy Rimpo 535623693e Add menu item to auto-assign categories based on nexus assignments 2023-09-21 17:23:34 -05:00
Jeremy Rimpo 69f953a3fb Refactoring for upstream merge 2023-09-21 17:22:03 -05:00
Jeremy Rimpo 6016b04ef0 Fix rebase issue 2023-09-21 17:14:55 -05:00
Silarn 375b8e613e Implement drag & drop nexus cat assignment 2023-09-21 17:12:17 -05:00
Silarn 2f7478f8fc WIP: Fix data storage and fix loading 2023-09-21 17:11:59 -05:00
Silarn f764271b1f WIP: Refactor cat dialog and implement nex cat updates 2023-09-21 17:10:39 -05:00
Silarn 127db7799e WIP: Category QObj refactor 2023-09-21 17:03:43 -05:00
Silarn 4fd45b937c WIP: Initial changes to fetch nexus categories 2023-09-21 16:54:49 -05:00
Silarn 0b6afd6a9a Add new API connection to retrieve game info 2023-09-21 16:46:52 -05:00
Jeremy Rimpo 83f9af3d3e First pass for Qt6 compatibility 2023-09-21 16:30:41 -05:00
Jeremy Rimpo 7050927540 Default profile settings (#1869)
* Fix archive parsing and BSA invalidation
2023-09-19 18:19:39 +02:00
Eddoursul 59b5b1cfca Download files from direct URLs via a command line parameter (#1873)
* Download files via a command line parameter
* Use a GET parameter to predetermine Content-Disposition header in S3-compatible temporary URLs
2023-09-18 19:48:13 +02:00
Jeremy Rimpo a6879e2c63 Merge pull request #1863 from ModOrganizer2/starfield
Starfield Support
2023-09-17 16:13:26 -05:00
Jeremy Rimpo f2a784ed70 Allow unforced plugins to be checkable again 2023-09-16 03:21:18 -05:00
Jeremy Rimpo dff79a6cc0 Bumping version since betas are pulling ahead 2023-09-15 21:31:17 -05:00
Jeremy Rimpo 800c2ea084 Context menu fix
Prevent changing the status of force disabled or enabled plugins via the context menu
2023-09-15 21:30:07 -05:00
Mikaël Capelle 1387f6aefe Merge pull request #1870 from LePresidente/master
Update readme.md with new discord links
2023-09-15 14:38:09 +02:00
Brian Munro 6e9e4482c1 Update readme.md with new discord links 2023-09-13 10:46:21 +02:00
Jeremy Rimpo d15a87b0e6 Fix lint issues 2023-09-13 03:23:47 -05:00
Jeremy Rimpo b1f3c7ea51 Fix merge issues and small plugin display corrections 2023-09-12 16:53:45 -05:00
Jeremy Rimpo 3dc00922ed Changes for None-type plugin sorting
* Display checkboxes for all plugins
* Disable checkboxes for force enabled/disabled plugins
* Display tooltip data for all plugins regardless of force status
2023-09-12 15:08:21 -05:00
Jeremy Rimpo d586bb23e9 Code cleanup 2023-09-09 05:13:48 -05:00
Jeremy Rimpo 94455c2dab Add 'None' LoadOrderMechanism which disables managed plugins
- Primary plugins are still marked as loaded
2023-09-09 04:37:03 -05:00
Jeremy Rimpo 58cc25f322 Implement 'override' plugin support 2023-09-05 13:25:01 -05:00
Jeremy Rimpo e0d6bb12bf Update translation files 2023-09-05 00:09:41 -05:00
Jeremy Rimpo 6b0b7a1cec beta 2 2023-09-05 00:08:10 -05:00
Jeremy Rimpo 5bb4a2aae7 Merge remote-tracking branch 'origin/qt6' 2023-09-04 22:28:46 -05:00
Jeremy Rimpo fdc4ebd18c Map multiple data directories to USVFS 2023-09-04 22:20:25 -05:00
Jeremy Rimpo 3f33571a18 Add VDF reader to licenses and update openssl 2023-09-04 20:08:21 -05:00
Jeremy Rimpo 69e73933b9 Version bump 2023-09-04 19:43:07 -05:00
Jeremy Rimpo 978b4b234b Parse secondary data directories into the directory structure 2023-09-04 19:40:09 -05:00
Mikaël Capelle c8e247f900 Merge pull request #1842 from Holt59/dev/mob-github-action
Switch to generic mob Github action.
2023-07-10 19:49:58 +02:00
Mikaël Capelle 92689d124a Switch to generic mob action. 2023-07-10 19:04:09 +02:00
Mikaël Capelle 0dd04fbdb6 Merge pull request #1841 from ModOrganizer2/fix/fix-pch-include-order
Fix order of includes in pch.h.
2023-07-09 21:32:48 +02:00
Mikaël Capelle 9ddde468ea Fix order of includes in pch.h. 2023-07-09 21:32:30 +02:00
Mikaël Capelle 26d32db436 Merge pull request #1840 from ModOrganizer2/ci/fix-build-on-pr
Fix build on PR
2023-07-09 18:18:49 +02:00
Mikaël Capelle 6c0d1ccb5a Fix build CI. 2023-07-09 18:17:54 +02:00
Mikaël Capelle 27cf8372aa Merge branch 'master' of github.com:ModOrganizer2/modorganizer 2023-07-09 17:36:09 +02:00
Mikaël Capelle ef94aee284 Merge pull request #1839 from Holt59/ci/initial-gh-action-for-build
Clang-Format + Github Workflow
2023-07-09 17:36:03 +02:00
Mikaël Capelle 3de050e9c0 Create test action to build. 2023-07-09 17:25:28 +02:00
Mikaël Capelle fc8bdd073f Create test action to build. 2023-07-09 17:23:16 +02:00
Mikaël Capelle 78b0c89203 Add .git-blame-ignore-revs. 2023-07-09 17:22:39 +02:00
Mikaël Capelle d13f6bb870 Apply clang-format. 2023-07-09 17:20:40 +02:00
Mikaël Capelle 86bb01ba9e Convert everything to CRLF. 2023-07-09 17:17:53 +02:00
Mikaël Capelle 7d6cb8528d Merge pull request #1837 from Holt59/fix/install-notify-plugins-after-structure-ready
Notify mod installation to plugins after directory structure is ready.
2023-07-05 19:39:18 +02:00
Mikaël Capelle 05059793b8 Notify mod installation to plugins after directory structure is ready. 2023-07-03 20:32:58 +02:00
Mikaël Capelle a95d3fa248 Merge pull request #1703 from ModOrganizer2/fix-progressbar-style
Fix progressbar style
2022-05-14 20:45:16 +02:00
Mikaël Capelle 45b648ba21 Fix QProgressBar margin in style. 2022-05-14 20:44:54 +02:00
Mikaël Capelle e8c65d7779 Merge pull request #1701 from ModOrganizer2/rollback-stylesheets
Rollback stylesheets change for Qt6 to fix highlighting.
2022-05-10 21:13:48 +02:00
Mikaël Capelle 37c9e13c60 Rollback stylesheets change for Qt6 to fix highlighting. 2022-05-10 21:13:22 +02:00
Mikaël Capelle c5a203f448 Bump to 2.5.0-alpha3. 2022-05-08 14:24:43 +02:00
Jeremy Rimpo 21bca0ca8d Merge pull request #1698 from ModOrganizer2/download_speed_fix
Extend download speed datatypes to qint64/long long to avoid overflow
2022-05-04 10:56:33 -05:00
Jeremy Rimpo 25e2e59888 Extend download speed datatypes to qint64/long long to avoid overflow 2022-05-04 09:14:12 -05:00
Mikaël Capelle 318b8a5671 Merge pull request #1697 from ModOrganizer2/fix-vs15-dark
Fix V15 dark themes
2022-05-03 21:34:08 +02:00
Mikaël Capelle 65eaeb848f Fix and clean VS15 Dark themes. 2022-05-03 21:29:09 +02:00
Mikaël Capelle a55fcd64d3 Bump to 2.5.0-alpha2. 2022-05-02 22:37:09 +02:00
Mikaël Capelle 060ca725bf Merge pull request #1696 from ModOrganizer2/python-rework
Plugin updates (python rework)
2022-05-02 20:32:00 +02:00
Mikaël Capelle abe926dc15 Allow Qt plugins in subfolder. 2022-05-02 17:04:04 +02:00
Mikaël Capelle 14c6ee4d27 Ties plugin to the PluginContainer. 2022-05-02 17:04:04 +02:00
Mikaël Capelle 7a4cdc8f81 Merge pull request #1636 from LostDragonist/supporturl
Add wiki linkage for games
2022-05-02 17:02:48 +02:00
Mikaël Capelle 8e0970235b Set OUTPUT_NAME before configuring. 2022-04-28 19:24:07 +02:00
Mikaël Capelle d998f9f493 Minor fixes. Add gamebryo translations. 2022-04-20 00:33:39 +02:00
Mikaël Capelle 712fbb4aff Update following cmake_common changes.
# Conflicts:
#	CMakeLists.txt
#	src/CMakeLists.txt
#	src/organizer_en.ts
2022-04-19 15:24:09 +02:00
Jeremy Rimpo ab76e5212f C++20 fixes 2022-04-19 15:17:44 +02:00
Chris Bessent 5a41b73e41 Update version to 2.4.5alpha1 2022-04-19 15:17:44 +02:00
Jeremy Rimpo d51b5bf060 Update to alpha 1 2022-04-19 15:17:44 +02:00
Jeremy Rimpo 5897ce138b Decrease rolling window size for download speed 2022-04-19 15:17:44 +02:00
Jeremy Rimpo adee725bb3 Restore HTTP/2 and set configuration
> Window size values reflect those used in Firefox and Chrome
2022-04-19 15:17:44 +02:00
Jeremy Rimpo ec4a98c662 Add 'right' tag to bbcode parser 2022-04-19 15:17:44 +02:00
Jeremy Rimpo 2fabe99830 Patch for slow download speeds
- Disable HTTP/2 protocol
- Not ideal, might be able to adjust QHttp2Configuration settings
2022-04-19 15:17:44 +02:00
Jeremy Rimpo 05d01e39fa Download status improvements
- Better speed calculation
- Add download time estimate
2022-04-19 15:17:43 +02:00
Jeremy Rimpo 2017700eed Translation fixes 2022-04-19 15:17:43 +02:00
Jeremy Rimpo af0337d5b4 Better nexus network errors 2022-04-19 15:17:43 +02:00
Jeremy Rimpo 35ca9ce0ba Fix webkit obsolete tag error 2022-04-19 15:17:43 +02:00
Mikaël Capelle 034ef8dfa6 Update version RC
# Conflicts:
#	src/version.rc
2022-04-19 15:17:39 +02:00
Jeremy Rimpo 20b3f2d705 Fix tutorial error message 2022-04-19 15:17:23 +02:00
Jeremy Rimpo f6c690e31f Fix BBCode parsing 2022-04-19 15:17:23 +02:00
Jeremy Rimpo a99d0930c7 Remove incompatible QDDS plugin 2022-04-19 15:17:23 +02:00
Jeremy Rimpo 02667f8fde Fix BBCodes 2022-04-19 15:17:23 +02:00
Jeremy Rimpo abe3f6b191 TLS debugging 2022-04-19 15:17:23 +02:00
Jeremy Rimpo fb4cd4375c Remove dependency on Core5Compat 2022-04-19 15:17:23 +02:00
Jeremy Rimpo c4b2be45d2 First pass for Qt6 compatibility 2022-04-19 15:17:23 +02:00
Chris Bessent ec01532ecb Bump version to 2.4.5 alpha 3 2022-03-27 00:58:26 -07:00
Chris Bessent 3b5aeebb72 Merge pull request #1661 from LostDragonist/censor
Hopefully restrict username censoring to directories
2022-03-27 00:57:12 -07:00
Al 1929e5e57b Merge pull request #1676 from LostDragonist/master
Make fixes to ESM plugin priorities
2022-03-20 10:56:21 +01:00
Chris Bessent cfe03a8561 Make fixes to ESM plugin priorities
Before now, MO2 only looked at the ESM flag of a plugin and didn't
look for an .esm extension. This is incorrect and an .esm file
should be treated as implicitly having the ESM flag.

This also removes some apparently unused functions.
2022-03-19 22:21:54 -07:00
Chris Bessent 164c6af962 Merge pull request #1670 from Qudix/isX
Add/Change IPluginList `hasXExtension` and `isXFlagged` methods
2022-03-19 21:10:24 -07:00
Chris Bessent c6874c1771 Merge pull request #1671 from MarkKoz/bug/1589/category-id-conflict
Fix tattoo's category ID conflicting with voice's ID
2022-03-19 21:06:56 -07:00
Qudix 8fb36b0b28 Change isXFile to hasXExtension 2022-03-19 20:00:43 -05:00
MarkKoz 8159a476cf Fix tattoo's category ID conflicting with voice's ID
Fix #1589
2022-02-28 17:01:31 -08:00
Qudix 0b9c96e845 Rename isX to isXFile, and deprecate isMaster
Also made sure to not change existing behaviour
2022-02-24 19:54:31 -06:00
Qudix 6d73f9a18a Add isMasterFlagged to pluginCount 2022-02-24 18:36:02 -06:00
Qudix 5b855f2e19 Add isMasterFlagged isLight isLightFlagged
Note: The behavior of isMaster has been changed to match isLightFlagged
2022-02-24 18:34:10 -06:00
Chris Bessent 21487ad8ee Hopefully restrict username censoring to directories 2022-02-04 17:30:50 -07:00
Chris Bessent e78f46cc9e Update version to 2.4.5alpha2 2022-01-23 21:59:52 -07:00
Chris Bessent 25cdbe3918 Merge pull request #1654 from LostDragonist/loadorder
Loadorder
2022-01-23 11:33:01 -07:00
Chris Bessent da4a013590 Update version to 2.4.5alpha1 2022-01-23 11:29:53 -07:00
Chris Bessent 0b14cc4753 Enforce the priority rules on every refresh 2022-01-23 11:11:22 -07:00
Chris Bessent cee8d5ed72 Enforce relationships between plugins
Masters must be above their children and children must
be below their masters.  Currently only applies when trying
to move plugins.
2022-01-23 11:11:22 -07:00
Chris Bessent 0783eb373b Fix possible NPE when booting up 2022-01-23 11:11:22 -07:00
Chris Bessent feb411fb2a Force priority of primary plugins
This fixes a problem with new instances where the primary plugins
would be ordered alphabetically instead of in the correct order.
2022-01-23 08:25:58 -07:00
Chris Bessent 3b1ee9d43b Merge pull request #1652 from LostDragonist/trosski
Remove Trosski stylesheets (now pulled in by build system)
2022-01-15 12:13:24 -07:00
Chris Bessent 3f9020ea4b Remove Trosski stylesheets (now pulled in by build system) 2022-01-15 11:34:54 -07:00
Chris Bessent b4bbb09cb5 Merge pull request #1643 from ModOrganizer2/update_fix
Fix update checking for files not installed from the downloads
2022-01-05 12:12:03 -07:00
Chris Bessent 9fdf3b759d Fix update checking for files not installed from the downloads
This is the difference between "D:\Downloads\USSEP.7z" and
"USSEP.7z".
2022-01-02 04:54:22 -07:00
Chris Bessent 1df1ea5e11 Bump version to 2.4.4 2021-12-27 02:03:08 -07:00
Chris Bessent dfcbf45e1d Fix discord invite 2021-12-27 01:58:50 -07:00
Chris Bessent eb7f5bb5d1 Add first start dialog and help menu entry 2021-12-27 00:34:45 -07:00
Chris Bessent 656b4fae4d Fix discord invite 2021-12-26 23:59:31 -07:00
Chris Bessent 1e5c019767 Bump version to 2.4.3 2021-12-25 14:54:32 -07:00
460 changed files with 48247 additions and 49684 deletions
+41
View File
@@ -0,0 +1,41 @@
---
# We'll use defaults from the LLVM style, but with 4 columns indentation.
BasedOnStyle: LLVM
IndentWidth: 2
---
Language: Cpp
DeriveLineEnding: false
UseCRLF: true
DerivePointerAlignment: false
PointerAlignment: Left
AlignConsecutiveAssignments: true
AllowShortFunctionsOnASingleLine: Inline
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: Empty
AlwaysBreakTemplateDeclarations: Yes
AccessModifierOffset: -2
AlignTrailingComments: true
SpacesBeforeTrailingComments: 2
NamespaceIndentation: Inner
MaxEmptyLinesToKeep: 1
BreakBeforeBraces: Custom
BraceWrapping:
AfterCaseLabel: false
AfterClass: true
AfterControlStatement: false
AfterEnum: true
AfterFunction: true
AfterNamespace: true
AfterStruct: true
AfterUnion: true
AfterExternBlock: true
BeforeCatch: false
BeforeElse: false
BeforeLambdaBody: false
BeforeWhile: false
IndentBraces: false
SplitEmptyFunction: false
SplitEmptyRecord: false
SplitEmptyNamespace: true
ColumnLimit: 88
ForEachMacros: ['Q_FOREACH', 'foreach']
+2
View File
@@ -0,0 +1,2 @@
d13f6bb870cdda71257f665367be8ef9fca86255
86bb01ba9eac879d3685c439ac9da0028bc4bc80
+7
View File
@@ -0,0 +1,7 @@
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto
# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout.
*.cpp text eol=crlf
*.h text eol=crlf
@@ -7,7 +7,7 @@ assignees: ''
---
**This template is useful to add basic support using https://github.com/ModOrganizer2/modorganizer-basic_games.**
**This template is useful to add basic support using https://github.com/ModOrganizer2/modorganizer-basic_games.**
**If you are vaguely familiar with programming you can try following the instructions on that link to get something working yourself. If you have trouble with that please fill in this template.**
+1 -1
View File
@@ -8,7 +8,7 @@ assignees: ''
---
## The problem:
Briefly describe the issue you are experiencing. Tell us what you were trying to do and what happened instead. Remember, this is _not_ a place to ask questions. For that, go to our [Discord server](https://discord.gg/6GKR9jZ).
Briefly describe the issue you are experiencing. Tell us what you were trying to do and what happened instead. Remember, this is _not_ a place to ask questions. For that, go to our [Discord server](https://discord.gg/ewUVAqyrQX).
## To Reproduce:
+33
View File
@@ -0,0 +1,33 @@
name: Build ModOrganizer 2
on:
push:
branches: [master]
pull_request:
types: [opened, synchronize, reopened]
env:
VCPKG_BINARY_SOURCES: clear;x-azblob,${{ vars.AZ_BLOB_VCPKG_URL }},${{ secrets.AZ_BLOB_SAS }},readwrite
jobs:
build:
runs-on: windows-2022
steps:
- name: Build ModOrganizer
id: build-modorganizer
uses: ModOrganizer2/build-with-mob-action@master
with:
qt-modules: qtpositioning qtwebchannel qtwebengine qtwebsockets
mo2-dependencies: usvfs uibase bsatk esptk archive lootcli
- name: Install ModOrganizer
shell: pwsh
run: |
cmake --install vsbuild --config RelWithDebInfo
working-directory: ./build/${{ github.event.repository.name }}
- name: Package ModOrganizer
uses: actions/upload-artifact@master
with:
name: modorganizer
path: ./install/bin
+17
View File
@@ -0,0 +1,17 @@
name: Lint ModOrganizer 2
on:
push:
pull_request:
types: [opened, synchronize, reopened]
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Check format
uses: ModOrganizer2/check-formatting-action@master
with:
check-path: "."
exclude-regex: "third-party"
-46
View File
@@ -1,46 +0,0 @@
syntax: glob
scons_configure.py
scons-ModOrganizer-*
ModOrganizer-build-desktop*
outputd/*
output/*
build-ModOrganizer-*
source/NCC/*/bin
source/NCC/*/obj
source/NCC/bin
*.orig
source/plugins/proxyPython/build
staging/*
source - Copy/*
ModOrganizer-build-*
pdbs/*
source/NCC/BossDummy.x/*
*.ts
staging_prepare/*
staging_trans/*
tools/python_zip/*
Makefile
html
*.vcxproj
*.pdb
*.dll
*.exp
*.tlog
*.user
*.obj
*.suo
*.sln
*.log
*.filters
*.lib
source/organizer/resources/contents/icons
source/plugins/build-*
*/GeneratedFiles/*
translations/*
source/LocalPaths.pri
source/*/Win32/Debug/*
source/plugins/*/Win32/Debug/*
*~
syntax: regexp
Makefile\.(Debug|Release)
source/.*/debug/.*
+20
View File
@@ -0,0 +1,20 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-merge-conflict
- id: check-case-conflict
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v19.1.5
hooks:
- id: clang-format
'types_or': [c++, c]
ci:
autofix_commit_msg: "[pre-commit.ci] Auto fixes from pre-commit.com hooks."
autofix_prs: true
autoupdate_commit_msg: "[pre-commit.ci] Pre-commit autoupdate."
autoupdate_schedule: quarterly
submodules: false
+14 -11
View File
@@ -1,20 +1,23 @@
cmake_minimum_required(VERSION 3.16)
# TODO: clean include directives
set(MO2_CMAKE_DEPRECATED_UIBASE_INCLUDE ON)
project(organizer)
set(project_type exe)
set(executable_name ModOrganizer)
set(enable_warnings OFF)
# appveyor does not build modorganizer in its standard location, so use
# DEPENDENCIES_DIR to find cmake_common
if(DEFINED DEPENDENCIES_DIR)
include(${DEPENDENCIES_DIR}/modorganizer_super/cmake_common/project.cmake)
find_package(mo2-cmake CONFIG REQUIRED)
# if MO2_INSTALL_IS_BIN is set, this means that we should install directly into the
# installation prefix, without the bin/ subfolder, typically for a standalone build
# to update an existing install
if (MO2_INSTALL_IS_BIN)
set(_bin ".")
else()
include(../cmake_common/project.cmake)
set(_bin bin)
endif()
set(additional_translations ${uibase_path}/src)
add_subdirectory(src)
install(FILES dump_running_process.bat DESTINATION bin)
set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT organizer)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/dump_running_process.bat DESTINATION ${_bin})
+71
View File
@@ -0,0 +1,71 @@
{
"configurePresets": [
{
"errors": {
"deprecated": true
},
"hidden": true,
"name": "cmake-dev",
"warnings": {
"deprecated": true,
"dev": true
}
},
{
"cacheVariables": {
"VCPKG_MANIFEST_NO_DEFAULT_FEATURES": {
"type": "BOOL",
"value": "ON"
}
},
"toolchainFile": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake",
"hidden": true,
"name": "vcpkg"
},
{
"binaryDir": "${sourceDir}/vsbuild",
"architecture": {
"strategy": "set",
"value": "x64"
},
"cacheVariables": {
"CMAKE_CXX_FLAGS": "/EHsc /MP /W4",
"VCPKG_TARGET_TRIPLET": {
"type": "STRING",
"value": "x64-windows-static-md"
}
},
"generator": "Visual Studio 17 2022",
"inherits": ["cmake-dev", "vcpkg"],
"name": "vs2022-windows",
"toolset": "v143"
},
{
"cacheVariables": {
"VCPKG_MANIFEST_FEATURES": {
"type": "STRING",
"value": "standalone"
},
"MO2_INSTALL_IS_BIN": {
"type": "BOOL",
"value": "ON"
}
},
"inherits": "vs2022-windows",
"name": "vs2022-windows-standalone"
}
],
"buildPresets": [
{
"name": "vs2022-windows",
"resolvePackageReferences": "on",
"configurePreset": "vs2022-windows"
},
{
"name": "vs2022-windows-standalone",
"resolvePackageReferences": "on",
"configurePreset": "vs2022-windows-standalone"
}
],
"version": 4
}
+1 -1
View File
@@ -671,4 +671,4 @@ into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
-713
View File
File diff suppressed because it is too large Load Diff
-77
View File
@@ -1,77 +0,0 @@
version: dev-appveyor{build}
skip_branch_with_pr: true
image: Visual Studio 2019
init:
- ps: >-
# define build version depending on nightly or normal build
if($env:APPVEYOR_SCHEDULED_BUILD -eq 'True'){
$timestamp= Get-Date -Format "ddMMyyyy-HHmm"
Update-AppveyorBuild -Version "$($env:MO_VERSION)$($env:VER_STUB_NIGHTLY)$timestamp"
} else {
Update-AppveyorBuild -Version "$($env:MO_VERSION)$($env:VER_STUB_NORMAL)$($env:APPVEYOR_BUILD_NUMBER)"
}
Write-Host Build version set to: $env:APPVEYOR_BUILD_VERSION
environment:
WEBHOOK_URL:
secure: gOKbXaZM9ImtMD5XrYITvdyZUW/az082G9OIN1EC1VaKiI9iefpxhBavJ6Al6CzIZvQ+3pxnLqjmNgA7cDc22wcj2kB4hSG5qhbTI8wGa8jLQ5L65nuRZ3vrIqghBz9G3GLglgZkg6eqH9r3Kqc6UzcpCGzxxPOqm550nRcIiUU=
MO_VERSION: 2.4.0
VER_STUB_NORMAL: dev-appveyor-
VER_STUB_NIGHTLY: dev-nightly-
build_script:
- pwsh: >-
# Maintenance comments:
# APPVEYOR_BUILD_FOLDER= "c:\projects\modorganizer-slug"
# -Need to update py3 version used to invoke unimake.py once in a while.
# -Need update MO_VERSION env variable after each release.
# -Always clones umbrella master
# -Will checkout all the branches matching the one that triggered the build on the main repo.
# End comments.
$ErrorActionPreference = 'Stop'
git clone --depth=1 --no-single-branch https://github.com/ModOrganizer2/modorganizer-umbrella.git c:\projects\modorganizer-umbrella
New-Item -ItemType Directory -Path ${env:APPVEYOR_BUILD_FOLDER}\modorganizer-build
cd c:\projects\modorganizer-umbrella
($env:APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH -eq $null) ? ($branch = $env:APPVEYOR_REPO_BRANCH) : ($branch = $env:APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH)
git checkout $(git show-ref --verify --quiet refs/remotes/origin/${branch} || echo '-b') ${branch}
C:\Python38-x64\python.exe unimake.py -d ${env:APPVEYOR_BUILD_FOLDER}\modorganizer-build -s Appveyor_Build=True -s Feature_Branch=${env:APPVEYOR_REPO_BRANCH} -s override_build_version=${env:APPVEYOR_BUILD_VERSION}
if($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode ) }
test: off
artifacts:
- path: '\modorganizer-build\install\bin\ModOrganizer.exe'
name: Mod.Organizer-$(APPVEYOR_BUILD_VERSION)
- path: '\modorganizer-build\install\pdb\ModOrganizer.pdb'
name: PDB-Mod.Organizer-$(APPVEYOR_BUILD_VERSION)
deploy: off
on_success:
- ps: >-
Set-Location -Path $env:APPVEYOR_BUILD_FOLDER
Invoke-RestMethod https://raw.githubusercontent.com/DiscordHooks/appveyor-discord-webhook/master/send.ps1 -o send.ps1
if($env:APPVEYOR_SCHEDULED_BUILD -ne 'True'){
./send.ps1 success $env:WEBHOOK_URL
}
on_failure:
- ps: >-
Set-Location -Path $env:APPVEYOR_BUILD_FOLDER
Invoke-RestMethod https://raw.githubusercontent.com/DiscordHooks/appveyor-discord-webhook/master/send.ps1 -o send.ps1
if($env:APPVEYOR_SCHEDULED_BUILD -ne 'True'){
./send.ps1 failure $env:WEBHOOK_URL
}
-30
View File
@@ -1,30 +0,0 @@
[
# for boost???
# These are probably correct but might need a revisit as if you look at the boost documentation pages, it
# can give you huge lists of alternate includes...
{ symbol: [ "BOOST_FOREACH", "private", "<boost/foreach.hpp>", "public" ] },
{ include: [ "@\"boost/bind/.*\"", "private", "<boost/bind.hpp>", "public" ] },
{ include: [ "@\"boost/algorithm/string/.*\"", "private", "<boost/algorithm/string.hpp>", "public" ] },
{ include: [ "@\"boost/assign/.*\"", "private", "<boost/assign.hpp>", "public" ] },
{ include: [ "@\"boost/filesystem/.*\"", "private", "<boost/filesystem.hpp>", "public" ] },
{ include: [ "@\"boost/format/.*\"", "private", "<boost/format.hpp>", "public" ] },
{ include: [ "@\"boost/function/.*\"", "private", "<boost/function.hpp>", "public" ] },
{ include: [ "@\"boost/local/.*\"", "private", "<boost/locale.hpp>", "public" ] },
{ include: [ "@\"boost/python/.*\"", "private", "<boost/python.hpp>", "public" ] },
{ include: [ "@\"boost/signals2/.*\"", "private", "<boost/signals2.hpp>", "public" ] },
{ include: [ "\"boost/smart_ptr/scoped_array.hpp\"", "private", "<boost/scoped_array.hpp>", "public" ] },
{ include: [ "\"boost/smart_ptr/shared_ptr.hpp\"", "private", "<boost/shared_ptr.hpp>", "public" ] },
# this appears to be excessive
#{ include: [ "@\"boost/thread/.*\"", "private", "<boost/thread.hpp>", "public" ] },
# And this is specific to us
{ include: [ "\"appconfig.inc\"", "private", "\"appconfig.h\"", "public" ] },
]
# Ones I don't yet know how to deal with
#include "boost/fusion/container/vector/vector10_fwd.hpp" // for fusion
#include "boost/iterator/iterator_facade.hpp" // for operator!=
#include "boost/iterator/iterator_facade.hpp"
BIN
View File
Binary file not shown.
-2478
View File
File diff suppressed because it is too large Load Diff
+6 -5
View File
@@ -12,17 +12,17 @@ The project took up speed again after a few more coders showed up in late 2017,
## Help Wanted!
Mod Organizer 2 is an open project in the hands of the community, there are problems that need to be solved and things that could be added. MO2 really needs developers and if you have the programming skills and some free time you can really improve the experience of the modding community.
To have more information, please join the open MO2 Development discord server: [Mod Organizer 2](https://discord.gg/6GKR9jZ)
If you want to help translate MO2 to your language you should join the discord server too and head to the #translation channel.
To have more information, please join the open MO2 Development Discord server: [Mod Organizer 2](https://discord.gg/ewUVAqyrQX)
If you want to help translate MO2 to your language you should join the Discord server too and head to the #translation channel.
To setup a development environment on your machine, there is the [mob project](https://github.com/modorganizer2/mob) that handles that.
If you want to submit your code changes, please use a good formatting style like the default one in Visual Studio.
Through the work of a few people of the community MO2 has come quite far, now it needs some more of those people to go further.
## Reporting Issues:
Issues should be reported to the GitHub page or on the open discord server: [Mod Organizer 2](https://discord.gg/6GKR9jZ). Here is also where dev builds are tested, bugs are reported and investigated, suggestions are discussed and a lot more.
Issues should be reported to the GitHub page or on the open discord server: [Mod Organizer 2](https://discord.gg/ewUVAqyrQX). Here is also where dev builds are tested, bugs are reported and investigated, suggestions are discussed and a lot more.
Credits to Tannin, LePresidente, Silarn, erasmux, AL12, LostDragonist, AnyOldName3, isa, Holt59 and many others for the development.
Credits to Tannin, LePresidente, Silarn, erasmux, AL12, LostDragonist, AnyOldName3, isa, Holt59, Project579, przester, Qudix, RJ, Jonathan Feenstra and many others for the development.
## Download Location
@@ -39,7 +39,7 @@ Please refer to [Modorganizer2/mob](https://github.com/modorganizer2/mob) for bu
## Other Repositories
MO2 consists of multiple repositories on github. The mob project will download them automatically as required. They should however also be buildable individually.
MO2 consists of multiple repositories on GitHub. The mob project will download them automatically as required. They should however also be buildable individually.
Here is a complete list:
* https://github.com/LePresidente/cpython-1
@@ -67,6 +67,7 @@ Here is a complete list:
* https://github.com/ModOrganizer2/modorganizer-game_skyrim
* https://github.com/ModOrganizer2/modorganizer-game_skyrimSE
* https://github.com/ModOrganizer2/modorganizer-game_skyrimVR
* https://github.com/ModOrganizer2/modorganizer-game_starfield
* https://github.com/ModOrganizer2/modorganizer-game_ttw
* https://github.com/ModOrganizer2/modorganizer-installer_bain
* https://github.com/ModOrganizer2/modorganizer-installer_wizard
-33
View File
@@ -1,33 +0,0 @@
# This python script contains the configuration for scons
# Copy this to scons_configure.py and adjust to taste.
# Path to your boost install - it should have a boost/ subdirectory and a stage/
# subdirectory. The scons script will use stage/lib if there, or the appropriate
# version for your compiler, if you installed the multiple-build version
BOOSTPATH = r"C:\Apps\boost_1_55_0"
# Version of Visual Studio to use, if you wish to use a specific version. If you
# don't specify a version, the latest will be picked.. See the scons manual for
# supported values.
#MSVC_VERSION = '10.0Exp'
# Path to your python install
# You don't really need to set this up but you might if (say) you have a 32- and
# 64-bit python install and scons has been installed for the 64 bit version
#PYTHONPATH=r"C:\Apps\Python"
# Path to your QT install. This might constrain the version of MSVC you can use.
# This seems to be set by QTCreator
#QTDIR = r"C:\Apps\Qt\4.8.6"
# Path to 7-zip sources
SEVENZIPPATH = r"C:\Apps\7-Zip\7z920"
# Path to zlib. Please read the README file for more information about how this
# needs to be set up
ZLIBPATH = r"C:\Apps\zlib-1.2.8"
# Source control programs. Sadly I can't get this information from qt, even
# though you have to set it up in the configuration
GIT = r"C:\Program Files\git\bin\git.exe"
MERCURIAL = r"C:\Program Files\TortoiseHg\hg.exe"
+129 -54
View File
@@ -1,15 +1,105 @@
cmake_minimum_required(VERSION 3.16)
# appveyor does not build modorganizer in its standard location, so use
# DEPENDENCIES_DIR to find cmake_common
if(DEFINED DEPENDENCIES_DIR)
include(${DEPENDENCIES_DIR}/modorganizer_super/cmake_common/src.cmake)
else()
include(../cmake_common/src.cmake)
find_package(usvfs CONFIG REQUIRED)
find_package(mo2-uibase CONFIG REQUIRED)
find_package(mo2-archive CONFIG REQUIRED)
find_package(mo2-lootcli-header CONFIG REQUIRED)
find_package(mo2-bsatk CONFIG REQUIRED)
find_package(mo2-esptk CONFIG REQUIRED)
find_package(mo2-dds-header CONFIG REQUIRED)
find_package(mo2-libbsarch CONFIG REQUIRED)
find_package(Qt6 REQUIRED COMPONENTS WebEngineWidgets WebSockets)
find_package(Boost CONFIG REQUIRED COMPONENTS program_options thread interprocess signals2 uuid accumulators)
find_package(7zip CONFIG REQUIRED)
find_package(lz4 CONFIG REQUIRED)
find_package(ZLIB REQUIRED)
add_executable(organizer)
set_target_properties(organizer PROPERTIES
OUTPUT_NAME "ModOrganizer"
WIN32_EXECUTABLE TRUE)
# disable translations because we want to be able to install somewhere else if
# required
mo2_configure_target(organizer WARNINGS 4 TRANSLATIONS OFF)
# we add translations "manually" to handle MO2_INSTALL_IS_BIN
mo2_add_translations(organizer
INSTALL_RELEASE
INSTALL_DIRECTORY "${_bin}/translations"
SOURCES ${CMAKE_CURRENT_SOURCE_DIR})
mo2_set_project_to_run_from_install(
organizer EXECUTABLE ${CMAKE_INSTALL_PREFIX}/${_bin}/ModOrganizer.exe)
target_link_libraries(organizer PRIVATE
Shlwapi Bcrypt
usvfs::usvfs mo2::uibase mo2::archive mo2::libbsarch
mo2::bsatk mo2::esptk mo2::lootcli-header
Boost::program_options Boost::signals2 Boost::uuid Boost::accumulators
Qt6::WebEngineWidgets Qt6::WebSockets Version Dbghelp)
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/dlls.manifest.qt6"
DESTINATION ${_bin}/dlls
CONFIGURATIONS Release RelWithDebInfo
RENAME dlls.manifest)
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/dlls.manifest.debug.qt6"
DESTINATION ${_bin}/dlls
CONFIGURATIONS Debug
RENAME dlls.manifest)
if (NOT MO2_SKIP_STYLESHEETS_INSTALL)
install(
DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/stylesheets"
DESTINATION ${_bin})
endif()
if (NOT MO2_SKIP_TUTORIALS_INSTALL)
install(
DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/tutorials"
DESTINATION ${_bin})
endif()
add_filter(NAME src/application GROUPS
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/resources/markdown.html"
DESTINATION ${_bin}/resources)
# install ModOrganizer.exe itself
install(FILES $<TARGET_FILE:organizer> DESTINATION ${_bin})
# install dependencies DLLs
install(FILES $<TARGET_FILE:mo2::libbsarch> DESTINATION ${_bin}/dlls)
install(FILES $<TARGET_FILE:7zip::7zip> DESTINATION ${_bin}/dlls)
# this may copy over the ones from uibase/usvfs
# - when building with mob, this should not matter as the files should be identical
# - when building standalone, this should help having matching USVFS DLL between the
# build and the installation
# - this may cause issue with uibase in standalone mode if the installed version does
# not match the one used for the build, but there would be other issue anyway (e.g.
# different uibase.dll between modorganizer and plugins)
#
install(FILES
$<TARGET_FILE:mo2::uibase>
$<TARGET_FILE:usvfs_x64::usvfs_dll>
$<TARGET_FILE:usvfs_x86::usvfs_dll>
$<TARGET_FILE:usvfs_x64::usvfs_proxy>
$<TARGET_FILE:usvfs_x86::usvfs_proxy>
DESTINATION ${_bin})
# do not install PDB if CMAKE_INSTALL_PREFIX is "bin"
if (NOT MO2_INSTALL_IS_BIN)
install(FILES $<TARGET_PDB_FILE:organizer> DESTINATION pdb)
endif()
mo2_deploy_qt(
DIRECTORY ${_bin}
BINARIES ModOrganizer.exe $<TARGET_FILE_NAME:mo2::uibase>)
# set source groups for VS
mo2_add_filter(NAME src/application GROUPS
iuserinterface
commandline
main
@@ -21,18 +111,26 @@ add_filter(NAME src/application GROUPS
updatedialog
)
add_filter(NAME src/browser GROUPS
mo2_add_filter(NAME src/browser GROUPS
browserdialog
browserview
)
add_filter(NAME src/core GROUPS
mo2_add_filter(NAME src/categories GROUPS
categories
categoriestable
categoriesdialog
categoryimportdialog
)
mo2_add_filter(NAME src/core GROUPS
archivefiletree
githubpp
installationmanager
nexusinterface
nxmaccessmanager
organizercore
game_features
plugincontainer
apiuseraccount
processrunner
@@ -41,10 +139,9 @@ add_filter(NAME src/core GROUPS
uilocker
)
add_filter(NAME src/dialogs GROUPS
mo2_add_filter(NAME src/dialogs GROUPS
aboutdialog
activatemodsdialog
categoriesdialog
credentialsdialog
filedialogmemory
forcedloaddialog
@@ -62,13 +159,13 @@ add_filter(NAME src/dialogs GROUPS
waitingonclosedialog
)
add_filter(NAME src/downloads GROUPS
mo2_add_filter(NAME src/downloads GROUPS
downloadlist
downloadlistview
downloadmanager
)
add_filter(NAME src/env GROUPS
mo2_add_filter(NAME src/env GROUPS
env
envdump
envfs
@@ -80,24 +177,24 @@ add_filter(NAME src/env GROUPS
envwindows
)
add_filter(NAME src/executables GROUPS
mo2_add_filter(NAME src/executables GROUPS
executableslist
editexecutablesdialog
)
add_filter(NAME src/instances GROUPS
mo2_add_filter(NAME src/instances GROUPS
createinstancedialog
createinstancedialogpages
instancemanager
instancemanagerdialog
)
add_filter(NAME src/loot GROUPS
mo2_add_filter(NAME src/loot GROUPS
loot
lootdialog
)
add_filter(NAME src/mainwindow GROUPS
mo2_add_filter(NAME src/mainwindow GROUPS
datatab
downloadstab
iconfetcher
@@ -109,7 +206,7 @@ add_filter(NAME src/mainwindow GROUPS
statusbar
)
add_filter(NAME src/modinfo GROUPS
mo2_add_filter(NAME src/modinfo GROUPS
modinfo
modinfobackup
modinfoforeign
@@ -119,7 +216,7 @@ add_filter(NAME src/modinfo GROUPS
modinfowithconflictinfo
)
add_filter(NAME src/modinfo/dialog GROUPS
mo2_add_filter(NAME src/modinfo/dialog GROUPS
modinfodialog
modinfodialogcategories
modinfodialogconflicts
@@ -133,18 +230,18 @@ add_filter(NAME src/modinfo/dialog GROUPS
modinfodialogtextfiles
)
add_filter(NAME src/modinfo/dialog/widgets GROUPS
mo2_add_filter(NAME src/modinfo/dialog/widgets GROUPS
modidlineedit
)
add_filter(NAME src/modlist GROUPS
mo2_add_filter(NAME src/modlist GROUPS
modlist
modlistdropinfo
modlistsortproxy
modlistbypriorityproxy
)
add_filter(NAME src/modlist/view GROUPS
mo2_add_filter(NAME src/modlist/view GROUPS
filterlist
modlistview
modlistviewactions
@@ -155,33 +252,34 @@ add_filter(NAME src/modlist/view GROUPS
modlistversiondelegate
)
add_filter(NAME src/plugins GROUPS
mo2_add_filter(NAME src/plugins GROUPS
pluginlist
pluginlistsortproxy
pluginlistview
pluginlistcontextmenu
)
add_filter(NAME src/previews GROUPS
mo2_add_filter(NAME src/previews GROUPS
previewdialog
previewgenerator
)
add_filter(NAME src/profiles GROUPS
mo2_add_filter(NAME src/profiles GROUPS
profile
profileinputdialog
profilesdialog
)
add_filter(NAME src/proxies GROUPS
mo2_add_filter(NAME src/proxies GROUPS
downloadmanagerproxy
gamefeaturesproxy
modlistproxy
organizerproxy
pluginlistproxy
proxyutils
)
add_filter(NAME src/register GROUPS
mo2_add_filter(NAME src/register GROUPS
shared/directoryentry
shared/fileentry
shared/filesorigin
@@ -191,12 +289,12 @@ add_filter(NAME src/register GROUPS
directoryrefresher
)
add_filter(NAME src/settings GROUPS
mo2_add_filter(NAME src/settings GROUPS
settings
settingsutilities
)
add_filter(NAME src/settingsdialog GROUPS
mo2_add_filter(NAME src/settingsdialog GROUPS
settingsdialog
settingsdialogdiagnostics
settingsdialoggeneral
@@ -209,7 +307,7 @@ add_filter(NAME src/settingsdialog GROUPS
disableproxyplugindialog
)
add_filter(NAME src/utilities GROUPS
mo2_add_filter(NAME src/utilities GROUPS
shared/appconfig
bbcode
csvbuilder
@@ -224,7 +322,7 @@ add_filter(NAME src/utilities GROUPS
glob_matching
)
add_filter(NAME src/widgets GROUPS
mo2_add_filter(NAME src/widgets GROUPS
colortable
genericicondelegate
filerenamer
@@ -239,26 +337,3 @@ add_filter(NAME src/widgets GROUPS
modelutils
copyeventfilter
)
requires_project(game_features githubpp bsatk esptk archive usvfs)
target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE
${modorganizer_super_path}/lootcli/include
)
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/dlls.manifest.qt5"
DESTINATION bin/dlls
RENAME dlls.manifest)
install(FILES ${qm_files} DESTINATION bin/translations)
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/stylesheets"
"${CMAKE_CURRENT_SOURCE_DIR}/tutorials"
DESTINATION bin)
deploy_qt(BINARIES ModOrganizer.exe uibase.dll plugins/bsa_packer.dll)
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../qdds.dll" DESTINATION bin/dlls/imageformats)
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/resources/markdown.html" DESTINATION bin/resources)

Some files were not shown because too many files have changed in this diff Show More