arx-convert
Version:
Converts various Arx Fatalis formats to JSON or YAML and back
42 lines (41 loc) • 1.25 kB
TypeScript
import { type ArxKey } from './Key.js';
import { BinaryIO } from '../common/BinaryIO.js';
/**
* @see https://github.com/arx/ArxLibertatis/blob/1.2.1/src/audio/Ambiance.cpp#L230
*/
export declare enum ArxTrackFlags {
None = 0,
Position = 1,
Master = 4,
Paused = 16,
Prefetched = 32
}
export type ArxTrack = {
filename: string;
flags: ArxTrackFlags;
keys: ArxKey[];
};
export declare class Track {
/**
* @see https://github.com/arx/ArxLibertatis/blob/1.2.1/src/audio/Ambiance.cpp#L531
*/
static readFrom(binary: BinaryIO<ArrayBufferLike>, isNewerVersion: boolean): ArxTrack;
static accumulateFrom(track: ArxTrack): ArrayBuffer;
/**
* from: SFX\\AMBIANCE\\LOOP_GOBLIN_MAIN.WAV
* to: sfx/ambiance/loop_goblin_main.wav
*
* from: SFX\\AMBIANCE\\FX_ADDON\\SCREAM3.WAV
* to: sfx/ambiance/fx_addon/scream3.wav
*
* from: Sfx\Strange_noise10c.wav
* to: sfc/strange_noise10c.wav
*/
static toRelativePath(filename: string): string;
/**
* from: srx/ambiance/loop_goblin_main.wav
* to: sfx\\ambiance\\loop_goblin_main.wav
*/
static toAbsolutePath(filename: string): string;
static sizeOf(track: ArxTrack): number;
}