sc4
Version:
A command line utility for automating SimCity 4 modding tasks & modifying savegames
204 lines (203 loc) • 6.36 kB
TypeScript
import Stream from './stream.js';
import { kFileType, kFileTypeArray } from './symbols.js';
import type { FileTypeId } from './types.js';
declare const TypedArrays: {
readonly 1236919810: Uint8ArrayConstructor;
readonly 1236919811: Int8ArrayConstructor;
readonly 1236919812: Uint16ArrayConstructor;
readonly 1236919813: Int16ArrayConstructor;
readonly 1236919814: Uint32ArrayConstructor;
readonly 1236919818: Float32ArrayConstructor;
};
type SimGridType = {
[K in keyof typeof TypedArrays as number]: K;
}[FileTypeId];
type TypedArray<T extends SimGridType> = InstanceType<(typeof TypedArrays)[T]>;
type Resolution = 1 | 2 | 4 | 8 | 16 | 32 | 64;
type ResolutionExponent = 0 | 1 | 2 | 3 | 4 | 5 | 6;
type GridSize = 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256;
type SimGridOptions<T extends SimGridType> = {
mem?: number;
data?: number[] | TypedArray<T>;
dataId?: number;
resolution?: Resolution;
resolutionExponent?: ResolutionExponent;
size?: GridSize;
xSize?: GridSize;
zSize?: GridSize;
};
declare const SimGridUint8_base: {
new (opts?: SimGridOptions<1236919810>): {
type: 1236919810;
crc: number;
mem: number;
major: number;
u1: number;
data: Uint8Array<ArrayBuffer>;
dataId: number;
resolution: Resolution;
resolutionExponent: ResolutionExponent;
xSize: GridSize;
zSize: GridSize;
u6: number;
u7: number;
u8: number;
u9: number;
parse(rs: Stream): /*elided*/ any;
toBuffer(): Uint8Array<ArrayBufferLike>;
get(x: number, z: number): number;
set(x: number, z: number, value: number): /*elided*/ any;
clear(value?: number): void;
createProxy(): /*elided*/ any;
};
[kFileType]: 1236919810;
[kFileTypeArray]: 1236919810;
};
export declare class SimGridUint8 extends SimGridUint8_base {
}
declare const SimGridSint8_base: {
new (opts?: SimGridOptions<1236919811>): {
type: 1236919811;
crc: number;
mem: number;
major: number;
u1: number;
data: Int8Array<ArrayBuffer>;
dataId: number;
resolution: Resolution;
resolutionExponent: ResolutionExponent;
xSize: GridSize;
zSize: GridSize;
u6: number;
u7: number;
u8: number;
u9: number;
parse(rs: Stream): /*elided*/ any;
toBuffer(): Uint8Array<ArrayBufferLike>;
get(x: number, z: number): number;
set(x: number, z: number, value: number): /*elided*/ any;
clear(value?: number): void;
createProxy(): /*elided*/ any;
};
[kFileType]: 1236919811;
[kFileTypeArray]: 1236919811;
};
export declare class SimGridSint8 extends SimGridSint8_base {
}
declare const SimGridUint16_base: {
new (opts?: SimGridOptions<1236919812>): {
type: 1236919812;
crc: number;
mem: number;
major: number;
u1: number;
data: Uint16Array<ArrayBuffer>;
dataId: number;
resolution: Resolution;
resolutionExponent: ResolutionExponent;
xSize: GridSize;
zSize: GridSize;
u6: number;
u7: number;
u8: number;
u9: number;
parse(rs: Stream): /*elided*/ any;
toBuffer(): Uint8Array<ArrayBufferLike>;
get(x: number, z: number): number;
set(x: number, z: number, value: number): /*elided*/ any;
clear(value?: number): void;
createProxy(): /*elided*/ any;
};
[kFileType]: 1236919812;
[kFileTypeArray]: 1236919812;
};
export declare class SimGridUint16 extends SimGridUint16_base {
}
declare const SimGridSint16_base: {
new (opts?: SimGridOptions<1236919813>): {
type: 1236919813;
crc: number;
mem: number;
major: number;
u1: number;
data: Int16Array<ArrayBuffer>;
dataId: number;
resolution: Resolution;
resolutionExponent: ResolutionExponent;
xSize: GridSize;
zSize: GridSize;
u6: number;
u7: number;
u8: number;
u9: number;
parse(rs: Stream): /*elided*/ any;
toBuffer(): Uint8Array<ArrayBufferLike>;
get(x: number, z: number): number;
set(x: number, z: number, value: number): /*elided*/ any;
clear(value?: number): void;
createProxy(): /*elided*/ any;
};
[kFileType]: 1236919813;
[kFileTypeArray]: 1236919813;
};
export declare class SimGridSint16 extends SimGridSint16_base {
}
declare const SimGridUint32_base: {
new (opts?: SimGridOptions<1236919814>): {
type: 1236919814;
crc: number;
mem: number;
major: number;
u1: number;
data: Uint32Array<ArrayBuffer>;
dataId: number;
resolution: Resolution;
resolutionExponent: ResolutionExponent;
xSize: GridSize;
zSize: GridSize;
u6: number;
u7: number;
u8: number;
u9: number;
parse(rs: Stream): /*elided*/ any;
toBuffer(): Uint8Array<ArrayBufferLike>;
get(x: number, z: number): number;
set(x: number, z: number, value: number): /*elided*/ any;
clear(value?: number): void;
createProxy(): /*elided*/ any;
};
[kFileType]: 1236919814;
[kFileTypeArray]: 1236919814;
};
export declare class SimGridUint32 extends SimGridUint32_base {
}
declare const SimGridFloat32_base: {
new (opts?: SimGridOptions<1236919818>): {
type: 1236919818;
crc: number;
mem: number;
major: number;
u1: number;
data: Float32Array<ArrayBuffer>;
dataId: number;
resolution: Resolution;
resolutionExponent: ResolutionExponent;
xSize: GridSize;
zSize: GridSize;
u6: number;
u7: number;
u8: number;
u9: number;
parse(rs: Stream): /*elided*/ any;
toBuffer(): Uint8Array<ArrayBufferLike>;
get(x: number, z: number): number;
set(x: number, z: number, value: number): /*elided*/ any;
clear(value?: number): void;
createProxy(): /*elided*/ any;
};
[kFileType]: 1236919818;
[kFileTypeArray]: 1236919818;
};
export declare class SimGridFloat32 extends SimGridFloat32_base {
}
export {};