Compression.BSA -> Wabbajack.Compression.BSA

This commit is contained in:
Timothy Baldridge 2020-06-27 08:26:38 -06:00
parent 1ab9302a6c
commit 4fc53ce7b2
28 changed files with 87 additions and 26 deletions

View File

@ -5,6 +5,7 @@ using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Newtonsoft.Json; using Newtonsoft.Json;
using Wabbajack.Common; using Wabbajack.Common;
using Wabbajack.Compression.BSA;
using Wabbajack.Lib.Downloaders; using Wabbajack.Lib.Downloaders;
using Wabbajack.Lib.NexusApi; using Wabbajack.Lib.NexusApi;
using Wabbajack.VirtualFileSystem; using Wabbajack.VirtualFileSystem;

View File

@ -19,9 +19,9 @@
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Compression.BSA\Compression.BSA.csproj" />
<ProjectReference Include="..\Wabbajack.Common.CSP\Wabbajack.Common.CSP.csproj" /> <ProjectReference Include="..\Wabbajack.Common.CSP\Wabbajack.Common.CSP.csproj" />
<ProjectReference Include="..\Wabbajack.Common\Wabbajack.Common.csproj" /> <ProjectReference Include="..\Wabbajack.Common\Wabbajack.Common.csproj" />
<ProjectReference Include="..\Wabbajack.Compression.BSA\Wabbajack.Compression.BSA.csproj" />
<ProjectReference Include="..\Wabbajack.Lib\Wabbajack.Lib.csproj" /> <ProjectReference Include="..\Wabbajack.Lib\Wabbajack.Lib.csproj" />
</ItemGroup> </ItemGroup>

View File

@ -1,7 +1,7 @@
using System; using System;
using System.Threading.Tasks; using System.Threading.Tasks;
using CommandLine; using CommandLine;
using Compression.BSA; using Wabbajack.Compression.BSA;
using Wabbajack.Common; using Wabbajack.Common;
namespace Wabbajack.CLI.Verbs namespace Wabbajack.CLI.Verbs

View File

@ -6,7 +6,7 @@
<RuntimeIdentifier>win10-x64</RuntimeIdentifier> <RuntimeIdentifier>win10-x64</RuntimeIdentifier>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild> <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageVersion>3.0</PackageVersion> <PackageVersion>2.1.0.0</PackageVersion>
<Title>Wabbajack Common Lib</Title> <Title>Wabbajack Common Lib</Title>
<Authors>Wabbajack Team</Authors> <Authors>Wabbajack Team</Authors>
<Copyright>2020</Copyright> <Copyright>2020</Copyright>
@ -14,7 +14,7 @@
<PackageLicenseUrl>https://raw.githubusercontent.com/wabbajack-tools/wabbajack/master/LICENSE.txt</PackageLicenseUrl> <PackageLicenseUrl>https://raw.githubusercontent.com/wabbajack-tools/wabbajack/master/LICENSE.txt</PackageLicenseUrl>
<PackageIconUrl>https://www.wabbajack.org/favicon.ico</PackageIconUrl> <PackageIconUrl>https://www.wabbajack.org/favicon.ico</PackageIconUrl>
<RepositoryUrl>https://github.com/wabbajack-tools/wabbajack</RepositoryUrl> <RepositoryUrl>https://github.com/wabbajack-tools/wabbajack</RepositoryUrl>
<Version>3.0</Version> <Version>2.1.0.0</Version>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<DocumentationFile>Wabbajack.Common.xml</DocumentationFile> <DocumentationFile>Wabbajack.Common.xml</DocumentationFile>

View File

