UNPKG

arx-convert

Version:

Converts various Arx Fatalis formats to JSON or YAML and back

28 lines 1.06 kB
import { BinaryIO } from '../common/BinaryIO.js'; import { PortalPolygon } from './PortalPolygon.js'; export class Portal { static readFrom(binary) { const data = { polygon: PortalPolygon.readFrom(binary), room1: binary.readInt32(), // facing normal room2: binary.readInt32(), usePortal: binary.readInt16(), }; binary.readInt16(); // paddy - unused by Arx, always 0 return data; } static accumulateFrom(portal, levelIdx) { const buffer = new ArrayBuffer(Portal.sizeOf()); const binary = new BinaryIO(buffer); binary.writeBuffer(PortalPolygon.accumulateFrom(portal.polygon, levelIdx)); binary.writeInt32(portal.room1); binary.writeInt32(portal.room2); binary.writeInt16(portal.usePortal); binary.writeInt16(0); // paddy return buffer; } static sizeOf() { return PortalPolygon.sizeOf() + BinaryIO.sizeOfInt32Array(2) + BinaryIO.sizeOfInt16Array(2); } } //# sourceMappingURL=Portal.js.map