@runejs/filestore
Version:
Tools for managing the RuneJS filestore.
46 lines (45 loc) • 1.42 kB
TypeScript
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;
}