4 stable releases
3.0.0 | Apr 26, 2024 |
---|---|
2.0.0 | Mar 18, 2024 |
1.0.1 | Feb 9, 2024 |
1.0.0 | Jan 24, 2024 |
#356 in Game dev
279 downloads per month
270KB
7K
SLoC
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.
Dependencies
~5MB
~99K SLoC