UNPKG

@runejs/filestore

Version:

Tools for managing the RuneJS filestore.

57 lines (56 loc) 1.57 kB
import type { Filestore } from '../filestore'; export declare const maxRegions = 32768; export interface MapFile { fileId: number; regionX: number; regionY: number; tileHeights: number[][][]; tileSettings: Uint8Array[][]; tileOverlayIds: Uint8Array[][]; tileOverlayPaths: Uint8Array[][]; tileOverlayOrientations: Uint8Array[][]; tileUnderlayIds: Uint8Array[][]; } export interface LandscapeObject { objectId: number; x: number; y: number; level: number; type: number; orientation: number; } export interface LandscapeFile { fileId: number; regionX: number; regionY: number; landscapeObjects: LandscapeObject[]; } export interface Region { regionX: number; regionY: number; mapFile: MapFile; landscapeFile: LandscapeFile | null; } export interface XteaDefinition { archive: number; group: number; name_hash: number; name: string; mapsquare: number; key: [number, number, number, number]; } export type TileArray = Uint8Array[][]; export declare class RegionStore { private fileStore; readonly xteas: { [key: number]: XteaDefinition; }; private readonly regionIndex; constructor(fileStore: Filestore, xteas?: { [p: number]: XteaDefinition; }); getMapKeys(regionX: number, regionY: number): number[]; getRegion(regionX: number, regionY: number): Region | null; getLandscapeFile(regionX: number, regionY: number): LandscapeFile | null; getMapFile(regionX: number, regionY: number): MapFile | null; }