UNPKG

arx-convert

Version:

Converts various Arx Fatalis formats to JSON or YAML and back

24 lines 981 B
import { BinaryIO } from '../common/BinaryIO.js'; import { concatArrayBuffers, times } from '../common/helpers.js'; import { EPData } from './EPData.js'; import { RoomData } from './RoomData.js'; export class Room { static readFrom(binary) { const { numberOfPortals, numberOfPolygons } = RoomData.readFrom(binary); return { portals: binary.readInt32Array(numberOfPortals), polygons: times(() => { return EPData.readFrom(binary); }, numberOfPolygons), }; } static accumulateFrom(room) { const roomData = RoomData.accumulateFrom(room); const portals = new ArrayBuffer(room.portals.length * 4); const binary = new BinaryIO(portals); binary.writeInt32Array(room.portals); const polygons = concatArrayBuffers(room.polygons.map(EPData.accumulateFrom)); return concatArrayBuffers([roomData, portals, polygons]); } } //# sourceMappingURL=Room.js.map