arx-convert
Version:
Converts various Arx Fatalis formats to JSON or YAML and back
22 lines • 871 B
JavaScript
import { AmbHeader } from './AmbHeader.js';
import { Track } from './Track.js';
import { BinaryIO } from '../common/BinaryIO.js';
import { concatArrayBuffers, times } from '../common/helpers.js';
export class AMB {
static load(decompressedFile) {
const file = new BinaryIO(decompressedFile);
const { numberOfTracks, isNewerVersion } = AmbHeader.readFrom(file);
return {
$schema: 'https://arx-tools.github.io/schemas/amb.schema.json',
tracks: times(() => {
return Track.readFrom(file, isNewerVersion);
}, numberOfTracks),
};
}
static save(json) {
const header = AmbHeader.accumulateFrom(json);
const tracks = concatArrayBuffers(json.tracks.map(Track.accumulateFrom));
return concatArrayBuffers([header, tracks]);
}
}
//# sourceMappingURL=AMB.js.map