UNPKG

teeworlds

Version:

Library for (ingame) teeworlds bots.

115 lines (114 loc) 2.65 kB
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;