Commit Graph

636 Commits

Author SHA1 Message Date
Justin Swanson
b31f336ddb Lots of compiler backend changes to support multiple
CompilerVM is lightweight now, with sub view models per mod manager mode
2019-11-14 20:25:09 -06:00
Timothy Baldridge
490bd4de5a Fix tests 2019-11-14 15:58:29 -07:00
erri120
82e93e04d1 Added Witcher 1,2,3 to GameMetaData 2019-11-14 15:34:11 -07:00
erri120
8f9a27d8f5 Changed int GOGID to List<int> GOGIDs for multiple id support 2019-11-14 15:34:11 -07:00
erri120
8ef41beb59 Added SWKOTOR and SWKOTOR2 to GameMetaData 2019-11-14 15:34:11 -07:00
erri120
12d4e2acda Added Starbound to GameMetaData 2019-11-14 15:34:11 -07:00
erri120
8309592ed2 Added Divinity Orginal Sins 2 Definitive Edition to GameMetaData 2019-11-14 15:34:11 -07:00
erri120
1d35bf5ed1 Created AdditionalFolders property 2019-11-14 15:34:11 -07:00
erri120
b02d9b50a2 Added Divinity Original Sins 2 to the Games list 2019-11-14 15:34:11 -07:00
erri120
2a92131025 Created GetByNexusName function for the GameRegistry 2019-11-14 15:34:10 -07:00
erri120
6062088681 Removed unused imports 2019-11-14 15:34:10 -07:00
erri120
de40b8ce32 Added GOGID property 2019-11-14 15:34:10 -07:00
erri120
ccafda79b2 Created GOG Handler 2019-11-14 15:34:10 -07:00
erri120
8de6c9d239 Fixed bad steam lib paths 2019-11-14 15:34:10 -07:00
erri120
2044a6728a Created SteamHandler 2019-11-14 15:34:10 -07:00
erri120
2497d5ba88 Added Steam ids 2019-11-14 15:34:10 -07:00
erri120
18a36437bc Added supported mod manager and Darkest Dungeon 2019-11-14 15:34:10 -07:00
erri120
dae96640d8 Created ModManager enum, moved enums to Wabbajack.Common 2019-11-14 15:34:10 -07:00
Timothy Baldridge
133fa2febd
Async VFS Implementation (#171)
* New VFS implementation can load/save/analyze files. All in a immutable, lock free (mostly) async parallel manner.

* VFS indexing is complete

* Can stage files

* Can extract VirtualFiles into PortableFiles and create contexts from PortableFiles

* Code cleanup
2019-11-14 15:22:53 -07:00
Timothy Baldridge
0cb6f2fa69 Make File Extractor async 2019-11-11 22:33:32 -07:00
Timothy Baldridge
d9ca38cdff
Make BSA Routines async (#168)
* Make BSA routines async
2019-11-11 21:35:07 -07:00
Timothy Baldridge
1ad74b450e
Merge pull request #166 from wabbajack-tools/bsa-tests
Add unit tests for BSAs
2019-11-11 06:17:48 -07:00
Timothy Baldridge
c6953bb42d
Merge pull request #165 from wabbajack-tools/async-work-queue
Async work queue
2019-11-11 06:17:36 -07:00
Timothy Baldridge
c3daf2b1bc Add unit tests for BSAs 2019-11-10 23:15:52 -07:00
Timothy Baldridge
35897bbf92 cleanup 2019-11-10 21:10:26 -07:00
Timothy Baldridge
e61b203d4c Final bits for CSP backend 2019-11-10 20:47:25 -07:00
Timothy Baldridge
e164d7a8bf Change exception printing, and unset read-only during move. 2019-11-10 16:03:10 -07:00
Timothy Baldridge
6639e9946b Other variants of pipelines 2019-11-10 15:36:04 -07:00
Timothy Baldridge
f66427c2ea Add a bunch of unit tests fixed a nasty race condition in the put/take handlers 2019-11-10 15:15:52 -07:00
Justin Swanson
bf9c315a2f RxExt.Invert 2019-11-09 19:26:58 -06:00
Justin Swanson
5b4cb1fa89 CompilerVM: Modlist file picker shows errors if not in MO2 directory 2019-11-09 19:20:30 -06:00
Timothy Baldridge
e9c2ababec More deadlock bugfixes 2019-11-09 17:22:28 -07:00
Timothy Baldridge
081dea2368 Fix channel closing, add unordered pipeline 2019-11-09 14:29:55 -07:00
Timothy Baldridge
f8c7144071
Merge pull request #159 from erri120/game-handler
Better Game Handlers
2019-11-09 14:07:30 -07:00
Timothy Baldridge
67dfaa3581 Refactored to use ValueTask and lazy task creation 2019-11-09 07:49:00 -07:00
erri120
83807a56b8
Added null check to GetByMO2ArchiveName 2019-11-09 15:40:50 +01:00
erri120
467cfc47a0
Removed Morrowind from the Games list 2019-11-09 15:40:14 +01:00
erri120
36867a4806
MO2ArchiveName will be lowercase when comparing in GetByMO2ArchiveName 2019-11-09 15:25:29 +01:00
erri120
7f0129e83b
Changed Oblivion MO2ArchiveName to lowercase 2019-11-09 15:21:31 +01:00
erri120
9060c6a947
Created SteamHandler 2019-11-09 14:49:57 +01:00
erri120
662315a7bb
Created GOGHandler 2019-11-09 14:49:33 +01:00
Timothy Baldridge
a59e39deaa WIP channels 2019-11-08 23:37:05 -07:00
Timothy Baldridge
2fb857a093 Unify caching to reduce the number of Nexus calls on the build server 2019-11-07 18:36:01 -07:00
Timothy Baldridge
e518f31a71 Enable guidence for users to download manual files. 2019-11-06 16:52:48 -07:00
Justin Swanson
fa504a1b16 DictionaryExt. Other Ext files migrated to Common 2019-11-05 19:39:18 -06:00
Timothy Baldridge
2d497c4c7d Fix tests 2019-11-05 15:30:05 -07:00
Timothy Baldridge
3d9cf4cc65 Rework Nexus API caching logic to use build server cache 2019-11-05 15:21:07 -07:00
Timothy Baldridge
c43bcc7d89 wip 2019-11-05 15:21:07 -07:00
Timothy Baldridge
6ab49e380c Add modlist validation tests. 2019-11-05 15:21:07 -07:00
Timothy Baldridge
6a93e4eca7
Merge pull request #149 from Noggog/WorkQueue-Utils-Rx
WorkQueue and Utils Rx instead of callbacks
2019-11-04 22:30:05 -07:00
Justin Swanson
9051d28822 WorkQueue and Utils Rx instead of callbacks
Swapped the callback registration systems for Rx subjects exposing observables
2019-11-04 22:17:43 -06:00
erri120
df74b34754
Merge pull request #147 from erri120/ignore-case-esm
Made string comparisons for GameESMs case insenitive
2019-11-04 19:14:42 +01:00
erri120
557e443685
Made string comparisons for GameESMs case insenitive 2019-11-04 19:12:53 +01:00
LivelyDismay
46bdc63e46
Update Consts.cs
Change uppercase to lowercase on two esm names to match vanilla file names.
2019-11-04 12:57:19 -05:00
Justin Swanson
d872823d7a Utils.Is(File/Directory)PathValid 2019-11-02 21:23:59 -06:00
Justin Swanson
2dc47d5ec8 Ported some Error/Hash systems from Noggog/CSharpExt 2019-11-02 21:13:14 -06:00
Justin Swanson
ecb789d088 Merge remote-tracking branch 'wabbajack-tools/master' into VM-split-and-styling 2019-11-02 18:41:37 -05:00
Justin Swanson
422fde257b Merge remote-tracking branch 'wabbajack-tools/master' into XAML-IDE-Featureset 2019-11-02 18:31:21 -05:00
Justin Swanson
12daa32d4e All projects migrated to PackageReferences nuget systems 2019-11-02 17:57:51 -05:00
Timothy Baldridge
51d1b32077 finish up zedit integration 2019-11-02 09:38:03 -06:00
erri120
750dd6f7aa
Fixed bad LINQ expression 2019-11-01 12:06:12 +01:00
erri120
fa51cd4d69
Moved IsMO2Running to Utils.cs, added check for MO2 inside the selected profile folder 2019-11-01 11:56:29 +01:00
erri120
ee2ea4acc0
ExtensionManager: Removed unused argument 2019-10-31 12:14:14 +01:00
Timothy Baldridge
610fea9d7f use xxHash64 hasing 2019-10-30 21:40:33 -06:00
Timothy Baldridge
6c79d0a9d2 Merge branch 'master' of https://github.com/halgari/wabbajack into programmable-stack 2019-10-30 20:25:14 -06:00
Timothy Baldridge
0151b219bf dump stack info to disk and load it during compilation 2019-10-30 20:24:42 -06:00
Timothy Baldridge
82bedf0807 fix boolean logic 2019-10-30 14:27:44 -06:00
erri120
a12faee21e
ExtensionManager: Added NeedsUpating function 2019-10-30 18:19:37 +01:00
erri120
7c3f92ecc9
ExtensionManager: Cleanup and refactoring 2019-10-30 17:49:46 +01:00
erri120
39fc9eba9d
ExtensionManager: Changed PerceivedType to Compresed instead of Archive 2019-10-30 17:49:46 +01:00
erri120
cd9e11045e
Fixed win8FileReg key not being updated 2019-10-30 17:49:46 +01:00
erri120
c676aed591
ËxtensionManager: Added IsAssociationOutdated function 2019-10-30 17:49:45 +01:00
erri120
746837cf26
ExtensionManager: Made path static readonly strings in class 2019-10-30 17:49:45 +01:00
erri120
593902f191
Code cleanup and added nullcheck 2019-10-30 17:49:45 +01:00
erri120
4cfbd14002
Added iconPath and appPath as arguemnts for AssociateExtension 2019-10-30 17:49:45 +01:00
erri120
be4b15378f
Made AssociateExtension static 2019-10-30 17:49:44 +01:00
erri120
a1fa2a5c6d
Added IsAssociated and Associate functions 2019-10-30 17:49:44 +01:00
erri120
49ba23affe
Created ExtensionManager 2019-10-30 17:49:44 +01:00
Timothy Baldridge
ae011ee7e4 add some validation to the installed modlist 2019-10-29 15:30:27 -06:00
erri120
4c694eafc9
Added Compression to Ceras serialization 2019-10-27 14:55:31 +01:00
erri120
6fd9d49c9e
Added BZip2 Compression to modlist info file 2019-10-27 14:55:31 +01:00
erri120
56daeb069a
Created To/From CERAS functions 2019-10-27 14:55:30 +01:00
erri120
63574f9934
Added Ceras NuGet Package 2019-10-27 14:55:30 +01:00
erri120
13cc4785b0
Reenabled OMOD extraction 2019-10-23 18:14:34 +02:00
Timothy Baldridge
3d5d2e0da9
Merge pull request #110 from wabbajack-tools/modlist-selection-ui
Modlist selection ui
2019-10-22 18:17:48 -06:00
Timothy Baldridge
1882b9227b fixup some google download links so they properly download 2019-10-21 13:05:03 -06:00
Timothy Baldridge
f1e316f544 fixup some modlist definition mappings 2019-10-20 13:30:39 -06:00
Timothy Baldridge
f851432d51 add modlist selection ui, still WIP 2019-10-20 05:26:42 -06:00
Timothy Baldridge
c7f04f52e1
Merge pull request #109 from wabbajack-tools/fallout-esms
add FO4 EMS to ESM cleaning whitelist
2019-10-19 09:15:27 -06:00
Timothy Baldridge
99cbb1b878 add FO4 EMS to ESM cleaning whitelist 2019-10-19 04:59:43 -06:00
Timothy Baldridge
7a0ef2a380 rework modlist metadata code to use static site json 2019-10-19 04:55:05 -06:00
Timothy Baldridge
12cffd20cd fix typeo in FromYaml 2019-10-16 15:49:20 -06:00
Timothy Baldridge
65af535487 code cleanup 2019-10-16 15:36:14 -06:00
Timothy Baldridge
f06d3102ef fix sanity tests 2019-10-15 21:17:27 -06:00
Timothy Baldridge
ac14aad955 add modlist metadata files 2019-10-15 17:23:14 -06:00
Timothy Baldridge
e4c1e264cd fixes #95 2019-10-14 15:04:12 -06:00
Justin Swanson
a4d6feae42 Added 32bit compilation option 2019-10-13 15:56:40 -05:00
Timothy Baldridge
fadb0e6381
Merge pull request #85 from erri120/slideshow-logging
Added logging to file for slideshow
2019-10-12 21:20:06 -06:00
Timothy Baldridge
7cb39695bf update readmes and modlist ver number 2019-10-12 21:15:14 -06:00
Timothy Baldridge
bf11273c15 integrated the new download framework into the app 2019-10-12 20:54:13 -06:00
Timothy Baldridge
1e64544783 created downloaders for dropbox, http, google, and nexus 2019-10-12 20:54:13 -06:00
Timothy Baldridge
bd885477a1 start of rework of download routines 2019-10-12 20:54:13 -06:00
erri120
514c6b9510
Added logging to file for slideshow 2019-10-12 21:15:19 +02:00
Timothy Baldridge
31b764204f finish ba2 integration 2019-10-11 17:31:36 -06:00
Timothy Baldridge
29943aab87 merge master 2019-10-11 15:23:20 -06:00
Timothy Baldridge
473ffbd806 a bunch of integration work, and ba2 fixes 2019-10-09 23:04:28 -06:00
erri120
1a04c9578b
Removed OMOD-Framework as a project and added as a NuGet package 2019-10-07 12:53:51 +02:00
Timothy Baldridge
dd490a00a0
Merge pull request #65 from erri120/omod-update
OMOD Update
2019-10-03 16:31:51 -06:00
Timothy Baldridge
a186411e0b add headless mode for checking archives 2019-10-02 22:35:29 -06:00
Timothy Baldridge
14eb3e697e put the tests back, I think it was a message box error 2019-10-02 21:23:11 -06:00
Timothy Baldridge
192dfa1331 Change oblivion's game name to Oblivion 2019-10-02 16:45:42 -06:00
Timothy Baldridge
4597135de5 modlists are now .zip files, several bug fixes found in testing 2019-10-01 16:39:25 -06:00
erri120
1ede321f65
Added OMOD-Framework as new submodule 2019-10-01 20:55:13 +02:00
Timothy Baldridge
c98991010f remove .exe extractor resource 2019-09-30 20:47:46 -06:00
Timothy Baldridge
ea95c78b26 updated the README fixed validation and game folder path detection 2019-09-30 17:39:41 -06:00
Timothy Baldridge
eb9e6500c9 integrate content rights validation into the main program 2019-09-29 16:21:18 -06:00
Timothy Baldridge
6c24e4fdbb implement framework for content rights management 2019-09-28 22:41:47 -06:00
Timothy Baldridge
1418634dbb add missing file 2019-09-28 18:22:25 -06:00
Timothy Baldridge
c9d12c7904 fix deadlock with singleton NexusAPI client. We can look into this in the future, but it's still causing problems so removing the singleton for now 2019-09-28 18:18:42 -06:00
Timothy Baldridge
d894ac733e fix bad edit 2019-09-25 22:14:15 -06:00
Timothy Baldridge
a7e0f78b99 fix omod integration 2019-09-25 22:10:28 -06:00
erri120
2c1adf3389 Added OMODExtractor as a submodule and changed the reference to shared project 2019-09-25 22:10:28 -06:00
erri120
e8b0c3b29f Added omod extraction via dll 2019-09-25 22:10:28 -06:00
erri120
a266e79655 Added OMODExtractorDLL as reference 2019-09-25 22:10:28 -06:00
erri120
2442587cff Added omod as a supported archive 2019-09-25 22:10:28 -06:00
Timothy Baldridge
de373ca9e2
Merge pull request #48 from tr4wzified/typofixes
Fix typos in various files
2019-09-25 21:36:29 -06:00
Timothy Baldridge
b09bf20761 remove support for extracting .exe files 2019-09-25 21:20:14 -06:00
trawzified
2512212d38 Fix typos in various files 2019-09-24 17:26:44 +02:00
Timothy Baldridge
30b592f16e fix a fall through 2019-09-24 05:46:12 -06:00
Timothy Baldridge
24c948f138 support auto extraction exes as archive sources 2019-09-24 05:27:43 -06:00
Timothy Baldridge
a21edfd2f1 add unit tests. It's about time! 2019-09-23 22:20:24 -06:00
Timothy Baldridge
c471a817d2 start of zEdit integration 2019-09-23 15:37:10 -06:00
Timothy Baldridge
2b263db815 Add start of web remote framework, and implementation for MediaFire 2019-09-20 22:48:59 -06:00
Timothy Baldridge
f90260fed0 update report information and add WABBAJACK_NOMATCH_INCLUDE 2019-09-20 16:49:32 -06:00
Timothy Baldridge
53d7c5c83a Merge branch 'master' of https://github.com/halgari/wabbajack 2019-09-16 14:40:19 -06:00
Timothy Baldridge
a254f0d99a consider .fomod a .7z few other compilation tweaks 2019-09-16 14:40:06 -06:00
erri120
a615ba7b95
Merge branch 'master' into patch-2 2019-09-14 13:37:43 +00:00
Timothy Baldridge
454cff052e code reformatting 2019-09-13 22:35:42 -06:00
Timothy Baldridge
1a7dec86c1 few fixes and improvements 2019-09-13 21:44:07 -06:00
erri120
36203f9223
Merge branch 'master' into patch-2 2019-09-13 13:41:14 +00:00
Timothy Baldridge
6c7d1759bc more perf improvements to compilation and storage 2019-09-12 18:18:50 -06:00
Timothy Baldridge
3e6dd46803 many improvements to accelerate compilation times 2019-09-12 17:44:35 -06:00
erri120
b41902815d Changed all modpack references to modlist 2019-09-12 17:32:13 +02:00
Timothy Baldridge
9347b99363 add missing ChildProcessTracker.cs 2019-09-10 14:10:53 -06:00
Timothy Baldridge
ebc548ee04 bit of code cleanup and additions to the report 2019-09-10 07:02:25 -06:00
Timothy Baldridge
b1c2f17784 fixed issue with bsa files of 0 length 2019-09-08 16:44:15 -06:00
Timothy Baldridge
064cef8e5f removed endorsing option, include version/sha in install report, link sha to virustotal 2019-09-05 16:18:54 -06:00
Timothy Baldridge
4cfd2f245f fixes #25 2019-09-04 14:49:13 -06:00
Timothy Baldridge
5edf454e16 fixes #6 - users can now have a download folder outside of MO2 2019-09-03 16:12:39 -06:00
Timothy Baldridge
7acd964f48 fixes #16 - multiple profiles are now supported 2019-09-03 15:17:00 -06:00
Timothy Baldridge
d21a11b005 fixes #14, fixes #17 2019-09-02 16:36:57 -06:00
Timothy Baldridge
ab3c87975c fixes #19 - Add installation summary 2019-08-30 17:57:56 -06:00
Timothy Baldridge
b72a64ff8b bunch of fixes to file extraction 2019-08-29 16:49:48 -06:00
Timothy Baldridge
5ddbd832f6 fix for long file names 2019-08-27 21:22:57 -06:00
Timothy Baldridge
d33c1a358d ask to endorse mods, fixes to broken installers 2019-08-26 17:02:49 -06:00
Timothy Baldridge
42864ac12b rework extractor routines 2019-08-25 17:52:03 -06:00
Timothy Baldridge
bf181cdc2d add support for ESM cleaning 2019-08-24 21:46:32 -06:00
Timothy Baldridge
40950b442c Lock down 7zip a bit until it learns to behave 2019-08-24 20:26:24 -06:00
Timothy Baldridge
dc6b4b9ef7 We now copy custom LOOT rules 2019-08-24 17:59:22 -06:00
Timothy Baldridge
5c7acc5e18 We now remap ModOrganizer.ini files 2019-08-24 17:20:54 -06:00
Timothy Baldridge
7be81d9a98 cache nexus info when validating mod links 2019-08-24 14:23:16 -06:00
Timothy Baldridge
114fefb38d Fixes for supporting Fallout New Vegas 2019-08-22 17:29:44 -06:00
Timothy Baldridge
07df55383e small bug fixes that came up during testing for a 0.7 release 2019-08-22 16:05:16 -06:00
Timothy Baldridge
c343a74359 massive refactoring, it compiles, but it's surely broken 2019-08-19 22:57:08 -06:00
Timothy Baldridge
fa8f038f70 new VFS impl, should make maintaining Wabbajack a bit simpler 2019-08-19 16:08:34 -06:00
Timothy Baldridge
1a7836ec2a started work on VFS should simplify and greatly speed up really complex modlists 2019-08-14 22:30:37 -06:00
Timothy Baldridge
a6d90ccc3f fix the BSA encoder, add support for hand built patches 2019-08-11 16:57:32 -06:00
Timothy Baldridge
fff5e8dddf issue-8 - Fix PMap thread starvation 2019-08-10 09:21:50 -06:00
Timothy Baldridge
d236bfd225 issue-4 - Remove one old file 2019-08-08 22:08:01 -06:00
Timothy Baldridge
5cf03540f7 issue-4 - Implement deep archive handling for compiler/installer 2019-08-08 22:07:23 -06:00
Timothy Baldridge
4b036221b9 issue-4 - Can index nested archives 2019-08-08 16:36:09 -06:00
Timothy Baldridge
8513441afd Upgrade SevenZipExtractor, fix for bad zips, add Ignore Missing Files button 2019-08-07 17:06:38 -06:00
Timothy Baldridge
e8f2ad2f16 crash log fixes, bug fixes, and more info during failures 2019-08-04 16:08:03 -06:00
Timothy Baldridge
873bb47e35 added an overall progress bar 2019-08-02 17:04:04 -06:00
Timothy Baldridge
81a51265b0 bunch of bug fixes with mods that get updated, prepping for Alpha 2019-08-02 16:31:13 -06:00
Timothy Baldridge
2529e77036 few tweaks 2019-07-31 15:11:07 -06:00
Timothy Baldridge
12a6b12a65 Tons of GUI work 2019-07-30 21:59:19 -06:00
Timothy Baldridge
5811380241 switched the compiler/installer over to the new BSA libs 2019-07-29 21:32:52 -06:00
Timothy Baldridge
099021d890 first commit of new BSA reader/writer 2019-07-28 17:04:23 -06:00
Timothy Baldridge
e63e3be3b7 working on BSA compression support 2019-07-26 14:59:14 -06:00
Timothy Baldridge
61862ae7dd support for ModDB, and more testing fixes 2019-07-23 22:31:08 -06:00
Timothy Baldridge
dffe2a68de Can install loose files as well 2019-07-22 22:27:26 -06:00
Timothy Baldridge
752478f185 Switch to a WPF app 2019-07-22 16:17:46 -06:00
Timothy Baldridge
1466be47c0 added patching support 2019-07-21 21:36:25 -06:00
Timothy Baldridge
e4ca3cd01e Can create self-installing modlists 2019-07-21 16:47:17 -06:00
Timothy Baldridge
2d061bc1e4 Initial commit 2019-07-20 22:40:54 -06:00