ba2

Crates.ioba2
lib.rsba2
version3.0.0
sourcesrc
created_at2024-01-24 23:54:36.990546
updated_at2024-04-26 17:28:52.245998
descriptionA Rust library for working with the Bethesda archive file format
homepagehttps://github.com/Ryan-rsm-McKenzie/bsa-rs
repositoryhttps://github.com/Ryan-rsm-McKenzie/bsa-rs
max_upload_size
id1113101
size270,675
Ryan McKenzie (Ryan-rsm-McKenzie)

documentation

https://ryan-rsm-mckenzie.github.io/bsa-rs/ba2/index.html

README

Overview

ba2 is a DOM-based reader/writer for archives made for the Creation Engine games. It includes near-complete support for all archive variants from Morrowind up to Starfield. ba2 leverages mem-mapped i/o to cut down on the memory bloat typically associated with DOM-based approaches. It is a Rust port of the equivalent C++ library.

The latest development docs are available at: https://ryan-rsm-mckenzie.github.io/bsa-rs/ba2/index.html

The stable release docs are available at: https://docs.rs/ba2/latest/ba2/

Changelogs are available at: https://github.com/Ryan-rsm-McKenzie/bsa-rs/releases

Maturity

ba2 is not nearly as mature as its C++ cousin, however it does leverage the C++ test suite, and as such it manages to stand head and shoulders above existing solutions in terms of correctness of implementation. Tests are written directly in the source code, instead of being kept separately. See here, here, and here for the majority of the written tests.

Release Schedule

Being an implementation of a relatively static archive file format, ba2 has no set release schedule. However updates will be published sporadically as bug fixes are made, new features are added, and especially when new game releases necessitate support.

Contributing

Contributions are generally welcome, however I would appreciate if contributions were discussed beforehand using Github issues, before any code is written.

Commit count: 184

cargo fmt