3 个不稳定版本
0.4.1 | 2024 年 4 月 1 日 |
---|---|
0.4.0 | 2024 年 3 月 30 日 |
0.1.0 | 2022 年 10 月 25 日 |
#99 in 游戏
每月 127 次下载
325KB
6K SLoC
WG Toolkit
提供 Wargaming.net 分发的各种编解码器实现的工具箱crate。这些编解码器是核心引擎(以前称为BigWorld)的一部分,特别用于《战车世界》。此crate还提供网络协议的实现。
库
- crate 页面
- crate 文档
- 打包 XML 编解码器
- 反序列化
- 序列化
- 坦克模型编解码器
- 视觉树反序列化
- 顶点/索引反序列化
- 编译空间编解码器 (WIP)
- 某些部分的反序列化
- BWTB (头部表)
- BWST (字符串表)
- BWT2 (terrain2)
- BWSG (静态几何形状)
- BWCS (编译空间设置)
- BWAL (资产列表)
- 某些部分的反序列化
- 资源虚拟文件系统(只读)
- 包索引
- 从本地文件系统或包中读取文件
- 从本地文件系统或包中读取目录条目
- 网络协议 (WIP)
- 数据包编码和解码 (部分标志支持)
- 向捆绑包中添加元素
- 将接收到的数据包组装成捆绑包
- 遍历捆绑包中的元素
CLI
- crate 页面
- 打包 XML
- 反序列化和显示
- 值编辑(字符串、整数、布尔、浮点数)
- 资源虚拟文件系统
- 读取文件内容并将其复制到 stdout
- 读取目录内容,可能配置了递归
WoT CLI
尚未发布,尚未工作,但存在于代码库中,可能在某个时刻集成到 CLI 中。
贡献指南
在向代码库贡献时,应遵循一些规则
- 每个主要功能都应该有自己的目录模块;
- 每个辅助功能,由核心功能内部使用,应位于其自己的
util
模块中,在其自己的文件模块中。 - 当在自定义读取器和/或写入器上工作时,但只实现其中之一,请考虑如何使用两个都实现的情况构建您的模块;
- 捕获所有错误并将它们转发到公共接口;
- 应使用
thiserror::Error
派生定义所有自定义错误类型; - 当在自定义读取器和/或写入器上工作时,这些读取器和/或写入器不提供懒加载读取/写入操作,请创建简单的公共函数,直接输出,例如
from_reader(reader: impl Read)
或to_writer(writer: impl Write)
。
致谢
感谢 SkepticalFox 提供的 wot-space.bin-utils Python 库,它直接启发了这个 crate。
感谢 SkaceKamen 提供的 wot-model-converter Python 库,为其对处理过的模型文件格式的开源工作。
依赖项
约 10–21MB
约 304K SLoC