UNPKG

mdx-m3-viewer

Version:

A browser WebGL model viewer. Mainly focused on models of the games Warcraft 3 and Starcraft 2.

161 lines (147 loc) 3.92 kB
/** * A pixel animation reference. */ export class M3ParserPixelAnimationReference { /** * @param {BinaryReader} reader */ constructor(reader) { /** @member {number} */ this.interpolationType = reader.readUint16(); /** @member {number} */ this.animFlags = reader.readUint16(); /** @member {number} */ this.animId = reader.readUint32(); /** @member {Uint8Array} */ this.initValue = reader.readUint8Array(4); /** @member {Uint8Array} */ this.nullValue = reader.readUint8Array(4); reader.skip(4); // ? } } /** * A uint16 animation reference. */ export class M3ParserUint16AnimationReference { /** * @param {BinaryReader} reader */ constructor(reader) { /** @member {number} */ this.interpolationType = reader.readUint16(); /** @member {number} */ this.animFlags = reader.readUint16(); /** @member {number} */ this.animId = reader.readUint32(); /** @member {number} */ this.initValue = reader.readUint16(); /** @member {number} */ this.nullValue = reader.readUint16(); reader.skip(4); // ? } } /** * A uint32 animation reference. */ export class M3ParserUint32AnimationReference { /** * @param {BinaryReader} reader */ constructor(reader) { /** @member {number} */ this.interpolationType = reader.readUint16(); /** @member {number} */ this.animFlags = reader.readUint16(); /** @member {number} */ this.animId = reader.readUint32(); /** @member {number} */ this.initValue = reader.readUint32(); /** @member {number} */ this.nullValue = reader.readUint32(); reader.skip(4); // ? } } /** * A float32 animation reference. */ export class M3ParserFloat32AnimationReference { /** * @param {BinaryReader} reader */ constructor(reader) { /** @member {number} */ this.interpolationType = reader.readUint16(); /** @member {number} */ this.animFlags = reader.readUint16(); /** @member {number} */ this.animId = reader.readUint32(); /** @member {number} */ this.initValue = reader.readFloat32(); /** @member {number} */ this.nullValue = reader.readFloat32(); reader.skip(4); // ? } } /** * A vec2 animation reference. */ export class M3ParserVector2AnimationReference { /** * @param {BinaryReader} reader */ constructor(reader) { /** @member {number} */ this.interpolationType = reader.readUint16(); /** @member {number} */ this.animFlags = reader.readUint16(); /** @member {number} */ this.animId = reader.readUint32(); /** @member {Float32Array} */ this.initValue = reader.readFloat32Array(2); /** @member {Float32Array} */ this.nullValue = reader.readFloat32Array(2); reader.skip(4); // ? } } /** * A vec3 animation reference. */ export class M3ParserVector3AnimationReference { /** * @param {BinaryReader} reader */ constructor(reader) { /** @member {number} */ this.interpolationType = reader.readUint16(); /** @member {number} */ this.animFlags = reader.readUint16(); /** @member {number} */ this.animId = reader.readUint32(); /** @member {Float32Array} */ this.initValue = reader.readFloat32Array(3); /** @member {Float32Array} */ this.nullValue = reader.readFloat32Array(3); reader.skip(4); // ? } } /** * A quat animation reference. */ export class M3ParserVector4AnimationReference { /** * @param {BinaryReader} reader */ constructor(reader) { /** @member {number} */ this.interpolationType = reader.readUint16(); /** @member {number} */ this.animFlags = reader.readUint16(); /** @member {number} */ this.animId = reader.readUint32(); /** @member {Float32Array} */ this.initValue = reader.readFloat32Array(4); /** @member {Float32Array} */ this.nullValue = reader.readFloat32Array(4); reader.skip(4); // ? } }