arx-convert
Version:
Converts various Arx Fatalis formats to JSON or YAML and back
21 lines • 795 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 {
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