arx-convert
Version:
Converts various Arx Fatalis formats to JSON or YAML and back
30 lines • 1.06 kB
JavaScript
import { BinaryIO } from '../common/BinaryIO.js';
export class Group {
static readFrom(binary) {
const data = {
name: binary.readString(256),
origin: binary.readUint32(),
numberOfIndices: binary.readInt32(),
};
binary.readInt32(); // indexes - ignored by Arx
return {
...data,
blobShadowSize: binary.readFloat32(),
indices: [], // will get filled separately
};
}
static accumulateFrom(group) {
const buffer = new ArrayBuffer(Group.sizeOf());
const binary = new BinaryIO(buffer);
binary.writeString(group.name, 256);
binary.writeUint32(group.origin);
binary.writeInt32(group.indices.length);
binary.writeInt32(0); // indexes
binary.writeFloat32(group.blobShadowSize);
return buffer;
}
static sizeOf() {
return BinaryIO.sizeOfString(256) + BinaryIO.sizeOfUint32() + 2 * BinaryIO.sizeOfInt32() + BinaryIO.sizeOfFloat32();
}
}
//# sourceMappingURL=Group.js.map