WAD、BIN、BNK、WPK文件简单处理
Project description
league-tools
WAD、BIN、BNK、WPK 文件处理工具库。
介绍
league-tools 是一个用于处理英雄联盟资源文件的 Python 库,提供对以下格式的底层解析能力:
WAD(.wad.client):资源包(模型、贴图、音频等)BIN(.bin):游戏配置与逻辑数据BNK(.bnk):Wwise SoundBank 音频元数据WPK(.wpk):Wwise 打包音频文件
音频事件映射默认推荐使用 NativeHIRC:
- 只关注事件映射所需的 HIRC 音频信息
- 直接从
events.bnk读取,速度明显快于wwiser -> XML - 更适合默认映射链和批量分析
如果你需要更完整的 BNK/HIRC 结构、XML 对照能力或调试信息,再使用 WwiserHIRC。
安装
pip install league-tools
如需基于发布分支安装最新代码:
pip install -e "git+https://github.com/Virace/league-tools@package#egg=league_tools"
使用
基础使用示例(四种核心格式):
from pathlib import Path
from league_tools import BIN, BNK, NativeHIRC, WAD, WPK
# 1) WPK:提取音频文件
wpk = WPK("path/to/audio.wpk")
wem_files = wpk.extract_files()
# 2) BNK:提取内嵌WEM
bnk = BNK("path/to/events.bnk")
bnk_wem_files = bnk.extract_files()
# 3) WAD:按已知路径提取文件
wad = WAD("path/to/archive.wad.client")
wad.extract(
["assets/sounds/vo/champions/gwen/skin01/vo_gwen_skin01_events.bnk"],
out_dir=Path("./wad_output"),
)
# 4) BIN:读取音频事件组数据
bin_file = BIN("path/to/skin.bin")
audio_groups = bin_file.data
# 5) NativeHIRC:默认推荐的 events.bnk 解析入口
hirc = NativeHIRC.from_bnk("path/to/vo_events.bnk")
日志默认关闭;上游项目可按需手动开启:
from league_tools import enable_logging, disable_logging
enable_logging()
# ... 业务逻辑 ...
disable_logging()
详细示例与格式文档:
音频映射建议
默认工作流:
from league_tools import AudioEventMapper, BIN, NativeHIRC
bin_file = BIN("path/to/skin.bin")
hirc = NativeHIRC.from_bnk("path/to/events.bnk")
mapping = AudioEventMapper(bin_file, hirc).build_mapping()
何时切到 WwiserHIRC:
- 需要完整 XML / HIRC 结构对照
- 需要调试
wwiser输出或排查版本差异 - 需要的信息超出
NativeHIRC当前只关注的音频事件映射范围
参考
- WPK 参考 Morilli/bnk-extract
- WAD 结构与部分逻辑来源于 CommunityDragon/CDTB 与 Pupix/lol-file-parser
- BNK 结构参考 Xentax Wiki
维护
- 维护者:Virace(孤独的未知数)
- 开发与测试标准:docs/development_testing.md
- 发布与维护流程:docs/release_workflow.md
- 许可证:GPLv3
感谢
- @Morilli(bnk-extract)
- @Pupix(lol-file-parser)
- @CommunityDragon(CDTB)
- @vgmstream(vgmstream)
- JetBrains 提供开发环境支持
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file league_tools-1.1.3.tar.gz.
File metadata
- Download URL: league_tools-1.1.3.tar.gz
- Upload date:
- Size: 128.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
307434c56debca25296c0ea2e1a974d4a671b84968aa18d0c5ba54232b6edd5d
|
|
| MD5 |
393d1f386932ba5e2b7b92abab7801a9
|
|
| BLAKE2b-256 |
a83e00672b780a9a96548da08d264061c5d3ce1435cfc241338c3ae63ded2004
|
Provenance
The following attestation bundles were made for league_tools-1.1.3.tar.gz:
Publisher:
python-publish.yml on Virace/league-tools
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
league_tools-1.1.3.tar.gz -
Subject digest:
307434c56debca25296c0ea2e1a974d4a671b84968aa18d0c5ba54232b6edd5d - Sigstore transparency entry: 1134774649
- Sigstore integration time:
-
Permalink:
Virace/league-tools@e7307b543107c522e1583cd5c94203eea627947f -
Branch / Tag:
refs/tags/v1.1.3 - Owner: https://github.com/Virace
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@e7307b543107c522e1583cd5c94203eea627947f -
Trigger Event:
release
-
Statement type:
File details
Details for the file league_tools-1.1.3-py3-none-any.whl.
File metadata
- Download URL: league_tools-1.1.3-py3-none-any.whl
- Upload date:
- Size: 95.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ac9cf6aa4036f1892ca44c725c07de2e14f4d2e8b6dfefb15ab5fbd0e0dc48c
|
|
| MD5 |
a944ac02a5efc0592c90e7b35ac36380
|
|
| BLAKE2b-256 |
5924f5da8bb7879e517763df6d21160389cd0c7664e8df6b3f3d60a4f39cc20d
|
Provenance
The following attestation bundles were made for league_tools-1.1.3-py3-none-any.whl:
Publisher:
python-publish.yml on Virace/league-tools
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
league_tools-1.1.3-py3-none-any.whl -
Subject digest:
8ac9cf6aa4036f1892ca44c725c07de2e14f4d2e8b6dfefb15ab5fbd0e0dc48c - Sigstore transparency entry: 1134774676
- Sigstore integration time:
-
Permalink:
Virace/league-tools@e7307b543107c522e1583cd5c94203eea627947f -
Branch / Tag:
refs/tags/v1.1.3 - Owner: https://github.com/Virace
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@e7307b543107c522e1583cd5c94203eea627947f -
Trigger Event:
release
-
Statement type: