Commit Graph

303 Commits

Author SHA1 Message Date
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
erri120
791438eea6 Created RunIfGame CompilationStep 2019-11-14 15:34:11 -07:00
erri120
a6016813f0 Added a comment 2019-11-14 15:34:11 -07:00
erri120
061e46572d VortexCompiler: Added support for different staging/downloads folder 2019-11-14 15:34:11 -07:00
erri120
00cacfd01f VortexCompiler: Added more logging 2019-11-14 15:34:11 -07:00
erri120
e23ca453a5 VortexCompiler: Added ModList metadata 2019-11-14 15:34:11 -07:00
erri120
5b1ea3d448 Added null check to NexusDownloader:GetDownloaderState 2019-11-14 15:34:11 -07:00
erri120
6c1177d8e1 Fixed typo 2019-11-14 15:34:10 -07:00
erri120
2a92131025 Created GetByNexusName function for the GameRegistry 2019-11-14 15:34:10 -07:00
erri120
233c85b36d Implemented new caching system with GetModInfoFromMD5 2019-11-14 15:34:10 -07:00
erri120
4900423f70 Fixed rebase issues 2019-11-14 15:34:10 -07:00
erri120
ece05901c2 Fixed stack compilation endless loop 2019-11-14 15:34:10 -07:00
erri120
22dbc7cab3 Rerolled a commit 2019-11-14 15:34:10 -07:00
erri120
3fb698789c Working VortexCompiler 2019-11-14 15:34:10 -07:00
erri120
0fa2be2c1d Fixed typo 2019-11-14 15:34:10 -07:00
erri120
1041f1ecde Using MD5 hash for getting mod info 2019-11-14 15:34:10 -07:00
erri120
68f800e783 Created GetModFiles NexusApi function 2019-11-14 15:34:10 -07:00
erri120
609c5d309b Game name will not be converted if it already is 2019-11-14 15:34:10 -07:00
erri120
1c9f960252 Created NexusFile class 2019-11-14 15:34:10 -07:00
erri120
f3b7b44d24 Fixed bad comment 2019-11-14 15:34:10 -07:00
erri120
bd3d753138 Created IncludeVortexDeployment Compilation Step 2019-11-14 15:34:10 -07:00
erri120
8d650fcbd9 Fixed some stuff 2019-11-14 15:34:10 -07:00
erri120
45ba7d4bce Updated zEditIntegration to use the new ACompiler 2019-11-14 15:34:10 -07:00
erri120
8eb2f34faa Updated all CompilationSteps to use the new ACompiler 2019-11-14 15:34:10 -07:00
erri120
917a9e296c Updated ACompilationStep and IStackStep to use new ACompiler 2019-11-14 15:34:10 -07:00
erri120
dcf91c0737 Created VortexCompiler and updated MO2 Compiler 2019-11-14 15:34:10 -07:00
erri120
f9b0976ef1 Created abstract Compiler class 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
9617ca4982
Fix how we clean the download cache (#170) 2019-11-14 14:53:29 -07:00
Timothy Baldridge
d9ca38cdff
Make BSA Routines async (#168)
* Make BSA routines async
2019-11-11 21:35:07 -07:00
Timothy Baldridge
3a66a35fe3 fix in readonly changes 2019-11-10 16:21:51 -07:00
Timothy Baldridge
e164d7a8bf Change exception printing, and unset read-only during move. 2019-11-10 16:03:10 -07:00
Timothy Baldridge
ba8e423f26
Merge pull request #157 from wabbajack-tools/better-downloader-progress
Feed archive info into the HTTP downloader
2019-11-08 08:28:01 -07:00
Timothy Baldridge
6996556642 Feed archive info into the HTTP downloader so we get proper downloader progress bars. 2019-11-07 22:19:39 -07:00
Timothy Baldridge
91738f9cec
Merge pull request #156 from erri120/property-ceras-fix
Added PropertyFile to CerasConfig
2019-11-07 20:58:37 -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
erri120
3833a5bae2
Added PropertyFile to CerasConfig 2019-11-07 18:26:04 +01:00
Timothy Baldridge
fdfe9d36f0
Merge pull request #154 from wabbajack-tools/move-dont-copy
Move files into the install folder
2019-11-06 21:56:16 -07:00
Timothy Baldridge
9d609fb0ca Move files into the install folder instead of copying them, should drastically reduce IO during installation. 2019-11-06 21:43:30 -07:00
Timothy Baldridge
4d68a0c5cb
Merge pull request #153 from wabbajack-tools/manual-download-guidence
Manual Download Guidence
2019-11-06 21:42:43 -07:00
Timothy Baldridge
040289f16c Fix bug with file moving in manual mode 2019-11-06 21:23:43 -07:00
Timothy Baldridge
a9f9209a1a
Merge pull request #152 from wabbajack-tools/detailed-modlist-metadata
Emit more detailed modlist metadata
2019-11-06 17:40:14 -07:00
Timothy Baldridge
cb667ed4f8 Fix broken interaction with http-downloader 2019-11-06 17:29:53 -07:00
Timothy Baldridge
1f0591d05e Download manual files first 2019-11-06 16:59:18 -07:00