UNPKG

arx-convert

Version:

Converts various Arx Fatalis formats to JSON or YAML and back

27 lines 959 B
import { AMB_VERSION_1003, AMB_VERSION_1002 } from './constants.js'; import { BinaryIO } from '../common/BinaryIO.js'; export class AmbHeader { /** * @see https://github.com/arx/ArxLibertatis/blob/1.2.1/src/audio/Ambiance.cpp#L627 */ static readFrom(binary) { binary.readString(4); // identifier - always "GAMB" const version = binary.readUint32(); return { isNewerVersion: version >= AMB_VERSION_1002, numberOfTracks: binary.readUint32(), }; } static accumulateFrom(json) { const buffer = new ArrayBuffer(AmbHeader.sizeOf()); const binary = new BinaryIO(buffer); binary.writeString('GAMB', 4); binary.writeInt32(AMB_VERSION_1003); binary.writeInt32(json.tracks.length); return buffer; } static sizeOf() { return BinaryIO.sizeOfString(4) + BinaryIO.sizeOfInt32() * 2; } } //# sourceMappingURL=AmbHeader.js.map