Compare commits

...
162 Commits
Author SHA1 Message Date
pre-commit-ci[bot] 75b99c0a74 [pre-commit.ci] Pre-commit autoupdate. (#27)
updates:
- [github.com/pre-commit/mirrors-clang-format: v22.1.2 → v22.1.5](https://github.com/pre-commit/mirrors-clang-format/compare/v22.1.2...v22.1.5)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-07-07 14:46:24 +02:00
Jeremy Rimpo e1df3a9efa Translation file updates 2026-05-21 23:13:47 -05:00
pre-commit-ci[bot] af299cb9d4 [pre-commit.ci] Pre-commit autoupdate. (#25) 2026-04-07 07:59:03 +02:00
pre-commit-ci[bot] 7cc4a80665 [pre-commit.ci] Pre-commit autoupdate. (#24)
updates:
- [github.com/pre-commit/mirrors-clang-format: v21.1.2 → v21.1.8](https://github.com/pre-commit/mirrors-clang-format/compare/v21.1.2...v21.1.8)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-01-05 19:25:46 +01:00
pre-commit-ci[bot] 3a820002dd [pre-commit.ci] Pre-commit autoupdate. (#23)
updates:
- [github.com/pre-commit/pre-commit-hooks: v5.0.0 → v6.0.0](https://github.com/pre-commit/pre-commit-hooks/compare/v5.0.0...v6.0.0)
- [github.com/pre-commit/mirrors-clang-format: v20.1.7 → v21.1.2](https://github.com/pre-commit/mirrors-clang-format/compare/v20.1.7...v21.1.2)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-10-07 15:01:33 +02:00
pre-commit-ci[bot] ec6d8560bb [pre-commit.ci] Pre-commit autoupdate. (#22)
updates:
- [github.com/pre-commit/mirrors-clang-format: v19.1.5 → v20.1.7](https://github.com/pre-commit/mirrors-clang-format/compare/v19.1.5...v20.1.7)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2025-07-07 20:30:16 +02:00
Mikaël Capelle 9b73803f9c Add Github action and fix line ending (#21) 2025-05-29 11:30:13 +02:00
Mikaël Capelle 97f88f15e3 Move to VCPKG. (#17) 2025-05-29 10:59:43 +02:00
Jeremy Rimpo 10dbfa673f Merge pull request #20 from ModOrganizer2/obvrem
Add support for the new mod directory mappings
2025-05-22 14:55:14 -05:00
Jeremy Rimpo 13143dbb80 Add fonts_cclub.swf to font config check (#19) 2025-05-22 10:49:18 +02:00
Jeremy Rimpo 9531efe2f0 Skip empty mod dirs when evaluating overwrite 2025-05-03 02:47:57 -05:00
Mikaël Capelle 7fc98c5d4e Update translations. (#18) 2024-07-21 15:56:54 +02:00
Mikaël Capelle 3b0e5c44ed Merge pull request #16 from Liderate/SSE_InvalidFontConfig
Fix SSE check in invalidFontConfig
2024-05-25 14:32:39 +02:00
Liderate cde4731e5e Fix SSE check in invalidFontConfig 2023-11-29 14:24:14 -05:00
Mikaël Capelle 51099bed28 Merge pull request #15 from Liderate/master
Clear m_PluginChildren to prevent stale entries.
2023-10-13 18:59:06 +02:00
Liderate 5b3d2adac5 Clear m_PluginChildren to prevent stale entries. 2023-10-12 02:17:06 -04:00
Mikaël Capelle d56d51e37c Merge pull request #14 from ModOrganizer2/update-cmake-common-qt6
Update following cmake_common changes.
2022-04-28 17:55:15 +02:00
Mikaël Capelle 8d4c514c4d Update following cmake_common changes. 2022-04-19 23:30:01 +02:00
Mikaël Capelle aa1b0d725c Update translation file. 2021-02-02 20:39:12 +01:00
Jeremy Rimpo e508f7bcd7 [ci skip] Update artifacts paths for msbuild 2021-01-29 10:53:35 -06:00
Mikaël Capelle 477aa4c034 Merge pull request #13 from Holt59/better-log-files-detection
Consider file ending with .log0, .log1, ..., as proper log files.
2020-11-26 22:13:35 +01:00
Mikaël Capelle 33c2867336 Check for dot before extension of log files. 2020-11-24 09:20:35 +01:00
Mikaël Capelle dd93b7e35e Consider file ending with .log0, .log1, ..., as proper log files. 2020-11-22 18:03:55 +01:00
Mikaël Capelle c893767bb2 Merge pull request #12 from Holt59/imodlist-updates
IModList updates
2020-10-26 21:37:58 +01:00
Mikaël Capelle cccdc4ece9 Fix for getMod(). 2020-10-25 17:44:44 +01:00
Mikaël Capelle 6b1f817f29 Merge pull request #11 from Holt59/fix-ipluginlist-callbacks
Update following onPluginStateChanged change.
2020-09-27 14:55:56 +02:00
Jeremy Rimpo 409850c044 [skip ci] Use PR branch for umbrella repo (if it exists) 2020-09-25 00:34:16 -05:00
Jeremy Rimpo 1c8895ed3c [skip ci] Force exit PS with last exit code after umbrella build error 2020-09-21 06:25:03 -05:00
Jeremy Rimpo 9a9181621a [skip ci] Pull data from all branches 2020-09-21 05:02:22 -05:00
Jeremy Rimpo 9d4ba2d0d1 Finalize appveyor script update 2020-09-20 22:34:31 -05:00
Jeremy Rimpo 78b7a0a523 Trying to suppress git stderr is not working 2020-09-20 22:25:30 -05:00
Jeremy Rimpo ba0a2df34f Finalize build script updates 2020-09-20 22:13:03 -05:00
Jeremy Rimpo 6a037f89a3 Convert scripts to PowerShell 2020-09-20 19:56:37 -05:00
Jeremy Rimpo 253c2ad05f Need extra space for second command 2020-09-20 19:11:50 -05:00
Jeremy Rimpo 3e2067a185 Update to checkout current branch in umbrella if it exists 2020-09-20 19:02:33 -05:00
Mikaël Capelle 941ce462e1 Update following onPluginStateChanged change. 2020-09-05 13:59:19 +02:00
Al 9d9172b7d1 Merge pull request #10 from Holt59/modstatechanged-change
Update following onModStateChanged change.
2020-09-01 03:59:39 -07:00
Mikaël Capelle d0acab52df Update following onModStateChanged change. 2020-08-29 19:33:12 +02:00
Al 8d46fd9725 Merge pull request #9 from Holt59/new-filetree
Replace usage of FileNameString and Qt::CaseInsensitive.
2020-05-20 13:03:51 +02:00
Mikaël Capelle 3c71a048d7 Replace usage of FileNameString and Qt::CaseInsensitive. 2020-05-01 17:16:54 +02:00
Silarn 76d722710c Appveyor CMAKE fix 2020-05-01 04:58:59 -05:00
isanae 9bc94001ff Merge pull request #8 from isanae/new-cmakefiles
New cmakefiles
2020-04-26 02:54:49 -04:00
isanae a56e18142a now using new cmakefiles 2020-04-24 21:37:21 -04:00
Chris Bessent ef723d00f6 Merge pull request #7 from ModOrganizer2/2_2_2
Pull in 2.2.2.1 changes
2020-01-13 23:03:08 -07:00
Chris Bessent c2ee9b8e96 Merge pull request #6 from ModOrganizer2/Develop
Stage for release 2.2.2
2020-01-06 05:01:32 -07:00
Silarn 6d8b834e78 Update Appveyor to official VS 2019 image 2019-09-28 00:41:38 -05:00
Jeremy Rimpo ea4c9de3f9 Merge pull request #5 from ModOrganizer2/Develop
Stage for release 2.2.1
2019-07-14 17:56:38 -05:00
Silarn 366aee53c0 Set optimization for release builds 2019-05-22 02:04:20 -05:00
Silarn c80335182d Add logs to build artifacts on CI fail, commit translation changes 2019-05-21 23:46:05 -05:00
Silarn 953ce74950 Switch to local build files as appveyor can't use installed files 2019-05-21 02:27:56 -05:00
Silarn 56eee7d629 Unify artifacts source path to install path 2019-05-21 01:37:17 -05:00
Silarn 7716eae9a7 Set appveyor image to VS 2019 Preview 2019-05-08 23:10:32 -05:00
LostDragonist 151f75b75e Merge pull request #4 from ModOrganizer2/Develop
Stage for Release 2.2.0
2019-05-03 20:40:15 -05:00
LostDragonist 1428e898d3 Update translation file 2019-04-29 14:28:59 -05:00
Brian Munro ba5bf967cf Merge pull request #3 from ModOrganizer2/Appveyor
Support Appveyor
2019-04-29 10:49:43 +02:00
LePresidente d82f7fcc4b Fixed CMakeLists file to use DEPENDENCIES_DIR variable. 2019-04-27 20:36:21 +02:00
Lepresidente 8990fd9cf8 Support Appveyor 2019-04-26 14:48:02 +02:00
LostDragonist 5818f32c36 Add the plugins that require the masters to the missing masters notification 2019-04-15 04:55:37 -05:00
LostDragonist b75a1600e6 Update translation file 2019-03-18 06:10:05 -05:00
LostDragonist 9f6f754bc7 Don't report overall failure if archive flag is set 2019-03-12 20:07:09 -05:00
LostDragonist b7f4cd75c4 All else fails, set the archive attribute on files 2019-03-12 20:01:51 -05:00
LostDragonist 7de65e7abf Update translation file 2019-03-07 18:21:31 -06:00
LostDragonist 87c1e464c5 Use DeviceIoControl to remove file sparseness 2019-02-23 17:50:16 -06:00
LostDragonist 15bc7ff731 Use DeviceIoControl to remove file compression 2019-02-23 17:15:42 -06:00
LostDragonist 80d4b2374e Update translation file 2019-01-30 22:44:00 -06:00
Silarn 4c59d53dd2 New translation file for updated overwrite description 2019-01-14 13:20:07 -06:00
Silarn edf8e49475 Updated overwrite description 2019-01-14 13:19:08 -06:00
LostDragonist f82b49bf28 Change qPrintable to qUtf8Printable to better support non-ASCII text 2019-01-05 16:33:58 -06:00
LostDragonist 7557a27acf Don't trigger on directories and add debug output 2018-12-29 21:57:03 -06:00
LostDragonist 85c5e4c5e5 Updates based on new information
Default to disabled
Trigger on all games due to being disabled by default
Trigger on all attributes
Clear all attributes
2018-12-29 03:06:49 -06:00
LostDragonist 6792102fc9 Check and fix file attributes when launching an executable 2018-12-28 16:33:10 -06:00
Brian Munro bfeb51ff15 Merge pull request #2 from Modorganizer2/Develop
Stage for 2.1.3 release
2018-05-08 12:20:16 +02:00
Silarn fd86bd6501 Updating gitignore 2018-05-04 00:28:39 -05:00
Silarn e0543a5048 Updated strings. 2018-05-03 17:15:09 -05:00
Silarn e44513c31b Allow for primary game sources and marking mods as converted/working 2018-05-03 16:17:38 -05:00
Silarn bbeb26b459 Update translation files 2018-05-01 16:59:34 -05:00
Silarn 0e8e61c1dc Disable the alternate game check by default 2018-05-01 12:43:27 -05:00
Silarn e161beab23 Add alternative game flag and check 2018-04-27 01:57:58 -05:00
Silarn cc69866248 Remove remnants of QtScript and fix some CMake issues 2018-04-19 01:43:54 -05:00
Brian Munro c20f112f14 Merge pull request #1 from Modorganizer2/Develop
Merge to Master for Release
2018-04-13 08:54:59 +02:00
Jeremy Rimpo 8c311f06cf Remove extraneous search code 2018-04-13 00:38:20 -05:00
Silarn fcc76b9436 Prep for Qt 5.11 (backward-compatible) 2018-04-10 23:28:25 -05:00
Silarn e562c428ab Fix up CMAKE to use /MP and allow building through umbrella 2018-04-07 17:12:17 -05:00
Brian Munro b099c92188 Merge pull request #3 from Silarn/mainline_dev
ESL updates
2017-10-30 12:43:12 +02:00
Jeremy Rimpo 0a11edc584 Add ESL to problem message 2017-10-29 23:56:29 -05:00
Jeremy Rimpo a9f50bc4a3 Basic ESL updates 2017-10-20 20:27:03 -05:00
LePresidente 121e0d07ae Updated cmakelists to get the QT5 location from the QT_ROOT variable, instead of expecting it in DEPENDENCIES_DIR. 2017-09-21 16:54:25 +02:00
Brian Munro 353629500b Merge pull request #2 from ZachHaber/master
Fixed Log Path
2017-01-20 13:08:56 -08:00
ZachHaber f344672d9d Fixed Log Path
I was mistaken as to where the logs were created, diagnose basic should
now look in the location they are created, in the appdata path.
2017-01-20 13:53:53 -06:00
Brian Munro 50c13dd864 Merge pull request #1 from ZachHaber/master
Fixed overwrite and logs
2017-01-17 20:23:45 -08:00
ZachHaber 2e687bea6e Fixed overwrite and logs
Diagnose basic should now see the correct overwrite and log folders,
rather than the default ones.
2017-01-17 16:34:45 -06:00
Brian Munro bc24f6f3d7 Update diagnosebasic.cpp
Fixed if statement, as it was always returning true.
2016-12-22 06:40:33 +02:00
LePresidente 8ea35f7a47 skyrimSE edit. 2016-12-20 03:39:25 -08:00
Tannin 0cd3f8232e translation 2016-06-04 18:11:39 +02:00
Tannin 985fbb604d updated cmake script 2016-05-06 22:50:19 +02:00
Tannin f712240fef using optimization flags from cmake settings 2016-01-10 19:51:58 +01:00
TanninOne 72ab614431 Merge pull request #1 from ThosRTanner/issue/356
Refactor gameinfo & 'shared' library to use game plugins (12 of 17)
2015-12-06 13:05:48 +01:00
Thomas Tanner d1c34257cd Merge remote-tracking branch 'refs/remotes/TanninOne/master' into issue/356 2015-12-05 11:46:55 +00:00
Tannin 6d078bab60 removed potential mod order detection code 2015-12-01 21:05:39 +01:00
Thomas Tanner d9e26399d1 Removes igameinfo.h from everywhere apart from (sort of) the pythonrunner plugin. 2015-11-22 08:48:48 +00:00
Thomas Tanner a577d4a519 Merge remote-tracking branch 'refs/remotes/TanninOne/master' 2015-11-18 20:50:22 +00:00
Tannin d349de2cac updated build scripts 2015-11-16 21:39:49 +01:00
Thomas Tanner 0a1be591d3 Merge remote-tracking branch 'TanninOne/master' 2015-10-10 13:53:26 +01:00
Tannin 603b723b7a more work on build system 2015-10-09 18:57:54 +02:00
Tannin cfc7ea1ef5 fixed build system 2015-09-26 23:53:39 +02:00
Tannin 5dc33c4dcd updated build system 2015-09-24 18:14:10 +02:00
convert-repo e1bdfcaaea update tags 2015-09-07 17:38:51 +00:00
Tannin 043f45ab70 Merge 2015-08-31 21:26:47 +02:00
Tom Tanner fb294651c3 Merge 2015-08-28 20:04:15 +01:00
Tannin f4e1b296ad Merge 2015-08-27 20:59:37 +02:00
Tom Tanner bd55424d8e Small fix to shut up messages about long boost names 2015-08-20 19:53:39 +01:00
Tannin d56a520815 Simplified the PMOP message 2015-08-19 19:05:15 +02:00
Tannin fe8966e279 small code beautification 2015-07-07 20:53:38 +02:00
Tom Tanner 98bd1d4780 And now I find the place I should have altered.
Added some options to the diagnosis plugin to ignore .log files and empty
directories in overwrite folder
2015-06-24 20:46:31 +01:00
Tom Tanner c345cacbc9 and now I find out I don't need to do it at all 2015-06-23 20:27:38 +01:00
Tom Tanner b78ae57ed4 Factor out general, nexis, plugins tab code into individual classes
Add some code and page to control what is/isn't significant in overwrite
2015-06-20 15:37:32 +01:00
Tannin d983c908ee minor stuff 2015-05-11 21:41:00 +02:00
Tannin 0cc077b8c4 Merge 2015-05-09 21:46:40 +02:00
Tannin b245bc2ce3 enabling/disabling a plugin should now immediately cause a check for problems 2015-04-08 18:53:43 +02:00
Tannin 0a1707fa9c Merge in changes by Tom Tanner 2015-03-27 18:24:37 +01:00
Tom Tanner b10b1f28ff Fixed Scons build for existing bits.
Changed pynedit.pro to fetch from 'standard' install location
Changed saveas code to use organizer report rather than uibase - this way it's
not dependant on the vagaries of the include path, and works the same as the
rest of the organiser directory
2015-03-20 10:34:30 +00:00
Tom Tanner 59c10d78cd Merge 2015-03-19 16:48:21 +00:00
Tannin 7dd29a68e2 overwrite is now ignored when determining potential mod order conflicts 2015-03-18 19:38:24 +01:00
Tom Tanner ce0dc685ca Merge with branch1.2 2015-03-18 17:40:29 +00:00
Tom Tanner e426d8efb4 Refactoring and cleanup. 2015-03-18 14:16:04 +00:00
Tom Tanner bf00944706 Every plugin now built 2015-03-17 16:31:15 +00:00
Tannin 97c8769334 Merge with branch1.2 2015-01-24 19:34:12 +01:00
Tannin 05d1782cf1 cleanup (mostly removing unused includes) 2015-01-22 19:44:38 +01:00
Tannin f114b3ee60 bugfix: translations for some plugins weren't loaded 2015-01-11 11:14:58 +01:00
Tannin 0320bd719a Merge 2015-01-04 10:33:37 +01:00
Tannin 943689d5c3 - fixes after merge 2015-01-04 10:13:12 +01:00
Tannin ecf0ff0d02 Merge with branch1.2 2015-01-03 15:58:52 +01:00
Tannin 182ec5f85d bugfix: potential mod order problem reported when there were no mods at all 2014-12-20 17:06:48 +01:00
Tannin 2632e79de7 replaced all uses of NULL with nullptr
fixed a few placed where NULL was used as a number or boolean
2014-11-28 11:19:20 +01:00
Tannin 41eb0d50d4 undid some changes that accidentally made it to this branch 2014-11-26 20:19:07 +01:00
Tannin 863233e1ab - fixed manifest for qt5
- download messages can now be sent from different user accounts
2014-11-14 23:33:49 +01:00
Tannin 9cb9c2cc56 - fixed manifest for qt5
- download messages can now be sent from different user accounts
2014-11-14 23:33:49 +01:00
Tannin 8529da255f - several style fixes suggested by static analysis
- will now support up to 4 levels of version numbers (major.minor.subminor.subsubminor
2014-09-24 19:51:51 +02:00
Tannin dd2203f647 - several style fixes suggested by static analysis
- will now support up to 4 levels of version numbers (major.minor.subminor.subsubminor
2014-09-24 19:51:51 +02:00
Tannin 123d291dc1 bugfix: search for missing masters wasn't case-insensitive 2014-09-10 20:33:23 +02:00
Tannin 926cdedf8c bugfix: search for missing masters wasn't case-insensitive 2014-09-10 20:33:23 +02:00
Tannin 0cc55698f7 - added an additional diagnosis check that warns if there are any missing masters 2014-09-10 20:32:25 +02:00
Tannin 7ea85f751e - added an additional diagnosis check that warns if there are any missing masters 2014-09-10 20:32:25 +02:00
Tannin 2cf83c7681 - re-enabled building of loot_cli and started developing against the new api
- extended set of default categories
- more tolerand bbcode parser
- added a few colors for the bbcode parser
- more fixes to qt5 compatibility
- started work on ability to unloading (and thus re-loading) of plugins
- names of plugins are no longer localizable (because those names are also used to store settings)
- added settings to disable individual diagnosis settings
- path of dependencies is now configured in a .pri file instead of environment variablees
- bugfix: if the modid-input is canceled, the id was saved as -1 and wasn't re-requested from the user
- bugfix: moving files with the SHFileOperation-Api didn't update the vfs correctly (still not perfect but better)
- bugfix: attempt to remove the deleter-file seems to have caused error messages for some users
- bugfix: fixed a couple of cases that might have caused the tutorial to hang
2014-09-08 20:37:23 +02:00
Tannin fb4eacabed - re-enabled building of loot_cli and started developing against the new api
- extended set of default categories
- more tolerand bbcode parser
- added a few colors for the bbcode parser
- more fixes to qt5 compatibility
- started work on ability to unloading (and thus re-loading) of plugins
- names of plugins are no longer localizable (because those names are also used to store settings)
- added settings to disable individual diagnosis settings
- path of dependencies is now configured in a .pri file instead of environment variablees
- bugfix: if the modid-input is canceled, the id was saved as -1 and wasn't re-requested from the user
- bugfix: moving files with the SHFileOperation-Api didn't update the vfs correctly (still not perfect but better)
- bugfix: attempt to remove the deleter-file seems to have caused error messages for some users
- bugfix: fixed a couple of cases that might have caused the tutorial to hang
2014-09-08 20:37:23 +02:00
Tannin 366b3854b8 load order suggestion now picks the first esp for each mod for its suggested
order, even if it's not the origin of that esp. This should fix some dubious
suggestions
2014-08-18 23:03:31 +02:00
Tannin 4bf94e9fda load order suggestion now picks the first esp for each mod for its suggested
order, even if it's not the origin of that esp. This should fix some dubious
suggestions
2014-08-18 23:03:31 +02:00
Tannin 016a2efb88 - download-list will no longer show a file as having incomplete data if there is no file version
- added a new mod column with icons displaying the content of the mod
- MO now differentiates between mods using an internal name that disambiguates between foreign and regular mods
2014-07-21 19:14:24 +02:00
Tannin 6f73fe05a4 - download-list will no longer show a file as having incomplete data if there is no file version
- added a new mod column with icons displaying the content of the mod
- MO now differentiates between mods using an internal name that disambiguates between foreign and regular mods
2014-07-21 19:14:24 +02:00
Tannin 4531207250 Merge 2014-07-15 20:45:29 +02:00
Tannin 266b597e4c merged changes by TheBloke 2014-07-15 17:48:43 +02:00
Tannin 41bd8cc0cd - qt 5 compatibility fixes
- detection for support of optimized find no longer depends on deprecated api
2014-07-15 17:31:44 +02:00
Tannin 06487c2653 - qt 5 compatibility fixes
- detection for support of optimized find no longer depends on deprecated api
2014-07-15 17:31:44 +02:00
Tannin 9b0637fa66 - when highlighting a mod the overwritten and overwriting mods are now highlighted in the list
- when starting an external application MO now wraps the process in a job and waits on that instead. This way MO is not unlocked early when skyrim is started through skse
- mod info dialog no longer offers the esp tab for foreign mods because that caused confusion
- updated translation files
- download directory and mod directory are now created if necessary
- bugfix: staging script created unnecessary copies of translation files
- bugfix: potential invalid array access when trying to determine best mod order
- bugfix: deleter file wasn't removed after esp hiding was disabled
- bugfix: potential access to to un-initialized login reply
- bugfix: changed the initialization order to allow more ui controls to be localized
2014-07-14 21:22:44 +02:00
TheBloke f0957919a5 .pro files - formatting/consistency fixes
Many small formatting changes to the majority of .pro files
 Consistent style for Qt version checking, using greaterThan(QT_MAJOR_VERSION, 4)
  This seems safest, as would continue to work for a future Qt 6 etc.
  Note that this makes redudundant the commit before this one, to organizer.pro
 Consistent indenting
 Moved some file configuration sections to be together with related sections
 Moved some installation-related sections (e.g. OUTDIR/DSTDIR) to be at the bottom,
  immediately before the related POST_LINK install lines.
 Similarly, in some cases separated out CONFIG(debug,.. checks into separate
  LIB/INCLUDE sections (high in file) and installation directory sections (low
   in file)
2014-07-07 23:32:18 +01:00
Tannin 4bce131613 - added pseudo-categories to filter for mo-managed vs. unmanaged mods
- deleted mods are now moved to the recycle bin instead of being deleted permanently
- reduced modinfo dialog for foreign mods
- foreign mods are now displayed with a pseudo-category
- added a signal when a plugin is moved
- bugfix: refreshing of directory structure for mods with bsas didn't work correctly when enabling a mod and on changing display of foreign mods
- bugfix: one mod in the list was assigned the same priority on the directory structure as the data directory
- bugfix: conflicts tab in the mod info dialog offered the hide option for files in bsas
2014-06-16 21:49:57 +02:00
Tannin 849e946284 - loot client now only updates the masterlist once per MO session
- new event to notify plugins of changed mod priority
- overwrite now shows up in the "checked" category instead of "unchecked"
- display of "foreign" mods can now be limited to only official content
- bugfix: bsa extraction dialog showed up even if the plugin was disabled
- bugfix: after detection of foreign mods the priority of the overwrite folder could get messed up
- bugfix: when displaying only the context menu for the mod list as a whole, the menu didn't disappear
- bugfix: MO crashed when trying to download via the integrated browser
2014-06-08 15:10:08 +02:00
Tannin 58a8406335 - plugin-list now displays loot messages 2014-06-02 19:15:23 +02:00
Tannin c8308f1612 - added a new mod type that represents files handled externally (i.e. DLCs) as mods in MO
- hashes of file names in bsa files are no longer checked all the time
- author and description is now read from esp files
- rewrote the code that fixes modlists after a rename, should be a bit more robust
- fixes to qt 5 and msvc 2013 compatibility
- started to update the tutorial (not done yet!)
- bugfix: counter for the problems badge wasn't calculated correctly
2014-05-31 13:43:48 +02:00
Tannin 75d821c46a - files in bsas are now only displayed in the data tab if they are managed by mo
- number of problems detected by MO is now displayed as a badge on the icon
- rephrased the explanation text on the Archives tab. unchecked plugin-loaded bsas no longer prompt a warning
- bsa extraction is now handled in a plugin
- added a way for plugins to react to mod installation
- re-enabled the automatic fix for asset order problems
- bugfix: In some cases when a download wasn't started successfully the download urls weren't stored in the meta file so no resume was possible
- bugfix: MO tried to resume downloads when it didn't have and download urls
- bugfix: downloads couldn't be paused if the download was already broken on the network layer
- bugfix: download managear did not recognize a file as downloaded if the download completed before signals were hooked up
- bugfix: in-place file replacement was re-broken
2014-05-25 15:39:45 +02:00
Tannin f784c34877 - bugfix: endless loop in detection of mod order problems 2014-05-04 16:13:35 +02:00
Tannin b529b1f6a8 - main window now has a small view displaying log messages
- mod list will now be highlighted when grouping is active is active
- download tooltip now supports bbcode markup in the description
- bbcode translator will now translate some named colors
- algorithm for detection of mod order problems is now more sophisticated
- exposed more functionality to python plugins
- updated to qt 4.8.6 dlls
- bugfix: plugin list wasn't
- bugfix: state changes in mod list wasn't always reported
- bugfix: loot client will now create necessary directory
- bugfix: NCC sometimes used wrong source path for extracting
- bugfix: removed noisy debug message
2014-05-04 14:50:01 +02:00
15 changed files with 1296 additions and 643 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']
+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
+20
View File
@@ -0,0 +1,20 @@
name: Build Diagnose Basic
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 Diagnose Basic
id: build-diagnose-basic
uses: ModOrganizer2/build-with-mob-action@master
with:
mo2-dependencies: uibase
+16
View File
@@ -0,0 +1,16 @@
name: Lint Diagnose Basic
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: "."
+6
View File
@@ -0,0 +1,6 @@
CMakeLists.txt.user
edit
*.bak
/msbuild.log
/*std*.log
/*build
+20
View File
@@ -0,0 +1,20 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v6.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: v22.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
+5
View File
@@ -0,0 +1,5 @@
cmake_minimum_required(VERSION 3.16)
project(diagnose_basic)
add_subdirectory(src)
+52
View File
@@ -0,0 +1,52 @@
{
"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"
}
],
"buildPresets": [
{
"name": "vs2022-windows",
"resolvePackageReferences": "on",
"configurePreset": "vs2022-windows"
}
],
"version": 4
}
+9
View File
@@ -0,0 +1,9 @@
cmake_minimum_required(VERSION 3.16)
find_package(mo2-cmake CONFIG REQUIRED)
find_package(mo2-uibase CONFIG REQUIRED)
add_library(diagnose_basic SHARED)
mo2_configure_plugin(diagnose_basic WARNINGS OFF)
target_link_libraries(diagnose_basic PRIVATE mo2::uibase)
mo2_install_plugin(diagnose_basic)
-36
View File
@@ -1,36 +0,0 @@
#-------------------------------------------------
#
# Project created by QtCreator 2013-04-05T21:08:10
#
#-------------------------------------------------
TARGET = diagnoseBasic
TEMPLATE = lib
CONFIG += plugins
CONFIG += dll
contains(QT_VERSION, "^5.*") {
QT += widgets
}
DEFINES += DIAGNOSEBASIC_LIBRARY
DEFINES += NOMINMAX
# suppress a few warnings caused by boost vs vc++ paranoia
DEFINES += _SCL_SECURE_NO_WARNINGS
SOURCES += diagnosebasic.cpp
HEADERS += diagnosebasic.h
include(../plugin_template.pri)
INCLUDEPATH += "$(BOOSTPATH)"
#CONFIG += dll
#DEFINES += INIEDITOR_LIBRARY
OTHER_FILES += \
diagnosebasic.json
File diff suppressed because one or more lines are too long
+777 -496
View File
File diff suppressed because it is too large Load Diff
+142 -110
View File
@@ -1,110 +1,142 @@
/*
Copyright (C) 2013 Sebastian Herbord. All rights reserved.
This file is part of basic diagnosis plugin for MO
This plugin is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This plugin is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this plugin. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef DIAGNOSEBASIC_H
#define DIAGNOSEBASIC_H
#include <iplugin.h>
#include <iplugindiagnose.h>
#include <imoinfo.h>
#include <imodlist.h>
class DiagnoseBasic : public QObject, MOBase::IPlugin, MOBase::IPluginDiagnose
{
Q_OBJECT
Q_INTERFACES(MOBase::IPlugin MOBase::IPluginDiagnose)
#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
Q_PLUGIN_METADATA(IID "org.tannin.DiagnoseBasic" FILE "diagnosebasic.json")
#endif
public:
DiagnoseBasic();
public: // IPlugin
virtual bool init(MOBase::IOrganizer *moInfo);
virtual QString name() const;
virtual QString author() const;
virtual QString description() const;
virtual MOBase::VersionInfo version() const;
virtual bool isActive() const;
virtual QList<MOBase::PluginSetting> settings() const;
public: // IPluginDiagnose
virtual std::vector<unsigned int> activeProblems() const;
virtual QString shortDescription(unsigned int key) const;
virtual QString fullDescription(unsigned int key) const;
virtual bool hasGuidedFix(unsigned int key) const;
virtual void startGuidedFix(unsigned int key) const;
private:
bool errorReported() const;
bool overwriteFiles() const;
bool invalidFontConfig() const;
bool nitpickInstalled() const;
bool assetOrder() const;
private:
static const unsigned int PROBLEM_ERRORLOG = 1;
static const unsigned int PROBLEM_OVERWRITE = 2;
static const unsigned int PROBLEM_INVALIDFONT = 3;
static const unsigned int PROBLEM_NITPICKINSTALLED = 4;
static const unsigned int PROBLEM_ASSETORDER = 5;
static const unsigned int PROBLEM_MODLISTBACKUP = 6;
static const unsigned int PROBLEM_PROFILETWEAKS = 7;
static const unsigned int NUM_CONTEXT_ROWS = 5;
private:
struct ListElement {
QString espName;
QString modName;
int pluginPriority;
int modPriority;
};
struct Move {
ListElement item;
ListElement reference;
enum EType {
BEFORE,
AFTER
} type;
Move(const ListElement &initItem, const ListElement &initReference, EType initType)
: item(initItem), reference(initReference), type(initType) {}
};
friend bool operator<(const Move &lhs, const Move &rhs);
private:
MOBase::IOrganizer *m_MOInfo;
mutable QString m_ErrorMessage;
mutable std::vector <Move> m_SuggestedMoves;
mutable QString m_NewestModlistBackup;
};
#endif // DIAGNOSEBASIC_H
/*
Copyright (C) 2013 Sebastian Herbord. All rights reserved.
This file is part of basic diagnosis plugin for MO
This plugin is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This plugin is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this plugin. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef DIAGNOSEBASIC_H
#define DIAGNOSEBASIC_H
#include <QRegularExpression>
#include <QSet>
#include <QString>
#include <uibase/imodlist.h>
#include <uibase/imoinfo.h>
#include <uibase/iplugin.h>
#include <uibase/iplugindiagnose.h>
class DiagnoseBasic : public QObject,
public MOBase::IPlugin,
public MOBase::IPluginDiagnose
{
Q_OBJECT
Q_INTERFACES(MOBase::IPlugin MOBase::IPluginDiagnose)
#if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
Q_PLUGIN_METADATA(IID "org.tannin.DiagnoseBasic")
#endif
public:
DiagnoseBasic();
public: // IPlugin
virtual bool init(MOBase::IOrganizer* moInfo);
virtual QString name() const;
virtual QString author() const;
virtual QString description() const;
virtual MOBase::VersionInfo version() const;
virtual bool isActive() const;
virtual QList<MOBase::PluginSetting> settings() const;
public: // IPluginDiagnose
virtual std::vector<unsigned int> activeProblems() const;
virtual QString shortDescription(unsigned int key) const;
virtual QString fullDescription(unsigned int key) const;
virtual bool hasGuidedFix(unsigned int key) const;
virtual void startGuidedFix(unsigned int key) const;
private:
bool errorReported() const;
bool overwriteFiles() const;
bool invalidFontConfig() const;
bool nitpickInstalled() const;
bool assetOrder() const;
bool missingMasters() const;
bool alternateGame() const;
bool fileAttributes(const QString& executable) const;
private:
static const unsigned int PROBLEM_ERRORLOG = 1;
static const unsigned int PROBLEM_OVERWRITE = 2;
static const unsigned int PROBLEM_INVALIDFONT = 3;
static const unsigned int PROBLEM_NITPICKINSTALLED = 4;
static const unsigned int PROBLEM_PROFILETWEAKS = 7;
static const unsigned int PROBLEM_MISSINGMASTERS = 8;
static const unsigned int PROBLEM_ALTERNATE = 9;
static const unsigned int NUM_CONTEXT_ROWS = 5;
static const QRegularExpression RE_LOG_FILE;
private:
struct ListElement
{
QString espName;
QString modName;
int pluginPriority;
int modPriority;
int sortGroup;
bool avoidMove;
QSet<QString> relevantScripts;
};
struct Move
{
ListElement item;
ListElement reference;
enum EType
{
BEFORE,
AFTER
} type;
Move(const ListElement& initItem, const ListElement& initReference, EType initType)
: item(initItem), reference(initReference), type(initType)
{}
};
struct Sorter
{
struct
{
int operator()(const ListElement& lhs, const ListElement& rhs)
{
return lhs.modPriority < rhs.modPriority;
}
} minMod;
std::vector<Move> moves;
void operator()(std::vector<ListElement> modList);
private:
void sortGroup(std::vector<ListElement> modList);
};
friend bool operator<(const Move& lhs, const Move& rhs);
private:
void topoSort(std::vector<ListElement>& list) const;
bool checkEmpty(const QString& path) const;
private:
MOBase::IOrganizer* m_MOInfo;
mutable QString m_ErrorMessage;
mutable QString m_NewestModlistBackup;
mutable std::set<QString> m_MissingMasters;
mutable std::map<QString, std::set<QString>> m_PluginChildren;
};
#endif // DIAGNOSEBASIC_H
-1
View File
@@ -1 +0,0 @@
{}
+23
View File
@@ -0,0 +1,23 @@
{
"features": {
"standalone": {
"description": "Build Standalone.",
"dependencies": ["mo2-cmake", "mo2-uibase"]
}
},
"vcpkg-configuration": {
"default-registry": {
"kind": "git",
"repository": "https://github.com/Microsoft/vcpkg",
"baseline": "294f76666c3000630d828703e675814c05a4fd43"
},
"registries": [
{
"kind": "git",
"repository": "https://github.com/ModOrganizer2/vcpkg-registry",
"baseline": "8beb2e0efa9c17dd6d17bb05288dd1e40727f673",
"packages": ["mo2-*"]
}
]
}
}