Commit Graph

346 Commits

Author SHA1 Message Date
erri120
5bc6f44aeb
Redid the entire Vortex Compiler 2019-12-14 11:57:55 +01:00
erri120
dcf0113c17
Disabled manual game files 2019-12-14 11:57:47 +01:00
halgari
0464f1b43c Integrated list validation into the caching HTTP server. 2019-12-13 22:46:20 -07:00
halgari
61579bc3b6 Fix the broken tests 2019-12-13 06:02:58 -07:00
Justin Swanson
bcd7c95caf Merge branch 'master' into async-exploration 2019-12-12 19:49:40 -06:00
Timothy Baldridge
2ec760527a
Merge pull request #264 from wabbajack-tools/check-archives-before-compile
Check archive status before compilation to reduce the chance of grabb…
2019-12-12 17:10:10 -07:00
Timothy Baldridge
dba51fe4e7
Merge pull request #263 from wabbajack-tools/upgrade-deps
bump all the deps!!
2019-12-12 16:25:02 -07:00
Timothy Baldridge
394f0e5518 Check archive status before compilation to reduce the chance of grabbing a file from a dead archive 2019-12-12 16:24:27 -07:00
Timothy Baldridge
2c69a9ec9b bump all the deps!! 2019-12-12 16:00:19 -07:00
Timothy Baldridge
e482197479 Fix case sensitive bug with download deletion during install 2019-12-12 15:52:24 -07:00
Justin Swanson
96c1fe6bff Merge branch 'master' into intervention-frontend 2019-12-10 21:49:20 -06:00
Timothy Baldridge
f6e9d672d2 Create .metas automatically for source-from-game files. 2019-12-10 05:26:49 -07:00
Timothy Baldridge
ed41308f12 Can now "download" archives from the game folder. This is useful if installers need to repack game files, they can source the files from the main game archive and then build a new BSA modifying/adding files as needed 2019-12-09 16:52:17 -07:00
Timothy Baldridge
df4dcfa761 Use extension methods to get game metadata 2019-12-09 15:46:03 -07:00
Timothy Baldridge
ba556be994 Every steam install has the root steam folder as a implicit game location 2019-12-09 15:38:26 -07:00
Justin Swanson
7f695a4a9e Install/Compile views display ConfirmationInterventions in CPU area 2019-12-08 18:19:36 -06:00
Justin Swanson
f8f0490047 UserInterventionHandlers cancellation tokens. Removed dispatcher 2019-12-08 13:46:30 -06:00
Timothy Baldridge
6ad8baefb3 Fixe broken LL url detecting 2019-12-08 11:38:49 -07:00
Timothy Baldridge
638838d7a5 Fix LL ad selector 2019-12-08 10:05:52 -07:00
Timothy Baldridge
37542c2148 Remove debug code 2019-12-08 10:01:41 -07:00
Timothy Baldridge
3bbbfb3ea2 Finish up LL support. 2019-12-08 10:00:22 -07:00
Justin Swanson
86d4003398 Merge remote-tracking branch 'wabbajack-tools/master' into async-exploration 2019-12-08 01:10:51 -06:00
Timothy Baldridge
b9ae379c09
Merge pull request #240 from erri120/vortex-fixes-5
Vortex fixes 5
2019-12-07 11:30:11 -07:00
erri120
c5858c51c3
Vortex: Manual game files can be copied over 2019-12-07 17:35:57 +01:00
erri120
9d4325a5fe
Updated GameLocation property 2019-12-07 17:03:58 +01:00
Justin Swanson
f73bdee63e PMapped IncludeArchiveData to parallel the filehashing 2019-12-07 01:22:54 -06:00
Justin Swanson
bc436e53c7 Fixed [ThreadStatic] systems in WorkQueue 2019-12-07 01:22:34 -06:00
Justin Swanson
63afc2dc9e Remaining NexusAPI made async 2019-12-07 00:40:29 -06:00
Justin Swanson
729b5128da Random .Results swapped to async 2019-12-07 00:40:29 -06:00
Justin Swanson
a25fc9d1a9 Lots of NexusAPI refactored to async 2019-12-07 00:40:29 -06:00
Justin Swanson
5bd856a7c6 Utils async -> sync methods removed 2019-12-07 00:40:29 -06:00
Justin Swanson
43dc6953c5 AbstractDownloadState download made async 2019-12-07 00:40:22 -06:00
Timothy Baldridge
374aee12ef Remove debug code 2019-12-06 22:47:30 -07:00
Timothy Baldridge
101d45f20c Can log into the Nexus via the internal browser, and can cancel via the back button. 2019-12-06 22:40:57 -07:00
Justin Swanson
e9deda9f44 Large swap to make WorkQueue able to take Task work items 2019-12-06 22:47:49 -06:00
Justin Swanson
e90759937b Removed internal WorkQueue in ValidateModlist that was un-disposed 2019-12-06 20:05:24 -06:00
Justin Swanson
03c88b0f38 Removed some Shutdown/Terminate functions in favor of Dispose 2019-12-06 20:04:42 -06:00
Justin Swanson
179ac2b0ee ABatchProcessor takes CancellationToken
Some basic usage of it.  Needs to be utilized deeper
2019-12-06 19:04:53 -06:00
Timothy Baldridge
a8a344d4be Added libCef, hooked it into a WPF window. Made NexusAPI raise a message. Implemented encrypted caching routines. 2019-12-06 17:13:16 -07:00
Timothy Baldridge
ceebe0b745
Merge pull request #237 from wabbajack-tools/set-screen-size
Implement screen size auto-set for MO2 games
2019-12-05 22:28:09 -07:00
Timothy Baldridge
822236de8c
Merge pull request #238 from wabbajack-tools/exceptions-as-data
Exceptions as data
2019-12-05 22:27:59 -07:00
Timothy Baldridge
7191804ff2
Merge branch 'master' into set-screen-size 2019-12-05 22:12:29 -07:00
Timothy Baldridge
8b2486059f Implement screen size auto-set for MO2 games 2019-12-05 21:58:18 -07:00
Timothy Baldridge
56371b47ce
Merge pull request #235 from erri120/more-vortex-fixes
More Vortex Fixes
2019-12-05 21:06:02 -07:00
Justin Swanson
b1ebd3c362 Removed IUserIntervention.Resume 2019-12-04 23:14:40 -06:00
Justin Swanson
760461ab3e Made lots of error classes members public gets 2019-12-04 23:11:15 -06:00
Justin Swanson
e946fc7ea4 Made Utils.LogToFile private. Removed ExceptionToString 2019-12-04 23:07:44 -06:00
Justin Swanson
bf87746e69 Utils.ErrorThrow added for when wanting to throw the exception 2019-12-04 22:58:02 -06:00
Timothy Baldridge
f67a235274 Logs and exceptions as classes 2019-12-04 16:17:02 -07:00
erri120
bc8dc65f29
Archives tagged with WABBAJACK_VORTEX_MANUAL will now be correctly detected and added to the modlist 2019-12-04 13:36:56 +01:00
erri120
97b3296fb9
.meta files will not be installed for Vortex 2019-12-04 11:42:58 +01:00
Timothy Baldridge
dfd5d7251d
Merge pull request #233 from Noggog/random-refactors
Random Refactors
2019-12-03 22:17:12 -07:00
Justin Swanson
ae05eb90d4 Ignore warning CS1998, mark CS4014 as error 2019-12-03 18:59:53 -06:00
Justin Swanson
4945f95066 PMap return swapped to array 2019-12-03 17:49:52 -06:00
Justin Swanson
095f43b67b ABatchProcessor: Configured/Started state tracking made threadsafe 2019-12-03 17:49:46 -06:00
Justin Swanson
d87fcd1032 Fix for compilation finalization readme/image existence checks 2019-12-03 14:08:58 -06:00
Justin Swanson
8af8e1bf14 Merge remote-tracking branch 'wabbajack-tools/master' into modlist-image-fix 2019-12-03 13:16:41 -06:00
Timothy Baldridge
97ec9c9d0f
Merge pull request #232 from erri120/vortex-installer-fixes
Assortement of Vortex Installer fixes
2019-12-03 06:06:38 -07:00
erri120
2ee7b92df9
Added warning to Vortex Installer startup 2019-12-03 13:20:16 +01:00
erri120
b6089c34f6
Steam Workshop Items can now be installed 2019-12-03 13:13:37 +01:00
Justin Swanson
b74c8bf544 Modlist image and readme embedded in .wabbajack and displayable 2019-12-03 00:09:20 -06:00
Justin Swanson
7926870fab Fix for HTTP download directory creation 2019-12-03 00:05:20 -06:00
Justin Swanson
4965f78c07 HTTPDownloader creates directory for its destination 2019-12-02 23:28:06 -06:00
Timothy Baldridge
5ba0514a0e
Merge pull request #228 from Noggog/vortex-front
Vortex front
2019-12-02 22:14:07 -07:00
Justin Swanson
d609e50afb Vortex Installer implemented 2019-12-02 20:38:33 -06:00
erri120
7a38d3fb24
Created new SteamWorkshopDownloader and IncludeSteamWorkshopItems compilation step 2019-12-02 17:44:24 +01:00
erri120
4a3b5d8161
Created new Directives 2019-12-02 17:43:43 +01:00
Justin Swanson
5bb291a310 AInstaller ctor parameters made more picky for required input 2019-12-01 14:23:24 -06:00
erri120
09ca870f6a
VortexCompiler can now check for non-nexus mods to add to the modlist 2019-12-01 16:08:19 +01:00
erri120
41e5660c73
Vortex Compiler cleanup 2019-12-01 15:59:08 +01:00
erri120
8fd65da191
Fixed NexusDownloader.Verify to work with non MO2 games 2019-12-01 15:54:21 +01:00
erri120
bb2b199d34
Removed description from .meta file 2019-12-01 15:54:21 +01:00
Justin Swanson
4e9f44824c Merge branch 'master' into mode-sel-progress-work 2019-11-29 18:28:56 -06:00
Justin Swanson
107527311d Resource loading fixes 2019-11-29 17:56:56 -06:00
Timothy Baldridge
70fead926f Rework how we download/install curated lists 2019-11-28 22:52:33 -07:00
Timothy Baldridge
3976d7e526 Macro-level progress bar updates. 2019-11-24 16:03:36 -07:00
Timothy Baldridge
885e18bc89 Disable free space checking, it didn't work like I wanted, too much trouble to maintain for now. 2019-11-24 14:36:26 -07:00
Timothy Baldridge
dd715fd576 Use alphafs for file and fileinfo 2019-11-24 06:04:57 -07:00
Timothy Baldridge
fbe3b9edb7
Merge pull request #205 from wabbajack-tools/better-sizing
Take existing files into account when calculating sizes.
2019-11-23 18:01:54 -07:00
Justin Swanson
df62c2ff8c Removed unnecessary compiler instantiation for setting downloads folder 2019-11-23 18:36:57 -06:00
Justin Swanson
3a15d62289 ACompiler explicit implementation enforcement of its required members 2019-11-23 18:30:51 -06:00
Timothy Baldridge
4ec2580ca4 Take existing files into account when calculating sizes. 2019-11-23 17:04:34 -07:00
erri120
899c7e4966
Downgraded ReactiveUI to 10.5.30 2019-11-23 19:50:56 +01:00
Timothy Baldridge
2afcb83456 Switch directory deleting back to use a shell process. It's the only 100% reliable method I've found. 2019-11-23 10:37:24 -07:00
erri120
bd13d15a81
Updated dependencies of main projects 2019-11-23 17:03:02 +01:00
erri120
b5871a3468
Updated all main projects to .NET 4.8.0 2019-11-23 16:50:09 +01:00
erri120
0b958f5f9b
Changed all relative references to use SolutionDir 2019-11-23 16:47:05 +01:00
Timothy Baldridge
d636d06ced Added extensions to the game enum, fixed the cache server (again) 2019-11-22 15:00:34 -07:00
Timothy Baldridge
8a680a8f14 Several fixes for compilation and caching. 2019-11-21 22:19:42 -07:00
Timothy Baldridge
0ddcaa8241 Fix bug in time conversion, implement update endpoint for nexus cache 2019-11-21 17:41:01 -07:00
Timothy Baldridge
f7a36bf20e Fix staging error with new patching code 2019-11-21 15:35:59 -07:00
Timothy Baldridge
1ee439c7c1 Better selection of patch file sources 2019-11-21 14:32:58 -07:00
erri120
b930724560
Fixed naming in Wabbajack.Lib 2019-11-21 16:51:57 +01:00
erri120
8342f00a53
Simplified names in BSA2Reader nad ModListMetadata 2019-11-21 16:06:17 +01:00
erri120
e4f17a81b8
Removed unused imports from Wabbajack.Lib 2019-11-21 15:25:56 +01:00
erri120
97b7524030
Created READMEs for most projects 2019-11-21 15:11:08 +01:00
Timothy Baldridge
046907499b Few bug fixes to the caching code, don't allow nulls to get into the cache. 2019-11-21 06:28:37 -07:00
Timothy Baldridge
e10112bff9 Nexus has dirty caches, so we have to work around it 2019-11-20 22:57:48 -07:00
Timothy Baldridge
27964f0348 Set the queue size during installation based on the disk performance. Abort installation if there isn't enough disk space to perform the installation. 2019-11-20 16:39:03 -07:00
Timothy Baldridge
a8d8d20a99 Several fixes that came up during testing.
* Fixed hashing progress bars
* Wired up the CPUStatus to the UI during installation
* Fixed xxHashing
* Verified modlist optimization works on a real modlist (noise)
* Added an optimizer test for extra files created by the user left in the install directory.
2019-11-19 17:15:46 -07:00
Timothy Baldridge
c93b039912
Merge pull request #193 from tr4wzified/zEditfix
Change general _mo2Compiler back to installer to fix merges
2019-11-19 07:21:19 -07:00
trawzified
c403394592 Change general _mo2Compiler back to installer to fix merges 2019-11-19 14:04:17 +01:00
Timothy Baldridge
641dd36d7f Implement a better HTTP caching server 2019-11-18 22:10:07 -07:00
Timothy Baldridge
ce0e3da7cb
Merge pull request #189 from tr4wzified/win7downloadsfix
Change KnownFoldersType to Downloads instead of DownloadsLocalized, f…
2019-11-18 11:31:16 -07:00
Timothy Baldridge
7773d033ea
Merge pull request #187 from erri120/nitpicking-1
Nitpicking stuff #1
2019-11-18 11:30:47 -07:00
tr4wzified
7b20b40ce0 Change KnownFoldersType to Downloads instead of DownloadsLocalized, fixes Windows 7 crash 2019-11-18 18:53:11 +01:00
erri120
bb2661f968
Changed ToDescriptionString to return toString if no description is present 2019-11-18 18:06:17 +01:00
erri120
2fde106b92
ModList list from GitHub will display the description of a game instead of toString if available 2019-11-18 16:46:55 +01:00
Timothy Baldridge
13de3913da Optimize modlists before installation. Also fixed an async bug in VFS. 2019-11-17 22:21:24 -07:00
Timothy Baldridge
8d5843ecc6 Rename Compiler/Installer to MO2Compiler/MO2Installer, other code cleanup as well 2019-11-17 17:17:06 -07:00
Timothy Baldridge
0c78680c09 Abstract the base components of compilers/installers into a single abstract class 2019-11-17 16:48:32 -07:00
erri120
e7a644ea6f
Removed IgnoreMissingFiles = true 2019-11-17 17:30:05 +01:00
erri120
7dbe31581f
Disabled mods will now be ignored in the VortexCompiler 2019-11-17 17:26:04 +01:00
erri120
ac178ed0c5
Moved core Compile functions to ACompiler 2019-11-17 16:00:33 +01:00
erri120
b21fdfbd8c
VortexCompiler will now export MD and HTML files 2019-11-17 15:54:07 +01:00
erri120
24378ac553
VortexCompiler include Properties 2019-11-17 15:45:21 +01:00
erri120
c22cc20fc8
Rebase fixes 2019-11-17 15:28:01 +01:00
erri120
a10a3ff1ff
ModList staging folder will be deleted when finished 2019-11-17 15:01:13 +01:00
erri120
bfbdc10860
Fixed Game not being set and vortex file not being ignored 2019-11-17 15:01:13 +01:00
erri120
03251804c1
Fixed typo 2019-11-17 15:00:37 +01:00
erri120
61b91ad460
Created an abstract Installer class and moved core functions over 2019-11-17 15:00:36 +01:00
Timothy Baldridge
2e2ced6023 Updated work queue reporting 2019-11-16 23:02:09 -07:00
Timothy Baldridge
9db982a13d Merge latest from master 2019-11-16 21:30:22 -07:00
Timothy Baldridge
d92d05dbf8 Merge remote-tracking branch 'origin/master' into compiler-update-streams 2019-11-16 21:16:51 -07:00
Timothy Baldridge
baab601f09 Rework Work queue to be non-static 2019-11-16 21:16:42 -07:00
Justin Swanson
4978e55e04 VortexCompilerVM staging and downloads picker wiring 2019-11-16 21:09:46 -06:00
Justin Swanson
30437ba9c3 VortexCompiler ctor made more explicit 2019-11-16 16:10:13 -06:00
Timothy Baldridge
a3b01b1353 Rework nexus key caching 2019-11-15 21:02:37 -07:00
Timothy Baldridge
11cd96693a Compiles, working through the tests 2019-11-15 17:01:37 -07:00
Timothy Baldridge
a8dd59227d Several fixes and performance improvements 2019-11-15 16:13:27 -07:00
Timothy Baldridge
a4c629ddc4
Merge branch 'master' into vfs-integration-redux 2019-11-15 07:19:39 -07:00
Timothy Baldridge
3d4947a27a All sanity checks pass 2019-11-15 06:41:08 -07:00
Timothy Baldridge
bb4354ad20 TestDirectMatch passes! 2019-11-15 06:37:04 -07:00
Timothy Baldridge
f6a27ac094 Much simpler integration 2019-11-15 06:06:34 -07:00
Justin Swanson
22d1f29a8d Removed duplicate member 2019-11-14 23:49:00 -06:00
Justin Swanson
9580301a4f Moved some trivial member instantiations to in-line
No need to make every sub compiler create these
2019-11-14 23:47:55 -06:00
erri120
7a0eae0127 Fixed TestVortexStackSerialization failing 2019-11-14 15:34:11 -07:00
erri120
6dc3fd4085 Fixed Vortex downloads folder not being detected 2019-11-14 15:34:11 -07:00
erri120
c41e1999f8 Vortex folder will be detected and set if found 2019-11-14 15:34:11 -07:00
erri120
f391254f1d Created Vortex Test for StackSerialization 2019-11-14 15:34:11 -07:00
Timothy Baldridge
9fad28f70a Don't cache MD5 searches
We don't have expiry for MD5 searches, so we won't cache them for now
2019-11-14 15:34:11 -07:00
erri120
c6b4155126 Fixed leftovers 2019-11-14 15:34:11 -07:00
erri120
f7ee563095 Removed Vortex/MO2 compiler reference in ACompiler in favor of casting 2019-11-14 15:34:11 -07:00
erri120
3f58803b4d Fixed zEditIntegrationTests failing 2019-11-14 15:34:11 -07:00
erri120
fa18a45ebc Refractored the creation of meta files and fixed downloads being included in the modlist 2019-11-14 15:34:11 -07:00
erri120
9272e9d67c VortexInstaller will now make use of the paths set by the InstallerView 2019-11-14 15:34:11 -07:00
erri120
60f9b33265 Working VortexInstaller 2019-11-14 15:34:11 -07:00
erri120
3ad63bda39 Created VortexInstaller 2019-11-14 15:34:11 -07:00
erri120
80068fdd7d Created AddExternalFolder function to index the AdditionalFolders for the game 2019-11-14 15:34:11 -07:00
erri120
9feed217ef Removed RunIfGame Step in favor of inline conditional statements 2019-11-14 15:34:11 -07:00