@ -9,7 +9,7 @@ using ICSharpCode.SharpZipLib.Zip.Compression;
using ICSharpCode.SharpZipLib.Zip.Compression.Streams; using ICSharpCode.SharpZipLib.Zip.Compression.Streams;
using Wabbajack.Common; using Wabbajack.Common;
namespace Compression.BSA namespace Wabbajack.Compression.BSA
{ {
interface IFileBuilder interface IFileBuilder
{ {

View File

@ -9,7 +9,7 @@ using Wabbajack.Common;
using Wabbajack.Common.Serialization.Json; using Wabbajack.Common.Serialization.Json;
using File = Alphaleonis.Win32.Filesystem.File; using File = Alphaleonis.Win32.Filesystem.File;
namespace Compression.BSA namespace Wabbajack.Compression.BSA
{ {
public enum EntryType public enum EntryType
{ {

View File

@ -11,7 +11,7 @@ using Wabbajack.Common;
using File = Alphaleonis.Win32.Filesystem.File; using File = Alphaleonis.Win32.Filesystem.File;
using Path = Alphaleonis.Win32.Filesystem.Path; using Path = Alphaleonis.Win32.Filesystem.Path;
namespace Compression.BSA namespace Wabbajack.Compression.BSA
{ {
public class BSABuilder : IBSABuilder public class BSABuilder : IBSABuilder
{ {

View File

@ -4,7 +4,7 @@ using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using Wabbajack.Common; using Wabbajack.Common;
namespace Compression.BSA namespace Wabbajack.Compression.BSA
{ {
public static class BSADispatch public static class BSADispatch
{ {

View File

@ -9,7 +9,7 @@ using Wabbajack.Common;
using Wabbajack.Common.Serialization.Json; using Wabbajack.Common.Serialization.Json;
using File = Alphaleonis.Win32.Filesystem.File; using File = Alphaleonis.Win32.Filesystem.File;
namespace Compression.BSA namespace Wabbajack.Compression.BSA
{ {
public enum VersionType : uint public enum VersionType : uint
{ {

View File

@ -1,6 +1,6 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Compression.BSA namespace Wabbajack.Compression.BSA
{ {
/* /*
* Copied from https://raw.githubusercontent.com/AlexxEG/BSA_Browser/master/Sharp.BSA.BA2/BA2Util/DDS.cs * Copied from https://raw.githubusercontent.com/AlexxEG/BSA_Browser/master/Sharp.BSA.BA2/BA2Util/DDS.cs

View File

@ -4,7 +4,7 @@ using System.IO;
using System.Threading.Tasks; using System.Threading.Tasks;
using Wabbajack.Common; using Wabbajack.Common;
namespace Compression.BSA namespace Wabbajack.Compression.BSA
{ {
public interface IBSAReader public interface IBSAReader
{ {

View File

@ -5,7 +5,7 @@ using System.Threading.Tasks;
using Wabbajack.Common; using Wabbajack.Common;
using File = Alphaleonis.Win32.Filesystem.File; using File = Alphaleonis.Win32.Filesystem.File;
namespace Compression.BSA namespace Wabbajack.Compression.BSA
{ {
public class TES3Builder : IBSABuilder public class TES3Builder : IBSABuilder
{ {

View File

@ -6,7 +6,7 @@ using System.Threading.Tasks;
using Wabbajack.Common; using Wabbajack.Common;
using Wabbajack.Common.Serialization.Json; using Wabbajack.Common.Serialization.Json;
namespace Compression.BSA namespace Wabbajack.Compression.BSA
{ {
public class TES3Reader : IBSAReader public class TES3Reader : IBSAReader
{ {

View File

@ -6,7 +6,7 @@ using System.Threading.Tasks;
using Wabbajack.Common; using Wabbajack.Common;
using Path = Alphaleonis.Win32.Filesystem.Path; using Path = Alphaleonis.Win32.Filesystem.Path;
namespace Compression.BSA namespace Wabbajack.Compression.BSA
{ {
internal static class Utils internal static class Utils
{ {

View File

@ -5,11 +5,15 @@
<AllowUnsafeBlocks>true</AllowUnsafeBlocks> <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Platforms>x64</Platforms> <Platforms>x64</Platforms>
<RuntimeIdentifier>win10-x64</RuntimeIdentifier> <RuntimeIdentifier>win10-x64</RuntimeIdentifier>
<Version>3.0</Version> <Version>2.1.0.0</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild> <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageProjectUrl>https://github.com/wabbajack-tools/wabbajack</PackageProjectUrl>
<PackageLicenseUrl>https://raw.githubusercontent.com/wabbajack-tools/wabbajack/master/LICENSE.txt</PackageLicenseUrl>
<PackageIconUrl>https://www.wabbajack.org/favicon.ico</PackageIconUrl>
<RepositoryUrl>https://github.com/wabbajack-tools/wabbajack</RepositoryUrl>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<DocumentationFile>Compression.BSA.xml</DocumentationFile> <DocumentationFile>Wabbajack.Compression.BSA.xml</DocumentationFile>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Genbox.AlphaFS" Version="2.2.2.1" /> <PackageReference Include="Genbox.AlphaFS" Version="2.2.2.1" />

View File

@ -0,0 +1,56 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Wabbajack.Compression.BSA</name>
</assembly>
<members>
<member name="P:Wabbajack.Compression.BSA.IBSAReader.Files">
<summary>
The files defined by the archive
</summary>
</member>
<member name="P:Wabbajack.Compression.BSA.IFile.Path">
<summary>
The path of the file inside the archive
</summary>
</member>
<member name="P:Wabbajack.Compression.BSA.IFile.Size">
<summary>
The uncompressed file size
</summary>
</member>
<member name="P:Wabbajack.Compression.BSA.IFile.State">
<summary>
Get the metadata for the file.
</summary>
</member>
<member name="M:Wabbajack.Compression.BSA.IFile.CopyDataTo(System.IO.Stream)">
<summary>
Copies this entry to the given stream. 100% thread safe, the .bsa will be opened multiple times
in order to maintain thread-safe access.
</summary>
<param name="output"></param>
</member>
<member name="M:Wabbajack.Compression.BSA.Utils.ToBZString(Wabbajack.Common.RelativePath,Wabbajack.Compression.BSA.VersionType)">
<summary>
Returns bytes for a \0 terminated string
</summary>
<param name="val"></param>
<returns></returns>
</member>
<member name="M:Wabbajack.Compression.BSA.Utils.ToBSString(Wabbajack.Common.RelativePath)">
<summary>
Returns bytes for unterminated string with a count at the start
</summary>
<param name="val"></param>
<returns></returns>
</member>
<member name="M:Wabbajack.Compression.BSA.Utils.ToTermString(System.String,Wabbajack.Compression.BSA.VersionType)">
<summary>
Returns bytes for a \0 terminated string prefixed by a length
</summary>
<param name="val"></param>
<returns></returns>
</member>
</members>
</doc>

View File

@ -3,7 +3,7 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Alphaleonis.Win32.Filesystem; using Alphaleonis.Win32.Filesystem;
using Compression.BSA; using Wabbajack.Compression.BSA;
using Newtonsoft.Json; using Newtonsoft.Json;
using Wabbajack.Common; using Wabbajack.Common;
using Wabbajack.Common.StatusFeed.Errors; using Wabbajack.Common.StatusFeed.Errors;

View File

@ -2,7 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using Compression.BSA; using Wabbajack.Compression.BSA;
using Newtonsoft.Json; using Newtonsoft.Json;
using Wabbajack.Common; using Wabbajack.Common;
using Wabbajack.Common.Serialization.Json; using Wabbajack.Common.Serialization.Json;

View File

@ -1,4 +1,4 @@
using Compression.BSA; using Wabbajack.Compression.BSA;
using System; using System;
using System.Collections.Concurrent; using System.Collections.Concurrent;
using System.Collections.Generic; using System.Collections.Generic;

View File

@ -72,8 +72,8 @@
</PackageReference> </PackageReference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Compression.BSA\Compression.BSA.csproj" />
<ProjectReference Include="..\Wabbajack.Common\Wabbajack.Common.csproj" /> <ProjectReference Include="..\Wabbajack.Common\Wabbajack.Common.csproj" />
<ProjectReference Include="..\Wabbajack.Compression.BSA\Wabbajack.Compression.BSA.csproj" />
<ProjectReference Include="..\Wabbajack.VirtualFileSystem\Wabbajack.VirtualFileSystem.csproj" /> <ProjectReference Include="..\Wabbajack.VirtualFileSystem\Wabbajack.VirtualFileSystem.csproj" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@ -3,7 +3,7 @@ using System.Collections.Generic;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Compression.BSA; using Wabbajack.Compression.BSA;
using Wabbajack.Common; using Wabbajack.Common;
using Wabbajack.Lib; using Wabbajack.Lib;
using Wabbajack.Lib.CompilationSteps.CompilationErrors; using Wabbajack.Lib.CompilationSteps.CompilationErrors;

View File

@ -2,7 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.Threading.Tasks; using System.Threading.Tasks;
using Compression.BSA; using Wabbajack.Compression.BSA;
using Wabbajack.Common; using Wabbajack.Common;
namespace Wabbajack.VirtualFileSystem namespace Wabbajack.VirtualFileSystem

View File

@ -5,7 +5,7 @@ using System.Linq;
using System.Reactive.Linq; using System.Reactive.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Alphaleonis.Win32.Filesystem; using Alphaleonis.Win32.Filesystem;
using Compression.BSA; using Wabbajack.Compression.BSA;
using OMODFramework; using OMODFramework;
using Wabbajack.Common.StatusFeed; using Wabbajack.Common.StatusFeed;
using Wabbajack.Common.StatusFeed.Errors; using Wabbajack.Common.StatusFeed.Errors;

View File

@ -9,8 +9,8 @@
<DocumentationFile>Wabbajack.VirtualFileSystem.xml</DocumentationFile> <DocumentationFile>Wabbajack.VirtualFileSystem.xml</DocumentationFile>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Compression.BSA\Compression.BSA.csproj" />
<ProjectReference Include="..\Wabbajack.Common\Wabbajack.Common.csproj" /> <ProjectReference Include="..\Wabbajack.Common\Wabbajack.Common.csproj" />
<ProjectReference Include="..\Wabbajack.Compression.BSA\Wabbajack.Compression.BSA.csproj" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Genbox.AlphaFS" Version="2.2.2.1" /> <PackageReference Include="Genbox.AlphaFS" Version="2.2.2.1" />

View File

@ -5,7 +5,7 @@ VisualStudioVersion = 16.0.29102.190
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Common", "Wabbajack.Common\Wabbajack.Common.csproj", "{B3F3FB6E-B9EB-4F49-9875-D78578BC7AE5}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Common", "Wabbajack.Common\Wabbajack.Common.csproj", "{B3F3FB6E-B9EB-4F49-9875-D78578BC7AE5}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Compression.BSA", "Compression.BSA\Compression.BSA.csproj", "{FF5D892F-8FF4-44FC-8F7F-CD58F307AD1B}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Wabbajack.Compression.BSA", "Wabbajack.Compression.BSA\Wabbajack.Compression.BSA.csproj", "{FF5D892F-8FF4-44FC-8F7F-CD58F307AD1B}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{4EDEF6CC-2F5C-439B-BEAF-9D03895099F1}" Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{4EDEF6CC-2F5C-439B-BEAF-9D03895099F1}"
ProjectSection(SolutionItems) = preProject ProjectSection(SolutionItems) = preProject

View File

@ -80,9 +80,9 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Compression.BSA\Compression.BSA.csproj" />
<ProjectReference Include="..\Wabbajack.CLI\Wabbajack.CLI.csproj" /> <ProjectReference Include="..\Wabbajack.CLI\Wabbajack.CLI.csproj" />
<ProjectReference Include="..\Wabbajack.Common\Wabbajack.Common.csproj" /> <ProjectReference Include="..\Wabbajack.Common\Wabbajack.Common.csproj" />
<ProjectReference Include="..\Wabbajack.Compression.BSA\Wabbajack.Compression.BSA.csproj" />
<ProjectReference Include="..\Wabbajack.Lib\Wabbajack.Lib.csproj" /> <ProjectReference Include="..\Wabbajack.Lib\Wabbajack.Lib.csproj" />
</ItemGroup> </ItemGroup>