osrs-cache 0.1.0

A cache library for the Oldschool Runescape JS5 file system.
Documentation

osrs-cache

Build API Crate dependency status OSRS Version

An immutable, high-level API for the Oldschool RuneScape cache file system.

Installation

Add this to your Cargo.toml file:

[dependencies]

osrs-cache = "0.1.0"

Example

use osrscache::Cache;

fn main() -> osrscache::Result<()> {
    let cache = Cache::new("./data/osrs_cache")?;

    let index_id = 2; // Config index.
    let archive_id = 10; // Archive containing item definitions.

    let buffer: Vec<u8> = cache.read(index_id, archive_id)?;

    Ok(())
}

Contributing

If you have suggestions for features, or want to add for example a new loader for the cache, feel free to make a pull request. For bigger features it is advised to open an issue in order to discuss it beforehand.

Examples can be found in the examples directory which include the osrs update protocol.

Acknowledgements

The following sources aided with the development of this crate:
        OpenRS
        RuneLite
        OSRS Cache Parsing Blog
        RSMod
        Librsfs
        OSRSBox
        Jagex-Store-5

License

osrs-cache is distributed under the terms of the MIT license.

See LICENSE for details.