rw-parser-rs
A high-performance, native Rust parser for RenderWare files (.dff
, .txd
, .ifp
).
This project is a Rust port of the excellent rw-parser-ng, rewritten from the ground up to leverage Rust's performance and safety. The goal is to provide a significantly faster and more memory-efficient alternative for server-side processing and tooling.
Our benchmarks show that rw-parser-rs
is approximately 100x faster than its Node.js counterpart for typical DFF parsing tasks.
Features
- Blazing Fast: Native Rust performance for maximum throughput.
- DFF (Model) Parsing: Extracts geometry, materials, frames, and skinning data.
- TXD (Texture Dictionary) Parsing: Extracts texture information and decompresses DXT formats.
- IFP (Animation) Parsing: Extracts animation data for
ANP3
andANPK
formats. - Safe & Robust: Built with Rust's safety guarantees to prevent common parsing vulnerabilities.
- Strongly Typed: Ensures data integrity and a great developer experience.
Installation
Add rw-parser-rs
to your Cargo.toml
:
[]
= "1.0.0"
Usage
use DffParser;
use fs;
Development
- Clone the repository:
git clone https://github.com/DepsCian/rw-parser-rs.git
- Build the project:
cargo build --release
- Run benchmarks:
cargo bench
- Generate documentation:
cargo doc --open
Contributing
Contributions are welcome! Please feel free to open an issue or submit a pull request.
License
This project is licensed under the GPL-3.0 License.