Commit Graph

618 Commits

Author SHA1 Message Date
Justin Swanson
820e2abf41 DictionaryExt.Add many 2020-04-03 18:22:43 -05:00
Timothy Baldridge
a140b1daca Rebase against latest master 2020-04-03 16:56:14 -06:00
Timothy Baldridge
c22e40f752 Fix a few more broken tests 2020-04-03 16:41:42 -06:00
Timothy Baldridge
8af841f3d6 Fix several more tests 2020-04-03 16:41:42 -06:00
Timothy Baldridge
aaba7267bd Fix a few tests 2020-04-03 16:41:42 -06:00
Timothy Baldridge
55fb7e1467 Nexus Cache is now SQL Based 2020-04-03 16:41:42 -06:00
Justin Swanson
c5f174098b Absolute and Relative's Extensions no longer calculated on construction 2020-04-03 16:41:17 -06:00
Justin Swanson
94267c3f27 Paths ToLower removed in favor of StringComparison usage 2020-04-03 16:41:17 -06:00
Justin Swanson
68ea31e5a0 AbsolutePath ctor reuse 2020-04-03 16:41:17 -06:00
Justin Swanson
f66c59151b AbsolutePath implements IEquatable
Equals(object) simplification
2020-04-03 16:41:17 -06:00
Justin Swanson
eb2cd8342d Added backwards compatibility support for Game json conversion 2020-04-03 16:41:17 -06:00
Justin Swanson
41955daac1 Absorbed PercentJsonConverter into library systems 2020-04-03 16:41:17 -06:00
Justin Swanson
c215f92abc AbsolutePath: Removed unused parameter 2020-04-03 16:41:17 -06:00
Timothy Baldridge
8946389da4 Fix upgrading test broken by Nexus JSON property name change 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
160ac8a4c3 Fixes for author APIs 2020-04-03 16:41:17 -06:00
Timothy Baldridge
fcb589a442 Uploaded files and API keys are now stored in SQL, still working on adding more tests 2020-04-03 16:41:17 -06:00
Timothy Baldridge
85b39d5dcc Fix some more race conditions in tests 2020-04-03 16:41:17 -06:00
Timothy Baldridge
06b3479230 Fixed a deadlock in the sanity tests 2020-04-03 16:41:17 -06:00
Timothy Baldridge
3fc4464a14 FilePickerTests pass 2020-04-03 16:40:52 -06:00
Timothy Baldridge
b8afcfa781 At least the app launches 2020-04-03 16:40:52 -06:00
Timothy Baldridge
b5006a0737 Everything compiles 2020-04-03 16:40:52 -06:00
Timothy Baldridge
c01ed4375c The main wabbajack app compiles 2020-04-03 16:40:52 -06:00
Timothy Baldridge
b605879d6a EndToEnd Tests finally pass! 2020-04-03 16:40:52 -06:00
Timothy Baldridge
129f6b4fc2 Cleaned up a bunch of warnings and errors 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
54a7bc36d5 MO2Tests pass 2020-04-03 16:40:51 -06:00
Timothy Baldridge
9d3af1db5c All downloader tests pass 2020-04-03 16:40:51 -06:00
Timothy Baldridge
723f624d7a Half of the downloaders pass tests 2020-04-03 16:40:51 -06:00
Timothy Baldridge
3188b433eb More passing Tests 2020-04-03 16:40:20 -06:00
Timothy Baldridge
1c9610dde1 Wabbajack.Test utils pass 2020-04-03 16:40:20 -06:00
Timothy Baldridge
31c808deea Tests for path/hash serialization 2020-04-03 16:40:20 -06:00
Timothy Baldridge
51bad949ec Moved Wabbajack.Commons tests into Wabbajack.Commons.Test out of Wabbajack.Test. They all pass 2020-04-03 16:40:20 -06:00
Timothy Baldridge
1d68ade508 Only 36 errors left 2020-04-03 16:39:49 -06:00
Timothy Baldridge
defbc15593 Only 149 errors left in Wabbajack.Lib 2020-04-03 16:38:48 -06:00
Timothy Baldridge
035e376a09 Only 246 errors left in Wabbajack.Lib 2020-04-03 16:38:05 -06:00
Timothy Baldridge
72d77bef1a VFS Tests pass 2020-04-03 16:37:28 -06:00
Timothy Baldridge
2b45210159 One test passes 2020-04-03 16:37:28 -06:00
Timothy Baldridge
a2cf84de54 A few test fixes 2020-04-03 16:37:27 -06:00
Timothy Baldridge
ccaaab318c VFS tests compile 2020-04-03 16:37:27 -06:00
Timothy Baldridge
80195b5620 WIP, VFS compiles, need to work on VFS tests 2020-04-03 16:37:27 -06:00
Timothy Baldridge
b37728eefd Tons of WIP changes for paths 2020-04-03 16:37:27 -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
Timothy Baldridge
e4ecaa882c WIP 2020-04-03 16:37:27 -06:00
Timothy Baldridge
d3a9cb8666 Worker queue fixes (backport) 2020-03-30 15:38:01 -06:00
erri120
01ebffd4d7
Added GOGIDs for Morrowind 2020-03-25 14:22:55 +01:00
Timothy Baldridge
86d5f7462a Add improved file deletion code 2020-03-19 06:13:57 -06:00
Timothy Baldridge
50d2737fb5 Small fixes for a bunch of small issues that came up in the past few weeks. 2020-03-18 20:16:38 -06:00
Timothy Baldridge
3e2b23f07d Small fixes for a bunch of small issues that came up in the past few weeks. 2020-03-18 20:10:55 -06:00
Timothy Baldridge
3ef75a248d Fixes for memory mapping issues 2020-03-09 14:38:35 -06:00
dependabot-preview[bot]
85a36534c8
Bump ReactiveUI from 11.1.23 to 11.2.3
Bumps [ReactiveUI](https://github.com/reactiveui/reactiveui) from 11.1.23 to 11.2.3.
- [Release notes](https://github.com/reactiveui/reactiveui/releases)
- [Commits](https://github.com/reactiveui/reactiveui/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-06 07:03:31 +00:00
Timothy Baldridge
ae5ac5fa13
Merge branch 'master' into issue-606 2020-03-04 22:29:27 -07:00
Timothy Baldridge
181a0f6b6a Bug fixes for virtual memory/stream leaks 2020-03-04 22:27:15 -07:00
Timothy Baldridge
2a14932092 Move around namespaces so BSA routines can use Common namespaces. Make BA2 creation use memory mapped files instead of memory streams 2020-03-04 17:02:16 -07:00
Timothy Baldridge
64cad0752f
Merge pull request #605 from erri120/issue-587
PR: Store settings.json in local appdata
2020-03-04 05:12:30 -07: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
erri120
2e9d42b538
Added a version check to the settings file
The current settings file has to have the same version as specified in
Wabbajack.Common.Consts.SettingsVersion or else it will be backedup and
deleted to ensure that no bad settings file are getting loaded.

This means that the SettingsVersion needs to be updated when a breaking
change to the settings is being introduced
2020-03-04 12:21:44 +01:00
erri120
d8e4f02508
Moved settings.json to %localappdata%/Wabbajack 2020-03-04 11:56:39 +01:00
Timothy Baldridge
186facb066 Fixes for WorkBase 2020-03-03 22:23:08 -07:00
Timothy Baldridge
a1e911669a
Youtube Downloader (#596)
* Can download audio tracks from Youtube, re-encoding to XWM in the process
2020-03-03 14:53:29 -07:00
Timothy Baldridge
44b78111a3 Server side cleanup, give authors the ability to delete their own files. Some sanity and logging checks for 2020-03-02 16:16:15 -07:00
erri120
87dc2c7773
Replaced Go to Modlist with Open Logs Folder when complation failed 2020-02-28 17:27:37 +01:00
Timothy Baldridge
e01eb31d1f
Update Client.cs 2020-02-28 08:58:17 -07:00
Justin Swanson
033e829612 Percent.One bugfix 2020-02-27 20:43:30 -06:00
Timothy Baldridge
ef36a06be9 Merge remote-tracking branch 'origin/master' 2020-02-27 19:27:09 -07:00
Timothy Baldridge
56c0d4eb8a Fix bug with manual download cookies 2020-02-27 19:26:58 -07:00
Timothy Baldridge
f30da8a27a Support self-healing lists, and a lot of server fixes 2020-02-27 06:46:34 -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
Timothy Baldridge
4198ec0d64
Add a few other checks 2020-02-25 06:27:50 -07:00
erri120
60c925b59b
Fixed ArgumentException in Octodiff Reporter 2020-02-25 11:58:22 +01:00
Timothy Baldridge
27025db484 Switch from BSDiff to OctoDiff for patch generation 2020-02-24 16:18:29 -07:00
Timothy Baldridge
fe95e0e52e Fix never ending hash issue 2020-02-22 21:56:18 -07:00
erri120
70de8fae09
Delete old log files on startup 2020-02-20 12:03:49 +01:00
erri120
78ba02f277
Added LogsFolder Consts 2020-02-20 11:45:38 +01:00
Timothy Baldridge
5da39fe223 Don't store xxHash caches in binary format 2020-02-15 19:50:02 -07:00
Timothy Baldridge
ff55bfec9f Don't reuse http messages 2020-02-15 16:28:20 -07:00
Timothy Baldridge
a0587d876e
Merge pull request #525 from erri120/issue-520
Replacing OMODExtractor with OMODFramework
2020-02-14 22:10:33 -07:00
Timothy Baldridge
ff75fd8a7d
Merge pull request #528 from LostDragonist/fix-file-association
Associate mod list files with the executable instead of a DLL
2020-02-14 22:07:43 -07:00
Chris Bessent
e9f7c32982 Associate mod list files with the executable instead of a DLL
Reorganizing the program to be lots of small files instead of one monolithic
executable changed the output of System.Reflection.Assembly.GetExecutingAssembly
to Wabbajack.dll instead of Wabbajack.exe.

This fix assumes the DLL containing the calling code is in the same folder
as Wabbajack.exe.  There's room for improvement if anyone can figure out how
to positively identify Wabbajack.exe.
2020-02-14 21:17:45 -07:00
Timothy Baldridge
109681b2c6
Merge branch 'master' into issue-520 2020-02-14 16:11:59 -07:00
Timothy Baldridge
f416f80546
Merge pull request #524 from erri120/issue-522
Log files will now be stored in a separate logs folder
2020-02-14 16:11:31 -07:00
Timothy Baldridge
0227f57098
Merge pull request #527 from wabbajack-tools/fix-compilation-network-issues
Fix compilation network issues
2020-02-14 16:11:01 -07:00
Timothy Baldridge
6b4abb8f40 Fix bad header info 2020-02-14 15:50:14 -07:00
Timothy Baldridge
8d13a4c455 Swap HttpClient over to SocketsHttpHandler 2020-02-14 15:23:27 -07:00
erri120
bc163590c2
Added OMODFramework as normal package dependency 2020-02-14 19:19:51 +01:00
erri120
8b916ce7ba
Removed OMODExtractor 2020-02-14 19:11:38 +01:00
erri120
f53e05d741
Log files will now be stored in a separate logs folder 2020-02-14 19:10:04 +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
LostDragonist
ae8569bb38 Fix checking the file association for needed updates
Previously, this would fail to notice that the file association needed
to be updated.  This would lead to Windows trying to open non-existent
copies of Wabbajack or to Wabbajack selecting "-i" as the chosen mod list
instead of the file selected.
2020-02-13 08:36:03 -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
b1eefa6a41 Rename old log files. Don't overwrite downloads with the same name 2020-02-11 22:31:42 -07:00
Timothy Baldridge
2b2836855d Don't overwrite logs (fixes issue #482) 2020-02-11 14:25:20 -07:00
Timothy Baldridge
63c6cf66b5
Merge pull request #500 from wabbajack-tools/issue-495
In app manual downloads
2020-02-10 19:05:58 -07:00
Timothy Baldridge
608b8c77a7 Manual download improvements 2020-02-10 17:30:38 -07:00
Justin Swanson
bdfe00c32d Percent implicit conversion operator changed to explicit 2020-02-10 17:45:17 -06:00
Timothy Baldridge
bf19ad959a Command line options for downloading files from the CLI, fixes for Bethesda.NET integration. 2020-02-08 16:53:11 -07:00
Timothy Baldridge
2ffc20411d Merge pull request #489 from Noggog/percent
Percent Struct
2020-02-08 07:11:20 -07:00
Justin Swanson
b05c43661c Percent struct 2020-02-07 23:45:45 -06:00
Timothy Baldridge
6703b4090e
Merge pull request #488 from wabbajack-tools/launcher-first-spike
Launcher first spike
2020-02-07 18:23:01 -07:00
Timothy Baldridge
e4d4a890f1 Move settings and other cache data to the local user folder. 2020-02-07 17:56:22 -07:00
Timothy Baldridge
a9224a084a Added support for logging in via Fallout 4, added better early-exit support for the Beth.NET login 2020-02-07 06:26:58 -07:00
Timothy Baldridge
1c53a7a6a3 Add NexusGameIDs for all games. 2020-02-06 14:43:30 -07:00
Timothy Baldridge
6255ec224f Allow manual Nexus downloads 2020-02-05 22:30:31 -07:00
Timothy Baldridge
d8500fd618 Improve race condition handling with Patch generation 2020-02-04 22:23:02 -07:00
Timothy Baldridge
cda2a5f54c Remove test code I didn't end up using 2020-02-04 22:21:08 -07:00
Timothy Baldridge
b030dd67ca Added MatchAll support to mods 2020-02-04 22:17:12 -07:00
Timothy Baldridge
4377f430f3 Fixes for sql for unicode paths in sql tables (instead of ascitables 🤦) 2020-02-03 21:58:32 -07:00
Timothy Baldridge
c991f077c7 Make x64 the default in all cases, make published builds self-contained 2020-02-01 10:33:00 -07:00
Timothy Baldridge
bf7efa1961 Add wabbajack-cli as part of the main Wabbajack distro, re-enable icons and splash screen. 2020-01-31 15:56:26 -07:00
Timothy Baldridge
aa85c0dc8c We have a CLI 2020-01-31 15:38:56 -07:00
Timothy Baldridge
fb61b85b7f Tell 7zip not to use so many threads 2020-01-30 15:44:38 -07:00
Timothy Baldridge
7c567da334
Merge pull request #451 from wabbajack-tools/bump-versions-remove-inlined-binaries
Bump all versions, remove inlined binaries in prep for Core distribut…
2020-01-29 05:39:52 -07:00
Timothy Baldridge
1fa4d92a3b Bump all versions, remove inlined binaries in prep for Core distribution framework (whatever it is) 2020-01-29 05:20:37 -07:00
Timothy Baldridge
61c841f053 Basic workings of BNet downloadings. Can download and convert a mod into a .zip 2020-01-28 21:17:24 -07: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
Justin Swanson
805fc47b78 Process start refactor to be compatible with .NET Core 2020-01-25 21:21:41 -06:00
Justin Swanson
638542c617 .NET Standard 2.1, .NET Core 3.1 2020-01-25 20:48:13 -06:00
Timothy Baldridge
b0725e1fc2 Fixes for bad indexed data 2020-01-23 16:02:49 -07:00
Timothy Baldridge
d52b713ec3
Merge pull request #410 from Noggog/no-matching
Random refactors
2020-01-21 20:46:39 -07:00
Timothy Baldridge
84d2a3e8f9 Server changes for CDN optimization 2020-01-21 05:50:53 -07:00
Justin Swanson
0f7c1b4632 ExtensionManager -> ModListAssociationManager 2020-01-19 19:49:12 -06:00
Justin Swanson
0cb1d3cb0a Consts.MetaFileExtension 2020-01-19 19:45:05 -06:00
Justin Swanson
4138e644ef ExtensionManager.Extension -> ModListExtension 2020-01-19 19:42:27 -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
e30dcf2358
Merge pull request #401 from wabbajack-tools/file-upload
File upload and hosting for WJ
2020-01-19 15:56:03 -07:00
Timothy Baldridge
4ec01da8d1
Merge pull request #399 from Noggog/corrupted-modlists-fix
Corrupted Modlists Fix
2020-01-18 15:30:48 -07:00
Timothy Baldridge
6969a531e2 Add Upload support to WJ, fixes for the new server, etc. 2020-01-18 15:09:32 -07:00
Justin Swanson
5db84a6ee6 Replaced all File.OpenWrite calls /w .Open(FileMode.Create)
File.OpenWrite is equivalent to FileMode.OpenOrCreate, which caused errors when replacing a file that was larger previously
2020-01-18 14:52:09 -06:00
Justin Swanson
80508aa494 Made changes to help cope with my allergy to strings 2020-01-18 13:28:42 -06:00
erri120
34ec97f1a4
MO2Installer will create output folders for executables if they dont exist 2020-01-18 15:48:55 +01:00
erri120
e762ec5c9a
Added .xml to config file extension list 2020-01-18 15:12:53 +01:00
erri120
d7245a638a
Code cleanup 2020-01-18 14:05:46 +01:00
Timothy Baldridge
ad3090f9fc Upgrade deps 2020-01-17 15:56:52 -07:00
Justin Swanson
f8c640467f Added explicit schedulers to some Rx calls 2020-01-16 22:52:29 -06:00
Justin Swanson
36d73b82f0 A GC and dispose correctness pass 2020-01-15 21:54:06 -06:00
Justin Swanson
bd87c0c719 ToHashSet optimization 2020-01-14 23:24:38 -06:00
Timothy Baldridge
880ab875dc
Merge pull request #383 from tr4wzified/master
Fix typos + inconsistencies in logs
2020-01-14 05:36:55 -08:00
Justin Swanson
8ae8e28f67 ModListMetadataVM FlowSwitch on exists check 2020-01-13 23:17:54 -06:00
Justin Swanson
bc6580c846 Error handling for modlist download exceptions 2020-01-13 23:04:45 -06:00
trawzified
877989ba16 Fix typos + inconsistencies in logs 2020-01-13 22:11:07 +01: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
1bb7038af6 WorkQueue._tasks swapped to Dictionary 2020-01-11 18:36:45 -06:00
Justin Swanson
0106d020f9 WorkQueue taking of queue swapped to TryTake
Helps shut down threads during quiet periods
2020-01-11 17:17:45 -06:00
Justin Swanson
e2b2ea1727 Some more comments 2020-01-11 14:59:40 -06:00
Justin Swanson
7fb79f4a9a Some comments 2020-01-11 14:41:44 -06:00