Crate runefs

Source
Expand description

Read-only, low level, virtual file types for the RuneScape file system.

This crate supplies all of the backing types for rs-cache. Many of these types were private but are now publicly available. rs-cache is a high level api for both the OSRS and RS3 caches and exposing these low level virtual types didn’t make sense, hence this crate.

A word of caution, these types are highly experimental, I have done my best to document and test as much as I can, but there might still be the weird occasional edge-case. With that said, whenever you find a bug or missing feature; or even unsoundness don’t hesitate to open an issue.

Modules§

codec
(De)compression and enciphering/deciphering.
error
Error management.
parse
Faster parsers using nom.
xtea
In-place XTEA en/de-ciphering.

Structs§

ArchiveFileData
Holds an archive file id with its data.
ArchiveFileGroup
Holds all of the archive files that belong to a single archive.
ArchiveMetadata
Metadata on every archive.
ArchiveRef
A reference to an archive segment.
Dat2
A virtual file type for the .dat2 file.
DataBlocks
Iterator to walk the archive reference chain.
Index
A virtual file type for every .idx in the cache directory.
IndexMetadata
All of the index metadata fetched through Dat2 from the metadata table.
Indices
A list of valid indices.
Sector
A section of data read from the Dat2 file.
SectorHeader
A section header containing validation and its next sector.

Enums§

Error
Super error type for all runefs errors.
SectorHeaderSize
Used to convey a sector’s header size when parsing from a raw buffer.

Constants§

ARCHIVE_REF_LEN
IDX_PREFIX
MAIN_DATA
REFERENCE_TABLE
REFERENCE_TABLE_ID
SECTOR_DATA_SIZE
SECTOR_EXPANDED_DATA_SIZE
SECTOR_EXPANDED_HEADER_SIZE
SECTOR_HEADER_SIZE
SECTOR_SIZE