You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Wabbajack has a code problem, mainly that most of the libraries require net5.0-windows instead of net5.0. In addition, most of our libraries are Windows specific to a very low level. This is a general plan/braindump of how to restructure the app to be more cross platform.
Refactor out Absolute and Relative Paths into their own library. - Wabbajack.Paths
Should contain Absolute, Relative and FullPaths
Make this library cross platform via enabling/disabling IO routines depending on the compile target
Most basic version should be able to do path manipulation but no IO (no OpenFile, ReadFile, etc.)
Should support both Linux and Windows formats
Ditch AlphaFS?
Use a segmented path, so we can easily translate from one path format to another
What's the cannonical storage format? \ or /?
Refactor out hashing, and HashRelativePath into their own library - Wabbajack.Hashing
Disable IO code on non-IO platforms, leverage Wabbajack.Paths for all IO
Should support xxHash64, all the SHAs and CRCs
Refactor out JSON serialization - Wabbajack.Serialization.Json
Must still load old JSON names, must somehow load .dlls that are not loaded
This means it will need to ignore the assembly part of the encoded type, relying only on JsonName.
Data emitted by this library need not be readable by other apps/versions of WJ
Refactor out all DTOs - Wabbajack.DTOs
Must rely on .net5.0 be 100% cross platform
Move Compression.BSA to Wabbajack.Compression.BSA
Remove WJ specific IO code
Delete Wabbajack.Common.CSP - we don't need it
The text was updated successfully, but these errors were encountered:
Wabbajack has a code problem, mainly that most of the libraries require
net5.0-windows
instead ofnet5.0
. In addition, most of our libraries are Windows specific to a very low level. This is a general plan/braindump of how to restructure the app to be more cross platform.Wabbajack.Paths
AlphaFS
?\
or/
?Wabbajack.Hashing
Wabbajack.Paths
for all IOWabbajack.Serialization.Json
.dlls
that are not loadedJsonName
.Wabbajack.DTOs
Compression.BSA
toWabbajack.Compression.BSA
Wabbajack.Common.CSP
- we don't need itThe text was updated successfully, but these errors were encountered: