osrs-cache 0.2.2

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


[![Build](https://github.com/runecore/osrs-cache/workflows/build/badge.svg)](https://github.com/runecore/osrs-cache)
[![API](https://docs.rs/osrs-cache/badge.svg)](https://docs.rs/osrs-cache)
[![Crate](https://img.shields.io/crates/v/osrs-cache)](https://crates.io/crates/osrs-cache)
[![dependency status](https://deps.rs/repo/github/runecore/osrs-cache/status.svg)](https://deps.rs/repo/github/runecore/osrs-cache)
[![OSRS Version](https://img.shields.io/badge/OSRS-189-blue)](https://img.shields.io/badge/OSRS-189-blue)
[![Discord](https://img.shields.io/discord/926860365873184768?color=5865F2)](https://discord.gg/CcTa7TZfSc)

A read-only, high-level, virtual file API for the RuneScape cache.

This crate is based on the [rs-cache](https://github.com/jimvdl/rs-cache/) crate by jimvdl.

## Installation


Add this to your `Cargo.toml` file:

```toml
[dependencies]
osrs-cache = "0.2.2"
```

## Example


```rust
use osrscache::Cache;

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

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

    let buffer = 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](https://github.com/runecore/osrs-cache/issues/new) in order to discuss it beforehand.

Examples can be found in the [examples](examples/) directory which include the osrs update protocol.

## Credits


The following sources aided with the development of this crate:

- [OpenRS]https://www.rune-server.ee/runescape-development/rs-503-client-server/downloads/312510-openrs-cache-library.html
- [RuneLite]https://runelite.net/
- [OSRS Cache Parsing Blog]https://www.osrsbox.com/blog/2018/07/26/osrs-cache-research-extract-cache-definitions/
- [RSMod]https://github.com/Tomm0017/rsmod
- [Librsfs]https://github.com/Velocity-/librsfs
- [OSRSBox]https://www.osrsbox.com/
- [Jagex-Store-5]https://github.com/guthix/Jagex-Store-5

## License


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

See [LICENSE](LICENSE) for details.