arx-convert
Version:
Converts various Arx Fatalis formats to JSON or YAML and back
27 lines • 1.01 kB
JavaScript
import { BinaryIO } from '../common/BinaryIO.js';
import { PortalPolygon } from './PortalPolygon.js';
export class Portal {
static readFrom(binary) {
return {
polygon: PortalPolygon.readFrom(binary),
room1: binary.readInt32(), // facing normal
room2: binary.readInt32(),
useportal: binary.readInt16(),
paddy: binary.readInt16(),
};
}
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(portal.paddy);
return buffer;
}
static sizeOf() {
return PortalPolygon.sizeOf() + BinaryIO.sizeOfInt32Array(2) + BinaryIO.sizeOfInt16Array(2);
}
}
//# sourceMappingURL=Portal.js.map