MalumAtire832/BetaTeam-Toolkit

GitHub: MalumAtire832/BetaTeam-Toolkit

专门用于解析和解包 LEGO Alpha Team PC 版游戏资源文件的命令行工具包,支持 PAC 归档提取和 DDS 音频转 WAV。

Stars: 0 | Forks: 0

# BetaTeam 使用 C# 和 .NET 8 编写的 CLI 工具包,用于与 LEGO Alpha Team PC 源文件进行交互。 基于 [GNU General Public License v3.0](LICENSE) 授权。 ## 前置条件 - [.NET 8 SDK](https://dotnet.microsoft.com/download/dotnet/8.0) - 源文件 ## 解决方案结构 | 项目 | 描述 | |--------------------------------|---------------------------------------------------------------------------| | `Malumware.Common` | 共享工具 | | `Malumware.BetaTeam.Lib` | 核心库 — 解析器、读取器、转换器 | | `Malumware.BetaTeam.Lib.Tests` | 库的单元测试 | | `Malumware.BetaTeam.Cli` | 基于 [Spectre.Console](https://spectreconsole.net/) 构建的 CLI 入口点 | ## 文件格式 ### PAC 归档 PAC 文件是 LEGO Alpha Team 使用的平面打包归档文件,文件连续存储且未压缩。 文件头为 20 字节(`PACK` 魔术字、归档大小、有效载荷偏移量、文件数量),其后是一个变长目录,包含以空字符结尾的文件名条目,每个条目包含绝对偏移量、文件大小和 Windows FILETIME 时间戳。 ### DDS 音频 `.DDS` 文件是一种专有的 PCM 音频格式,其 16 字节文件头在布局上与 WAV `fmt` 块完全相同(格式标签、通道数、采样率、字节率、块对齐、每样本位数)。 转换器将原始 PCM 数据封装在标准的 RIFF/WAVE 信封中,以生成有效的 `.wav` 文件。 ## CLI ### `unpack` — 解包 PAC 归档 解压目录中的所有 `.pac` 归档文件。每个归档将被解包到以该归档文件命名的独立子文件夹中。 ``` betateam unpack [--mask ] ``` | 参数 / 选项 | 描述 | 默认值 | |--------------------|--------------------------------------|---------| | `INPUT_DIRECTORY` | 包含 `.pac` 归档的目录 | — | | `OUTPUT_DIRECTORY` | 用于写入提取文件的目录 | — | | `-m`, `--mask` | 文件 glob 匹配模式 | `*.pac` | 示例: ``` betateam unpack /game/packs /game/extracted betateam unpack /game/packs /game/extracted --mask *.pac betateam unpack /game/packs /game/extracted --mask Audio.pac ``` ### `convert dds wav` — 将 DDS 音频转换为 WAV 将 `.DDS` 专有音频文件(Digital Domain Sound)转换为标准 WAV 文件。 ``` betateam convert dds wav [--mask ] ``` | 参数 / 选项 | 描述 | 默认值 | |--------------------|--------------------------------------|---------| | `INPUT_DIRECTORY` | 包含 `.DDS` 文件的目录 | — | | `OUTPUT_DIRECTORY` | 用于写入 `.wav` 文件的目录 | — | | `-m`, `--mask` | 文件 glob 匹配模式 | `*.DDS` | 示例: ``` betateam convert dds wav /game/extracted/audio /game/wav betateam convert dds wav /game/extracted/audio /game/wav --mask *.DDS betateam convert dds wav /game/extracted/audio /game/wav --mask BUILD1LOOP.DDS ```
标签:AlphaTeam, DDS音频, GNU GPL 3.0, LEGO, .NET 8, PAC归档, PCM音频, Spectre.Console, WAV转换, 乐高, 云资产清单, 单元测试, 开源, 控制台应用, 数据提取, 文件格式解析, 文件解析器, 游戏Mod, 游戏开发, 游戏源文件解析, 解包工具, 逆向工程