Expand description
DVPL file format engine for World of Tanks Blitz.
Provides encode and decode for the DVPL container format used by WoT Blitz
game assets. Usable as a pure Rust library (cargo add dvpl-engine) or as a
Python extension via PyO3 (pip install dvpl-converter).
§DVPL format
A .dvpl file is a payload followed by a 20-byte footer:
| Field | Size | Encoding |
|---|---|---|
original_size | 4 bytes | little-endian |
compressed_size | 4 bytes | little-endian |
crc32 | 4 bytes | little-endian |
compression | 4 bytes | little-endian |
magic | 4 bytes | b"DVPL" |
Compression types: COMP_NONE (0), COMP_LZ4 (1), COMP_LZ4_HC (2).
§Examples
use dvpl_engine::COMP_LZ4_HC;
use dvpl_engine::decode;
use dvpl_engine::encode;
let original = b"Hello DVPL!";
let dvpl_blob = encode(original, COMP_LZ4_HC).unwrap();
let decoded = decode(&dvpl_blob).unwrap();
assert_eq!(original.as_slice(), &decoded);Enums§
- Dvpl
Error - All failure modes during DVPL encode/decode.
Constants§
- COMP_
LZ4 - Standard LZ4 block compression.
- COMP_
LZ4_ HC - LZ4 high-compression mode (better ratio, slower compression).
- COMP_
NONE - No compression - payload stored as-is.