UNPKG

sc4

Version:

A command line utility for automating SimCity 4 modding tasks & modifying savegames

42 lines (41 loc) 1.32 kB
import Pointer from './pointer.js'; import { kFileType } from './symbols.js'; import type { SavegameObject } from './types.js'; import type Stream from './stream.js'; type CitySize = 1024 | 2048 | 4096; type TractSize = 16 | 32 | 64; type TileSize = 64 | 128 | 256; export default class ItemIndex { static [kFileType]: 160405069; crc: number; mem: number; major: number; width: CitySize; depth: CitySize; tractWidth: TractSize; tractDepth: TractSize; tileWidth: TileSize; tileDepth: TileSize; elements: Cell[][]; get length(): number; set length(length: number); [Symbol.iterator](): Generator<Cell[], void, unknown>; constructor(x?: TractSize, z?: TractSize); get(x: number, z: number): Cell | undefined; fill(): this; rebuild(type: number, file: SavegameObject[]): this; filter(...params: Parameters<Cell['filter']>): this; ensure(): this; clear(): void; add(item: SavegameObject, type?: number): void; parse(rs: Stream): this; toBuffer(): Uint8Array<ArrayBufferLike>; flat(): Generator<Cell, void, unknown>; } declare class Cell extends Array<Pointer> { x: number; z: number; constructor(x?: number, z?: number); filter(fn: (ptr: Pointer, index: number, cell: Cell) => boolean): this; } export {};