teeworlds
Version:
Library for (ingame) teeworlds bots.
115 lines (114 loc) • 2.65 kB
TypeScript
export declare enum TileId {
AIR = 0,
SOLID = 1,
DEATH = 2,
NOHOOK = 3,
NOLASER = 4,
THROUGH_CUT = 5,
THROUGH = 6,
JUMP = 7,
FREEZE = 9,
TELEINEVIL = 10,
UNFREEZE = 11,
DFREEZE = 12,
DUNFREEZE = 13,
TELEINWEAPON = 14,
TELEINHOOK = 15,
WALLJUMP = 16,
EHOOK_ENABLE = 17,
EHOOK_DISABLE = 18,
HIT_ENABLE = 19,
HIT_DISABLE = 20,
SOLO_ENABLE = 21,
SOLO_DISABLE = 22
}
export declare enum TileFlags {
FLIP_X = 1,
FLIP_Y = 2,
OPAQUE = 4,
ROTATE = 8
}
export declare enum TilemapLayerType {
TILES = 0,
GAME = 1,
TELE = 2,
SPEEDUP = 4,
FRONT = 8,
SWITCH = 16,
TUNE = 32
}
export interface Tile {
id: number;
flags: number;
}
export interface TeleTile {
number: number;
id: number;
}
export interface SpeedupTile {
force: number;
max_speed: number;
id: number;
angle: number;
}
export interface SwitchTile {
number: number;
id: number;
flags: number;
delay: number;
}
export interface TuneTile {
number: number;
id: number;
}
export interface TileLayer {
width: number;
height: number;
layer_type: TilemapLayerType;
name: string;
detail: boolean;
tiles?: Tile[][];
tele_tiles?: TeleTile[][];
speedup_tiles?: SpeedupTile[][];
switch_tiles?: SwitchTile[][];
tune_tiles?: TuneTile[][];
}
export interface LayerGroup {
name: string;
x_offset: number;
y_offset: number;
x_parallax: number;
y_parallax: number;
clipping: boolean;
layers: TileLayer[];
}
export interface MapInfo {
datafile_version: number;
groups: LayerGroup[];
game_layer?: TileLayer;
front_layer?: TileLayer;
tele_layer?: TileLayer;
}
export declare class TwMapParser {
static parse(buf: Buffer): MapInfo;
static get_tile(map: MapInfo, x: number, y: number): Tile | undefined;
static is_solid(tile?: Tile): boolean;
static is_nohook(tile?: Tile): boolean;
static is_freeze(tile?: Tile): boolean;
static is_dfreeze(tile?: Tile): boolean;
static is_hookthrough(tile?: Tile): boolean;
static is_death(tile?: Tile): boolean;
static is_air(tile?: Tile): boolean;
static tile_name(id: number): string;
private static parse_datafile;
private static parse_map;
private static parse_tiles;
private static parse_tele_tiles;
private static parse_speedup_tiles;
private static parse_switch_tiles;
private static parse_tune_tiles;
private static get_data_index;
private static decode_i32_string;
private static flat_to_2d;
}
export default TwMapParser;