UNPKG

anomaly-packer

Version:

Anomaly Packer is a utility package for STALKER Anomaly creators to help them develop addons at speed with TypeScript's type-safety and game-oriented build tools.

91 lines (86 loc) 5.78 kB
/** @noSelfInFile */ import type { Section } from 'anomaly-packer' declare global { namespace utils_data { export function angle_diff(a1: vector, a2: vector): number export function angle_left(dir1: vector, dir2: vector): boolean export function angle_left_xz(dir1: vector, dir2: vector): boolean export function cfg_get_string(char_ini: system_ini, section: Section.Item, field: string, object: CGameObject, mandatory: boolean, gulag_name?: string, default_val?: string): string | undefined /** Collects a section's lines: by default an array of line ids; with `keytable`, a `{ id: value }` map (`true` for empty values). */ export function collect_section<KT extends boolean = false>(ini: system_ini, section: Section.Item, keytable?: KT): KT extends true ? Record<string, string | true> : string[] export function collect_sections(ini: system_ini, sections: string[]): LuaMultiReturn<[AnyTable, AnyTable]> export function collect_translations(st: string, is_translated?: boolean): string[] | false export function CTime_from_table(t: AnyTable): Time export function CTime_to_table(ct: Time): { Y: number; M: number; D: number; h: number; m: number; s: number; ms: number } export function CTime2table(gt: Time): AnyTable export function CTimeAddSec(ct: Time, sec: number): number export function CTimeToSec(ct: Time): number export function debug_write(output: string, trace?: boolean): void export function deg2rad(d: number): number export function file_to_table(fname: string, parent?: AnyTable, simple?: boolean): AnyTable export function findfunction(x: string, tbl: AnyTable): any export function float2hex(n: number): number export function fsgame_append(str: string, ap: string): void export function fspath(str: string): string export function get_comment(str: string): string export function get_ext(s: string): string export function get_fsgame(): AnyTable export function get_path(str: string, sep?: string): string | undefined export function get_scheme_by_section(section: Section.Item): string | undefined export function hex2string(str: string): string export function mean_random(index_min: number, index_max: number, mean_index?: number, left_power?: number, right_power?: number, flag?: boolean): number | undefined export function no_need_to_rotate(npc: CGameObject, target_pos: vector): boolean export function no_need_to_rotate_xz(npc: CGameObject, target_pos: vector): boolean export function on_game_start(): void export function pairsByKeys(t: AnyTable, f?: (a: any, b: any) => boolean): any export function parse_condlist(src: string): AnyTable export function parse_data(npc: CGameObject, s?: string): AnyTable export function parse_data_1v(npc: CGameObject, s?: string): AnyTable export function parse_ini_section_to_array(ini: system_ini, section: Section.Item): AnyTable export function parse_ini_section_to_bool_array(ini: system_ini, section: Section.Item): Record<string, boolean> export function parse_list_ex(ini: system_ini, key: string, val: string, convert?: boolean): AnyTable export function parse_params(params: string): string[] export function parse_string_keys(str: string, tbl: AnyTable, key?: string): string export function parse_syn_data(npc: CGameObject, s?: string): AnyTable export function pos_in_rect(p: vector, r: AnyTable): boolean export function prefix_r_string(ini: system_ini, sec: Section.Item, key: string, prefix?: string): string | undefined export function print_dbg(...args: any[]): void export function print_packet_data(data: net_packet): void export function print_table(node: AnyTable, header?: string, format_only?: boolean): string | void export function r_CTime(p: net_packet, caller?: string): Time | undefined export function rad2deg(r: number): number export function read_from_ini(ini: system_ini, section: Section.Item, line: string, var_type: 'bool' | 'string' | 'float' | string, _default?: any, caller?: string): any export function startsWith(text: string, prefix: string): boolean export function string_to_vector(str: string): vector export function string2hex(str: string): string export function table2CTime(t: AnyTable): Time | undefined export function to_str(what: any): string export function trim_comment(str: string): string export function vector_cmp(a: vector, b: vector): boolean export function vector_cmp_prec(a: vector, b: vector, d: number): boolean export function vector_to_string(vec: vector): string export function w_CTime(p: net_packet, t?: Time, caller?: string): void export function w_stpk(stpk: net_packet, typ: string, n: any, info: InfoPortion): void } /** @customConstructor cfg_file */ class cfg_file { directory: TODO // @generated field — refine type fname: TODO // @generated field — refine type insert: TODO // @generated field — refine type root: TODO // @generated field — refine type constructor(fname: string, simple_mode?: boolean) GetValue(sec: Section.Item, key: string, typ?: number | string, def?: any): any GetKeys(sec: Section.Item): string[] SetValue(sec: Section.Item, key: string, val: any): void ClearValue(sec: Section.Item, key: string): void SectionExist(sec: Section.Item): boolean KeyExist(sec: Section.Item, key: string): boolean SaveExt(): void Save(): void } namespace utils_data { /** Anomaly `class "cfg_file"` is also reachable on the `utils_data` script namespace; typed as * the instance so its methods can be captured/overridden (`utils_data.cfg_file.Method = ...`). */ export const cfg_file: cfg_file } }