UNPKG

mdx-m3-viewer

Version:

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

39 lines (32 loc) 916 B
import BinaryStream from '../../common/binarystream'; import TokenStream from './tokenstream'; /** * A face effect. */ export default class FaceEffect { type: string = ''; path: string = ''; readMdx(stream: BinaryStream) { this.type = stream.read(80); this.path = stream.read(260); } writeMdx(stream: BinaryStream) { stream.skip(80 - stream.write(this.type)); stream.skip(260 - stream.write(this.path)); } readMdl(stream: TokenStream) { this.type = stream.read(); for (let token of stream.readBlock()) { if (token === 'Path') { this.path = stream.read(); } else { throw new Error(`Unknown token in FaceEffect: "${token}"`); } } } writeMdl(stream: TokenStream) { stream.startObjectBlock('FaceFX', this.type); stream.writeStringAttrib('Path', this.path); stream.endBlock(); } }