UNPKG

@runejs/filestore

Version:

Tools for managing the RuneJS filestore.

74 lines (73 loc) 2.11 kB
import { PNG } from 'pngjs'; import { type Filestore } from '../filestore'; import type { FileData } from '../file-data'; export declare function toRgb(inputNum: number): number[]; /** * A single Sprite within a SpritePack. */ export declare class Sprite { spriteId: number; maxWidth: number; maxHeight: number; offsetX: number; offsetY: number; width: number; height: number; pixelIdx: number[]; palette: number[]; pixels: number[]; constructor(spriteId: number, width: number, height: number); resizeToLibSize(): void; /** * First converts the Sprite into a base64 PNG image. */ toBase64(): Promise<string>; /** * Converts the Sprite into a PNG image and returns the resulting PNG object. */ toPng(): PNG; /** * Converts the Sprite's pixels into a Uint8ClampedArray. */ getPixels(): Uint8ClampedArray; } /** * A package of one or many Sprite objects. */ export declare class SpritePack { readonly fileData: FileData; private _sprites; constructor(fileData: FileData); writeToDisk(): Promise<void>; /** * Decodes the sprite pack file. */ decode(): SpritePack; get sprites(): Sprite[]; get packId(): number; } /** * Controls SpritePack file storage. */ export declare class SpriteStore { private fileStore; constructor(fileStore: Filestore); writeToDisk(): Promise<void>; /** * Decodes the specified sprite pack. * @param fileName The name of the sprite pack file. * @returns The decoded SpritePack object, or null if the file is not found. */ getSpritePack(fileName: string): SpritePack | null; /** * Decodes the specified sprite pack. * @param id The ID of the sprite pack file. * @returns The decoded SpritePack object, or null if the file is not found. */ getSpritePack(id: number): SpritePack | null; /** * Decodes all sprite packs within the filestore. * @returns The list of decoded SpritePack objects from the sprite store. */ decodeSpriteStore(): SpritePack[]; }