diff --git a/BurnOutSharp/FileType/BSP.cs b/BurnOutSharp/FileType/BSP.cs
index 669ee1da..1b566d26 100644
--- a/BurnOutSharp/FileType/BSP.cs
+++ b/BurnOutSharp/FileType/BSP.cs
@@ -7,7 +7,7 @@ using static BurnOutSharp.Utilities.Dictionary;
namespace BurnOutSharp.FileType
{
///
- /// Valve Package File
+ /// Half-Life Level
///
public class BSP : IScannable
{
diff --git a/BurnOutSharp/FileType/MPQ.cs b/BurnOutSharp/FileType/MPQ.cs
index ee432585..0e059c20 100644
--- a/BurnOutSharp/FileType/MPQ.cs
+++ b/BurnOutSharp/FileType/MPQ.cs
@@ -10,7 +10,7 @@ using static BurnOutSharp.Utilities.Dictionary;
namespace BurnOutSharp.FileType
{
///
- /// MPQ game data archive
+ /// MoPaQ game data archive
///
public class MPQ : IScannable
{
diff --git a/BurnOutSharp/FileType/XZP.cs b/BurnOutSharp/FileType/XZP.cs
index 967a8523..2c4cf474 100644
--- a/BurnOutSharp/FileType/XZP.cs
+++ b/BurnOutSharp/FileType/XZP.cs
@@ -7,7 +7,7 @@ using static BurnOutSharp.Utilities.Dictionary;
namespace BurnOutSharp.FileType
{
///
- /// Valve Package File
+ /// XBox Package File
///
public class XZP : IScannable
{
diff --git a/README.md b/README.md
index 736397b0..b5fefe57 100644
--- a/README.md
+++ b/README.md
@@ -6,16 +6,18 @@ C# port of the protection scanning ability of [BurnOut](http://burnout.sourcefor
In addition to the original BurnOut code, the following libraries (or ports thereof) are used for file handling:
-- [HLLibSharp](https://github.com/mnadareski/HLLibSharp) - Various Valve archive format extraction
+- [HLLibSharp](https://github.com/mnadareski/HLLibSharp) - SGA extraction
- [LibMSPackSharp](https://github.com/mnadareski/LibMSPackSharp) - Microsoft CAB extraction [Only used in .NET 6.0 builds, unstable]
- [openmcdf](https://github.com/ironfede/openmcdf) - MSI extraction
- [psxt001z](https://github.com/Dremora/psxt001z) - PS1 LibCrypt detection [Ported to C#]
-- [SharpCompress](https://github.com/adamhathcock/sharpcompress) - 7zip/GZip/RAR/PKZIP extraction
-- [StormLibSharp](https://github.com/robpaveza/stormlibsharp) - MPQ extraction [Unused in .NET 6.0 builds due to Windows-specific libraries]
+- [SharpCompress](https://github.com/adamhathcock/sharpcompress) - Common archive format extraction
+- [StormLibSharp](https://github.com/robpaveza/stormlibsharp) - MoPaQ extraction [Unused in .NET 6.0 builds due to Windows-specific libraries]
- [UnshieldSharp](https://github.com/mnadareski/UnshieldSharp) - InstallShield CAB extraction
- [WiseUnpacker](https://github.com/mnadareski/WiseUnpacker) - Wise Installer extraction
- [WixToolset.Dtf](https://github.com/wixtoolset/Dtf) - Microsoft CAB extraction [Unused in .NET 6.0 builds due to Windows-specific libraries]
+Valve packages handling is based [HLLibSharp](https://github.com/mnadareski/HLLibSharp) but lacks everything but parsing and extraction capability.
+
## Protections Detected
Below is a list of protections detected by BurnOutSharp. The two columns explain what sort of checks are performed to determine how the protection is detected. Generally speaking, it's better to have a content check than a path check.
@@ -137,24 +139,35 @@ Below is a list of executable packers detected by BurnOutSharp. The three column
| WinZip SFX | Yes | No | Yes |
| WISE Installer | Yes | No | Yes |
-## Archive Formats
+## Container Formats
-Below is a list of archive or archive-like formats that can be extracted and have contents scanned using this code:
+Below is a list of container formats that are supported in some way:
-- 7zip
-- BFPK
-- BZIP2
-- GZIP
-- InstallShield Archive V3 (Z)
-- InstallShield CAB
-- Microsoft CAB [.NET Standard 2.0 only]
-- MPQ
-- Microsoft Installer (MSI)
-- PKZIP and derived files
-- RAR
-- TAR
-- Valve archive formats
-- XZ
+| Format Name | Information Printing | Detection | Extraction | Notes |
+| --- | --- | --- | --- | --- |
+| 7-zip archive | No | Yes | Yes | Via `SharpCompress` |
+| BFPK custom archive format | Yes | Yes | Yes | |
+| bzip2 archive | No | Yes | Yes | Via `SharpCompress` |
+| gzip archive | No | Yes | Yes | Via `SharpCompress` |
+| Half-Life Game Cache File (GCF) | Yes | Yes | Yes | |
+| Half-Life Level (BSP) | Yes | Yes | Yes | |
+| Half-Life Package File (PAK) | Yes | Yes | Yes | |
+| Half-Life Texture Package File (WAD) | Yes | Yes | Yes | |
+| Half-Life 2 Level (VBSP) | Yes | Yes | Yes | |
+| InstallShield Archive V3 (Z) | No | Yes | Yes | Via `UnshieldSharp` |
+| InstallShield CAB | No | Yes | Yes | Via `UnshieldSharp` |
+| Microsoft cabinet file | Yes | Yes | Yes | Via `WixToolset.Dtf` / `LibMSPackSharp` |
+| MoPaQ game data archive (MPQ) | No | Yes | Yes | Via `StormLibSharp` |
+| Microsoft installation package (MSI) | No | Yes | Yes | Via `OpenMcdf` |
+| PKZIP and derived files (ZIP, etc.) | No | Yes | Yes | Via `SharpCompress` |
+| PlayJ audio file (PLJ) | No | Yes | No | |
+| RAR archive (RAR) | No | Yes | Yes | Via `SharpCompress` |
+| StarForce Filesystem file (SFFS) | No | Yes | No | |
+| Tape archive (TAR) | No | Yes | Yes | Via `SharpCompress` |
+| Valve Package File (VPK) | Yes | Yes | Yes | |
+| Valve Texture Directory (SGA) | No | No | No | Support unconfirmed |
+| XBox Package File (XZP) | Yes | Yes | Yes | |
+| xz archive (XZ) | No | Yes | Yes | Via `SharpCompress` |
## Contributions