UNPKG

@runejs/filestore

Version:

Tools for managing the RuneJS filestore.

46 lines (45 loc) 1.42 kB
import { PNG } from 'pngjs'; import type { Filestore } from '../filestore'; import { type SpriteStore } from './sprite-store'; export declare class Texture { static readonly LOW_MEMORY_TEXTURE_SIZE = 64; static readonly HIGH_MEMORY_TEXTURE_SIZE = 128; private static TEXTURE_SIZE; private static TEXTURE_INTENSITY; private static pixelsBuffer; id: number; rgb: number; opaque: boolean; spriteIds: number[]; renderTypes: number[]; anIntArray2138: number[]; colors: number[]; direction: number; speed: number; pixels: number[]; size: number; static setSize(size: number): void; static setIntensity(intensity: number): void; generatePixels(spriteStore: SpriteStore): boolean; animate(gameTick: number): void; resetPixels(): void; writeToDisk(): Promise<void>; /** * Converts the Texture into a base64 PNG image. */ toBase64(): Promise<string>; /** * Converts the Texture into a PNG image and returns the resulting PNG object. */ toPng(): PNG; } export declare class TextureStore { private fileStore; constructor(fileStore: Filestore); writeToDisk(): Promise<void>; getTexture(id: number): Texture | null; getTexturePixels(id: number): number[] | null; getTextureRgb(id: number): number; isTextureOpaque(id: number): boolean; isTextureLowMemory(id: number): boolean; }