Commit Graph

148 Commits

Author SHA1 Message Date
Justin Swanson
6b2d762e70 Removed unused IAsyncDisposable on BSAReader 2020-06-26 14:01:10 -05:00
Timothy Baldridge
bbced4f99f Can infer mod metas again 2020-06-21 16:03:54 -06:00
Timothy Baldridge
0b74c04c86 And priority to how game files are resolved 2020-06-20 17:10:43 -06:00
Timothy Baldridge
6c74279bfd Add better game file handling 2020-06-20 16:51:47 -06:00
Timothy Baldridge
817dbef7ae Version 2.0.6.2 2020-06-14 07:13:29 -06:00
erri120
4ed7ab1aa1
Created IncludeGenericGamePlugin 2020-06-11 18:18:21 +02:00
Timothy Baldridge
496c0083bf Store patches in RocksDb 2020-06-01 21:41:34 -06:00
Timothy Baldridge
4bcf2eb1b1 Make the tests faster by defaulting to not indexing game files 2020-06-01 20:18:32 -06:00
Timothy Baldridge
b2a112bd37 Whole app now useses Async IO exclusively 2020-05-25 11:34:25 -06:00
Timothy Baldridge
370ddfd80d
Merge pull request #837 from wabbajack-tools/fix-broken-modlist-download-detection
Fixes for when authors create lists with broken download links
2020-05-13 13:15:09 -07:00
Timothy Baldridge
0207c7ac07 Fix possible NPE 2020-05-13 08:06:18 -06:00
Timothy Baldridge
f702615ed5 Fix the subject of compile metrics 2020-05-13 06:16:14 -06:00
Timothy Baldridge
7bc5ded82c Add Game Folder Files filters back into place 2020-05-11 06:51:57 -06:00
Timothy Baldridge
419867fc8b Hotfix: don't throw exceptions when metas can't be inferred 2020-05-10 06:37:55 -06:00
Timothy Baldridge
33c1de3ad3 Bump version 2020-05-09 17:23:41 -06:00
erri120
9571ce03c6
Fixed Version and NSFW fields to being saved 2020-05-05 16:38:06 +02:00
Timothy Baldridge
3c671272b6 MO2 remaps game folder to Game Folder Files if the game executable exists in that folder 2020-05-02 17:05:05 -06:00
Timothy Baldridge
059f2ec96f Can source game downloads from the game folder 2020-05-02 15:09:29 -06:00
erri120
0d07319ac8
Added IsNSFW for modlists 2020-04-27 11:58:33 +02:00
Timothy Baldridge
fd096e703d Change the VFS cache name so we don't overwrite 1.1.5 caches 2020-04-21 06:40:17 -06:00
Timothy Baldridge
bb9ef89dee BSA archives are now lazily extracted.
7Zip extracted archives now only extract the fewest files required.
Audited the uses of .Wait
Lazily init the VFS cleaning
2020-04-16 21:52:19 -06:00
erri120
a3305b08fe
Removed readme as file option 2020-04-15 19:53:45 +02:00
Justin Swanson
e85f6b54dd Clearing jobs create new lists instead of clearing
Other users may have grabbed them and then have the content swiped out from under them
2020-04-12 13:55:59 -05:00
Justin Swanson
01588dbcc9 Merge branch 'master' into wabbajack-lib-nullability 2020-04-12 00:40:49 -05:00
Justin Swanson
69f18f2e22 Context.Stage's return action swapped to Func<Task>
So that its internal delete directory call can be awaited
2020-04-10 14:44:36 -05:00
Justin Swanson
806ff74893 Wabbajack.Lib nullability finished up 2020-04-10 13:32:35 -05:00
Justin Swanson
4e1a32caac MO2Compiler nullability enabled 2020-04-10 13:23:23 -05:00
Justin Swanson
6572f14f49 ABatchProcessor nullable. ConfigureProcessor removed 2020-04-10 13:23:10 -05:00
Timothy Baldridge
07c35f7a96 Fix nullable reference logic errors. 2020-04-03 22:02:53 -06:00
Timothy Baldridge
a140b1daca Rebase against latest master 2020-04-03 16:56:14 -06:00
Justin Swanson
0550dd751c Missing awaits 2020-04-03 16:41:17 -06:00
Timothy Baldridge
e39f483b81 Tests for INI uploading/downloading 2020-04-03 16:41:17 -06:00
Timothy Baldridge
b605879d6a EndToEnd Tests finally pass! 2020-04-03 16:40:52 -06:00
Timothy Baldridge
c130106213 Fix broken updating 2020-04-03 16:40:51 -06:00
Timothy Baldridge
21189fd8e8 Most santiy tests pass 2020-04-03 16:40:51 -06:00
Timothy Baldridge
006b045348 Somehow it builds 2020-04-03 16:39:49 -06:00
Timothy Baldridge
1d68ade508 Only 36 errors left 2020-04-03 16:39:49 -06:00
Timothy Baldridge
5bc361663f Only 69 errors left, Nice! 2020-04-03 16:39:49 -06:00
Timothy Baldridge
035e376a09 Only 246 errors left in Wabbajack.Lib 2020-04-03 16:38:05 -06:00
Timothy Baldridge
d6123a7fb2 MessagePack, and basic sanity test passes 2020-04-03 16:37:27 -06:00
Timothy Baldridge
3b895f4dbb WIP, converted Hashes to a Hash struct 2020-04-03 16:37:27 -06:00
erri120
e3ae59b14c
Only LOOT user data for the selected game will be included 2020-04-02 18:12:38 +02:00
Timothy Baldridge
452bd7c886 Fixes for features requested by Ultimate Skyrim 2020-03-09 22:11:11 -06:00
Timothy Baldridge
cbe5165d3a
Merge branch 'master' into workbase-fixes 2020-03-04 05:11:37 -07:00
erri120
1ce640ba2b
Add non-Nexus mods to the Slideshow (#574)
* Created AbstractMetaState

* Added IAbstractMetaState to NexusDownloader.State

Slideshow is fully working with this setup and nothing changed
functionally.

* Renamed IAbstractMetaState to IMetaState

* Changed modVMs in SlideShow from type NexusDownloader.State to IMetaState

* Simplified IMetaState and ModVM

* Removed Setter from IMetaState and added to LoversLabDownloader

* Throw exception when the modlist could not be loaded

* Created AbstractMetaState

AbstractMetaState implements AbstractDownloadState and indicates that a
State from a specific Download contains meta information. This is used
for the Slideshow and can also be used for the Manifest.

* Created GatherMetaData function

* Implemented new AbstractMetaState for LoversLab

* Implemented new AbstractMetaState for NexusMods

* Replaced Utils.Log with Utils.Error

* Slideshow fixes

* Replaced AbstractMetaState with IMetaState

* Updated CHANGELOG

Co-authored-by: Timothy Baldridge <tbaldridge@gmail.com>
2020-03-04 05:10:49 -07:00
Timothy Baldridge
186facb066 Fixes for WorkBase 2020-03-03 22:23:08 -07:00
Timothy Baldridge
6491a1c3f4 Purge uses of HttpClient, fix a bug that caused Nexus's verify endpoint to be spammed. 2020-02-25 22:05:33 -07:00
Timothy Baldridge
076b060afd Bump version 2020-02-25 21:00:28 -07:00
erri120
34e3b1bcfa
Changed the VFSCache location
MO2:
- uses the hash of the path to ModOrganizer.exe
Vortex:
- uses the hash of the Staging path
2020-02-24 16:26:15 +01:00
Timothy Baldridge
cb814c1947 Fix a few bugs with Bethesda.NET downloading 2020-02-19 06:42:21 -07:00
erri120
f523810db4
Print VFS Location 2020-02-15 14:12:06 +01:00
Timothy Baldridge
b77db18bfa Fix a bunch of issues with compilation, indexing and VFS loading performance 2020-02-14 06:30:58 -07:00
Timothy Baldridge
f036420b42 * Disable server-side indexing of all mods from the Nexus
* Accept download states from clients and index the mods we haven't seen
* Fixes for Skyrin VR USSEP patch
* Remember the download states that we index on the server
* Only print remaining nexus quotas when they change
2020-02-13 05:29:59 -07:00
Timothy Baldridge
608b8c77a7 Manual download improvements 2020-02-10 17:30:38 -07:00
Timothy Baldridge
b030dd67ca Added MatchAll support to mods 2020-02-04 22:17:12 -07:00
erri120
366ccbc1e1
Created new Manifest class 2020-02-02 13:52:52 +01:00
Timothy Baldridge
88674b0fe4
Merge pull request #429 from wabbajack-tools/bug-fixes-and-purging
MSSQL backend for IndexedFiles
2020-01-27 14:28:10 -07:00
Timothy Baldridge
fe4a4918d4 Switch the indexed archives backend to MSSQL for better ACID support 2020-01-25 21:50:17 -07:00
Justin Swanson
805fc47b78 Process start refactor to be compatible with .NET Core 2020-01-25 21:21:41 -06:00
Timothy Baldridge
ea133f110a
Merge branch 'master' into bunny-cdn-push 2020-01-22 05:21:09 -07:00
Timothy Baldridge
8f92862b74 CDN FTP uploads, fixed meta download issues with 3dNPCs, Uploads to the build server are now multi-threaded. 2020-01-21 20:43:53 -07:00
Justin Swanson
c8f38c6ff2 Added log for how many metas are being inferred 2020-01-20 17:16:37 -06:00
Justin Swanson
0cb1d3cb0a Consts.MetaFileExtension 2020-01-19 19:45:05 -06:00
Justin Swanson
ab4371e5d2 ACompiler no match printing limited to 10 in GUI.
Refactored printing and failure mechanics for nomatch to ACompiler for general reuse
2020-01-19 19:36:09 -06:00
Timothy Baldridge
955924fdac
Merge pull request #377 from wabbajack-tools/asp-net-core-rewrite
Asp net core rewrite
2020-01-12 14:27:34 -08:00
Timothy Baldridge
7df6d06e98 WJ can now infer metas with the help of the build server 2020-01-11 22:00:41 -07:00
Justin Swanson
818d92320e Initial dynamic WorkQueue threads system 2020-01-11 00:42:25 -06:00
Timothy Baldridge
324ddae397 If game folder files exist, ignore the game folder 2020-01-06 22:23:59 -07:00
Timothy Baldridge
a76aff7962 Add override for Game Folder Files 2020-01-06 17:24:33 -07:00
erri120
8c51c1f49e
Create portable.txt after installation in MO2 dir 2020-01-06 16:20:18 +01:00
erri120
526fa114dc
Compilers will include Reason when for no match in output 2020-01-04 19:18:26 +01:00
Timothy Baldridge
5a0e19f4b1 Metrics and status are now in MongoDB 2019-12-29 15:57:01 -07:00
Justin Swanson
7ec61ae688 Adjusted nomatch printing 2019-12-22 18:03:36 -06:00
Justin Swanson
ec78cae414 RawSourceFile takes path in ctor
Would also make member readonly, but Vortex has a set line that we need to sort out
2019-12-22 16:03:20 -06:00
Justin Swanson
a7845802bb Added path of a missing patch to error logging 2019-12-20 14:32:04 -06: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
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
f6e9d672d2 Create .metas automatically for source-from-game files. 2019-12-10 05:26:49 -07:00
Justin Swanson
f73bdee63e PMapped IncludeArchiveData to parallel the filehashing 2019-12-07 01:22:54 -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
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
179ac2b0ee ABatchProcessor takes CancellationToken
Some basic usage of it.  Needs to be utilized deeper
2019-12-06 19:04:53 -06:00
Justin Swanson
4945f95066 PMap return swapped to array 2019-12-03 17:49:52 -06:00
Timothy Baldridge
3976d7e526 Macro-level progress bar updates. 2019-11-24 16:03:36 -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
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
Timothy Baldridge
8a680a8f14 Several fixes for compilation and caching. 2019-11-21 22:19:42 -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
e4f17a81b8
Removed unused imports from Wabbajack.Lib 2019-11-21 15:25:56 +01: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
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