UNPKG

arx-convert

Version:

Converts various Arx Fatalis formats to JSON or YAML and back

38 lines 1.35 kB
import { BinaryIO } from '../common/BinaryIO.js'; export class TextureContainer { static readFrom(binary) { const id = binary.readInt32(); binary.readInt32(); // temp - always 0 const filename = TextureContainer.toRelativePath(binary.readString(256)); return { id, filename, }; } static accumulateFrom(textureContainer) { const buffer = new ArrayBuffer(TextureContainer.sizeOf()); const binary = new BinaryIO(buffer); binary.writeInt32(textureContainer.id); binary.writeInt32(0); // temp binary.writeString(TextureContainer.toAbsolutePath(textureContainer.filename), 256); return buffer; } /** * from: GRAPH\\OBJ3D\\TEXTURES\\[STONE]_HUMAN_GROUND_WET.BMP * to: [stone]_human_ground_wet.bmp */ static toRelativePath(filename) { return filename.toLowerCase().replace('graph\\obj3d\\textures\\', ''); } /** * from: [stone]_human_ground_wet.bmp * to: graph\\obj3d\\textures\\[stone]_human_ground_wet.bmp */ static toAbsolutePath(filename) { return 'graph\\obj3d\\textures\\' + filename.toLowerCase(); } static sizeOf() { return BinaryIO.sizeOfInt32Array(2) + BinaryIO.sizeOfString(256); } } //# sourceMappingURL=TextureContainer.js.map