summaryrefslogtreecommitdiff
path: root/src/shared
Commit message (Collapse)AuthorAgeFilesLines
...
* | - archive library can now query for password during extraction (seems to be ↵Tannin2014-11-051-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | necessary for rars) - process blacklist is now taken from a file if there is one, not hardcoded - removed workaround for the papyrus compiler - updated loot client to work with the actual api - loot client now links with loot32.dll at runtime - loot client now produces its output in a (json-)file which includes all plugin messages and dirty flags - fomod installer now tries to parse the xml with several encodings - fomod installer will now display a diagnostics warning if the jpg imageformat isn't supported - base preview plugin now tries to be a bit smarter about resizing images to fit the screen - bugfix: fomod installer no longer tries to open an image even after detecting its invalid - bugfix: potential null-pointer dereferentiation in getprivateprofile... hooks - bugfix: potential null-pointer dereferentiation in download manager - bugfix: internal origin name showed up in one more place - bugfix: ToString function produced strings that were one (zero-termination-)character too long
* | - several style fixes suggested by static analysisTannin2014-09-2412-136/+121
| | | | | | | | - will now support up to 4 levels of version numbers (major.minor.subminor.subsubminor
* | - removed a use of wostringstream which seems to have been involved in a ↵Tannin2014-09-191-12/+17
| | | | | | | | | | | | bug. Still not sure how - rewrote widechar <-> multibyte conversion functions to handle arbitrary string lengths
* | - re-enabled building of loot_cli and started developing against the new apiTannin2014-09-083-28/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* | - performance optimizations for detection of file changes in mod directoriesTannin2014-08-015-36/+100
| | | | | | | | | | | | - added a workaround for download-link handling in chrome - MO will now create a profile even if the game-launcher has never been run - bugfix: files weren't cleanly removed from vfs file register
* | normalized eol style (all files should now have windows line endings)Tannin2014-07-172-32/+32
| |
* | - bugfix: broke qt4 compatibility in trying to support qt5Tannin2014-07-171-1/+1
| | | | | | | | | | - bugfix: overwrite dialog displayed system drives if the overwrite directory didn't exist - bugfix: ini tweak activation wasn't saved
* | - qt 5 compatibility fixesTannin2014-07-151-6/+11
| | | | | | | | - detection for support of optimized find no longer depends on deprecated api
* | - Disabled compilation of loot_cli as the current loot version can't be ↵Tannin2014-07-159-1/+28
| | | | | | | | | | | | | | compiled or linked against with vs 2010 - bugfix: some incompatibilities with non-skyrim games - bugfix: incorrect handling of plurals in translateable strings
* | Compilation dependency tracking enabled for organizer, hook, bsaExtractor, ↵TheBloke2014-07-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | shared Previously, qmake did not detect when code was changed in the static libraries So for example, changing code in shared/*.cpp and then Build, would not cause a re-link and re-deploy of ModOrganizer.exe. This has been fixed by adding PRE_TARGETDEPS references to each project that depend on static libraries provided by other sub-projects. These checks are conditional on debug|release, to point to the correct lib. List of currently configured static library dependency checks - organizer - mo_shared.lib, bsatk.lib hookdll - mo_shared.lib, bsatk.lib shared - bsatk.lib bsaExtractor - bsatk.lib I have tested to confirm that changing a shared file results in re-linking and re-deplomyent of both ModOrganizer.exe and hook.dll. Note that dependencies have not been configured for DLLs, as these are loaded dynamically and so recompilation is not required. But there could be an argument for configuring DLLs as dependencies too - as if you make a change in DLL code, you might want all clients of the DLL to be recompiled to check that they have not been broken by the changes? The downside of that would be extra re-compilation every time.
* | .pro files - formatting/consistency fixesTheBloke2014-07-071-2/+2
|/ | | | | | | | | | | | | | 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)
* - re-inserted code for bsa hiding (this was necessary to enforce expected ↵Tannin2014-06-291-1/+2
| | | | | | | | | | | bsa order after all) - bsas from foreign bsas are now loaded as expected by hook.dll as well - state of log-window-split is now saved - auto completion in installer name boxes is now case-sensitive so that users can change casing of the mod names - bugfix: self updater did enforce the skyrim url for MO updates but not the game_id - bugfix: modinfo dialog didn't correctly read mod meta information on opening - bugfix: MO didn't report on endorsement (for MO)
* - added pseudo-categories to filter for mo-managed vs. unmanaged modsTannin2014-06-162-4/+0
| | | | | | | | | | - 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
* - loot client now only updates the masterlist once per MO sessionTannin2014-06-0810-2/+70
| | | | | | | | | | - 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
* - added a new mod type that represents files handled externally (i.e. DLCs) ↵Tannin2014-05-312-6/+9
| | | | | | | | | | | 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
* - NCC will now report an error if a script tries to extract a non-existent ↵Tannin2014-05-152-4/+2
| | | | | | | | | file instead of creating an empty output file - ncc installer plugin now uses a more reliable method to force the installer window to the foreground - missing version on TESV.exe will no longer be reported as an error - bugfix: loot client didn't read list of active mods - bugfix: invalid free call in error reporting function
* - very effective optimization to findfirstfile-callsTannin2014-05-052-10/+25
| | | | | | | | - several configuration files are now only saved to disk if the content actually changed. This should also get rid of a problem where plugins.txt was re-written immediately after starting the game (causing a conflict with the game) - reduced "noise" from hook.dll - removed some debugging messages
* - download tooltip now also includes the file descriptionTannin2014-05-011-1/+1
| | | | - will now display an error message when the ini file can't be updated (in addition to what windows says)
* - added an option to show meta info on downloads instead of filenamesTannin2014-04-231-0/+1
| | | | | | - MO will now cancel if user tries to run MO vfs-injected - when saving the MO ini file it is now written to a tmp file first and then overwritten - updated to link against boost python 1.55
* - added buttons to backup and restore the modlist and pluginlistTannin2014-04-052-0/+9
| | | | - replaced boss integration with loot
* some fixes towards qt5 compatibilityTannin2014-03-161-0/+1
|
* - ini file changes that would have to overwrite ini tweaks are now stored in ↵Tannin2014-02-171-0/+1
| | | | | | | | | a separate file and actually get used. - a warning message advices users to clean out that separate file - slightly improved default main window layout - bugfix: newly created ini tweaks were added to the list with incorrect properties
* - implemented hook for NtQueryDirectoryFileTannin2014-01-131-0/+2
| | | | | | | | - saves list is now automatically updated on FS changes - optimization: data tree widget is no longer filled completely at once but one directory at a time - bugfix: pending downloads were not removed from list after a failed nxm request - bugfix: there was still a nmm.nexusmods.com link - bugfix: the text "alpha" in version strings wasn't interpreted correctly
* - Mod Organizer can now display most image types (including dds) and txt ↵Tannin2014-01-051-0/+1
| | | | | | files from the data tree, presenting a comparison of variants in case of overwritten files
* - plugin list now highlights plugins with attached ini filesTannin2013-12-143-10/+6
| | | | - bugfix: opening nexus through the globe icon used the nmm.nexusmods.com url
* - MO now applies a minimum to the nmm-compatibility field.Tannin2013-12-089-13/+29
| | | | | - bugfix: "visit on nexus" directed the browser to the servers meant for nmm - bugfix: url for "check all for updates" and "enorse/unendorse" were not constructed correctly
* - returned to default branchTannin2013-12-074-8/+8
| | | | | - nexus interface will now use the nmm url - nmm importer no longer cancels on a missing non-essential flag
* - download manager now saves the file times on nexus, for potential later ↵Tannin2013-12-079-8/+13
| | | | | | | | use in version check - nexus interface now supports 301 redirects - now using the new nexus url format - bugfix: "visit on nexus" used an outdated url scheme and thus caused unnecessary redirection
* - archive.dll now supports querying the crc value of filesTannin2013-11-181-5/+9
| | | | | | | | | | | | | | | | | | | - esptk now determines if a esp is a dummy (without records) - hook.dll no longer creates a log file if noone wrote to it - nexus id and installtime columns are now hidden by default - modlist can now be refreshed without saving first (so plugins can replace the modlist.txt as a whole) - plugins can now query more details about virtualised files - added style options "plastique" and "cleanlooks" - "overwrite" is no longer listed with a creation time - a warning will now be displayed if the user has too many plugins active - a warning will now be displayed if mods with scripts have an installation order that doesn't match the corresponding esp load order - nmm importer now has select all/deselect all buttons - nmm importer no longer tries to unpack missing files from archives (won't work anyway) - initial support for importing from nmm 0.5 alpha - removed some broken warning suppresions - python runner now works with bundled python - extended qbs build system (still fails to build the main gui application) - implemented a nsis-based installer
* - started qbs based project files (not functional yet)Tannin2013-11-111-0/+16
| | | | | - modlist will now updated immediately after a change throw the modinfo dialog - bugfix: configurator wasn't able to save after revision 137
* - diagnosis plugins can now request to be re-evaluatedTannin2013-11-061-1/+1
| | | | | | | | | | | | - main application now contains means for plugins to react on some changes (to be extended) - plugins can now retrieve more information about a mod - user-agent sent to nexus now automatically contains the current MO version - included updated russian translation - problems dialog now refreshes itself after a fix was applied - fixed new esp/asset ordering diagnosis. May be fully functional now - bugfix: restoring locked load order could leave MO in an endless loop (not sure if this fix is correct yet) - bugfix: plugin list was not visually updated after some changes - bugfix: nmm importer threw away mod ordering
* - Option to choose edition of the game. Currently only relevant for FO3 ↵Tannin2013-10-2510-10/+25
| | | | | | | | because FO3 GOTY is its own app - applications that aren't in the executables list can again be started from the command line - references to missing categories are now removed from mods - bugfix: integrated fomod installer didn't update description and picture on some constellations of Windows version and theme
* - directories in data-view are now sortedTannin2013-10-201-0/+7
| | | | | - questionbox with selection memory is now exposed to plugins - the choice to run fnis from the checker can now be memorized
* MergeTannin2013-10-112-0/+7
|\
| * - added new plugin to test if fnis needs to be runTannin2013-10-112-0/+7
| | | | | | | | | | | | | | - some functionality to the plugin interface to enable them to search for files&directories in the virtual FS (rudimentary atm) - functionality for plugins to react to application being started from MO - broken ESPs are no longer reported as popup windows but only in the log file - bugfix: plugins couldn't store persistent data if they had no user-editable settings
* | - new toggle to display hidden downloadsTannin2013-10-101-0/+1
|/ | | | | | | | - hidden downloads can be un-hidden - the installation manager now more thoroughly cleans up the temporary directory after installation - added SkyrimLauncher.exe to the list of auto-detected executables - bugfix: shutting down MO while downloads where active in some occasions didn't work - bugfix: when canceling the only active download the taskbar icon didn't return to normal
* - hook.dll now doesn't inject to certain applications (currently steam, ↵Tannin2013-10-054-2/+20
| | | | | | | | | | chrome and firefox) - versioning system improved. Will now report "downgrades" for mods and support a different versioning system (requires manual switch) - updates can now be ignored until a new version is uploaded - new splash screen - bugfix: a few memory leaks (shouldn't account for much) - bugfix: result of GetModuleHandle wasn't zero-terminated in some cases
* - download progress is now visible in task barTannin2013-09-283-13/+35
| | | | | | | | | - esp-tooltip now lists all masters, highlighting the missing ones - python plugin will now report a problem if the path contains a semicolon - leak detection now (somewaht) works around the fact that we don't always get a stack trace - bugfix: mod meta-file is now reliably created if it was missing - bugfix: parser for nxm-links didn't handle numbers in the mod name - bugfix: small memory leak
* - esp reader now handles invalid files more gracefullyTannin2013-09-213-13/+13
| | | | | | | | | | | | | | | | | - files moved will now also be treated as "deleted" in the old location so a newly created file with that same name is not created in overwrite - introduced a mechanism by which MO can recognize if it crashed before when attempting to load a plugin. That plugin can be blacklisted so it doesn't get loaded again - plugins can now programaticaly change their settings - plugins can now store data persistently without exposing that data as settings - requesting an unset-setting from a plugin is no longer treated as a bug - clarified warning message for when files are in overwrite directory - the proxyPython plugin will now discover if python initialization crashed MO on a previous session and give the user a chance to fix it or disable the plugin - bugfix: GetModuleFileName modified the buffer past the zero termination. While this doesn't violate the API documentation it is different from the regular windows implementation - bugfix: proxy plugins couldn't access the parent widget - bugfix: when moving a file from overwrite to a mod the in-memory file structure wasn't updated - bugfix: name input dialog for profiles allowed names that weren't valid directory names - bugfix: profile dialog wasn't able to delete profiles if the name started or ended in whitespaces - bugfix: The name-cells for plugin settings could be changed (without effect) - removed a few obsolete files from the repository
* - the download manager now registers download speed. Right now this is only usedTannin2013-08-301-10/+5
| | | | | | | | | | | | | to display an average speed on the settings menu - added a python27.dll compiled with vc100. This can now be bundled without introducing more dependencies - bugfix: extracting now stops after an error - bugfix: the way hook.dll caused CREATE_ALWAYS/CREATE_NEW to always write into overwrite could lead to the file being created when the call should have failed (because the file existed and was protected) - bugfix: GetPrivateProfileString does NOT properly report files as missing. This means that the ini-query optimization could optimize away requests that should work - bugfix: fomod installer couldn't display images because they were unpacked to the wrong temporary location - bugfix: When disabling local saves and choosing to delete the saves nothing happened - bugfix: the python plugin couldn't find the pyqt libraries
* MergeTannin2013-08-171-7/+9
|\
| * - bugfix: nameprefix-flag incorrectly interpreted on oblivion-style bsasTannin2013-08-151-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - bugfix: optimization for missing inis fixed - bugfix: fixmods didn't search for esps in overwrite - bugfix: configurator didn't work for fallout new vegas because of a missing cast - bugfix: configurator attempted parameter formatting on ini files instead of using the raw data - bugfix: searching for a path in the directory structure could cause a crash when not using the directory output - optimization to findfirstfile for cases where a single file is searched - display of bsas changed. hopefully it is more understandable now - cache for the test whether a mod is in conflict. Should speed ab scrolling in mod list - mod list has now an additional column for the installation time - nmm importer no longer cancels in cases where a data file references an undeclared mod. - integrated improved settings.json for the configurator contributed by "delta534"
* | - bugfix: download manager will now properly pause all downloads on exiting ↵Tannin2013-08-171-0/+5
|/ | | | | | | the application - bugfix: resumed downloads now get their automatic-retry-count reset - fiddled with condition tests in fomod (not sure if it works right now)
* - now avoids a few unnecessary copy operations during generation of the ↵Tannin2013-07-176-67/+296
| | | | | | | directory structure - bugfix: circular dependency caused a memory leak - bugfix: removing a single mod lead to the wrong mod being deleted
* - basic diagnosis plugin now catches an issue where the users fontconfig.txt ↵Tannin2013-07-141-14/+0
| | | | | | | refers missing files - plugins can now resolve relative file names on the virtual directory (no enumeration yet) - bugfix: dummy plugins were not initialized
* - caching of downloadwidgets to fix performance problem, currently broken ↵Tannin2013-06-291-1/+22
| | | | | | | | | | | | and disabled - added new state for downloads "uninstalled" for mods that were at one point installed and then removed - user-configured server preference is now used - updated tutorial to account for removal of integrated browser - reverted to qt 4 - using performance optimised findfirstfile on win vista and up - bugfix: it was possible to disable all columns of the mod list - bugfix: hook.dll doesn't load on win xp
* - some fixes for qt5 compatibilityTannin2013-06-201-1/+1
| | | | | | | | | | | | | | | | | | | | | - hook.dll no longer creates a dump and uninstalls it if an exception is reported that doesn't originate from it - NCC used read-only transactions again because otherwise solid archives become unusably slow. - removed the integrated nexus browser - the mod description and motd are now rendered in QTextBrowser. This (and the above) eliminates the dependency on qtwebkit - removed the direct file download for mod files - reduced CPU usage during downloads by invalidating only one column of the download list. This widget still needs to be replaced - added the complete filename as an option for the modname - applications that require elevation can now be started by invoking an elevated secondary ModOrganizer instance - MO will now register nexus file servers and provides a settings dialog to pick preferred servers. (This preference is not used yet) - worked around 1-2 bugs in QSortFilterProxy - handling of nxm links is now done by an external application. This allows the registration of different applications depending on the game - integrated fomod installer now displays the screenshot in a scalable view - bugfix: integrated fomod installer didn't name output files correctly if the name differs from the source name - bugfix: a successful login to nexus was (sometimes?) not correctly detected as a success - bugfix: top-level entries in QtGroupingProxy were sometimes incorrectly displayed as groups - bugfix: GetPrivateProfile... optimization could cause null-pointer indirection - bugfix: GetCurrentWorkingDirectory caused buffer overflow in case of pre-flighting (buffer size 0) - bugfix: configurator plugin now also uses qt5 (it's currently broken though)
* - added hook for ansi version of SHFileOperation, this function may not be ↵Tannin2013-05-282-1/+14
| | | | routed to the unicode version in every windows variant
* - bugfix: mod priority ordering could become incorrectTannin2013-05-251-2/+4
| | | | | - bugfix: when grouping is enabled, newly installed mods broke grouping - bugfix: syncing overwrite didn't clean up emptied directory
* - added hooks for getFileVersion* functionsTannin2013-03-279-0/+57
| | | | | | | | | | | | | | | | | | - automatic donwload retry - support for storing multiple download urls - improved "query info" functionality - some cleanup to download manager code - external fomod installer dialog are now brought to front - added shell... functions to have windows handle problematic situations - added visual clue when filters are active - esps are now automatically activated when installing a mod - added option to never endorse a mod - added "previous" and "next" buttons to mod info dialog - improved the way messagedialog text is shortened - coloring in mod info dialog now visible in other color schemes - plugin list is now saved automatically - vanilla bsas are now enabled even if they are not listed in the ini file - bugfix: setting mod to maximum now doesn't try to place the mod below overwrite