summit/frontend/node_modules/three-stdlib/loaders/lwo/LWO2Parser.cjs.map

1 line
17 KiB
Plaintext
Raw Normal View History

2025-12-08 16:31:30 +00:00
{"version":3,"file":"LWO2Parser.cjs","sources":["../../../src/loaders/lwo/LWO2Parser.js"],"sourcesContent":["class LWO2Parser {\n constructor(IFFParser) {\n this.IFF = IFFParser\n }\n\n parseBlock() {\n this.IFF.debugger.offset = this.IFF.reader.offset\n this.IFF.debugger.closeForms()\n\n const blockID = this.IFF.reader.getIDTag()\n let length = this.IFF.reader.getUint32() // size of data in bytes\n if (length > this.IFF.reader.dv.byteLength - this.IFF.reader.offset) {\n this.IFF.reader.offset -= 4\n length = this.IFF.reader.getUint16()\n }\n\n this.IFF.debugger.dataOffset = this.IFF.reader.offset\n this.IFF.debugger.length = length\n\n // Data types may be found in either LWO2 OR LWO3 spec\n switch (blockID) {\n case 'FORM': // form blocks may consist of sub -chunks or sub-forms\n this.IFF.parseForm(length)\n break\n\n // SKIPPED CHUNKS\n // if break; is called directly, the position in the lwoTree is not created\n // any sub chunks and forms are added to the parent form instead\n // MISC skipped\n case 'ICON': // Thumbnail Icon Image\n case 'VMPA': // Vertex Map Parameter\n case 'BBOX': // bounding box\n // case 'VMMD':\n // case 'VTYP':\n\n // normal maps can be specified, normally on models imported from other applications. Currently ignored\n case 'NORM':\n\n // ENVL FORM skipped\n case 'PRE ':\n case 'POST':\n case 'KEY ':\n case 'SPAN':\n\n // CLIP FORM skipped\n case 'TIME':\n case 'CLRS':\n case 'CLRA':\n case 'FILT':\n case 'DITH':\n case 'CONT':\n case 'BRIT':\n case 'SATR':\n case 'HUE ':\n case 'GAMM':\n case 'NEGA':\n case 'IFLT':\n case 'PFLT':\n\n // Image Map Layer skipped\n case 'PROJ':\n case 'AXIS':\n case 'AAST':\n case 'PIXB':\n case 'AUVO':\n case 'STCK':\n\n // Procedural Textures skipped\n case 'PROC':\n case 'VALU':\n case 'FUNC':\n\n // Gradient Textures skipped\n case 'PNAM':\n case 'INAM':\n case 'GRST':\n case 'GREN':\n case 'GRPT':\n case 'FKEY':\n case 'IKEY':\n\n // Texture Mapping Form skipped\n case 'CSYS':\n\n // Surface CHUNKs skipped\n case 'OPAQ': // top level 'opacity' checkbox\n case 'CMAP': // clip map\n\n // Surface node CHUNKS skipped\n // These mainly specify the node editor setup in LW\n case 'NLOC':\n case 'NZOM':\n case 'NVER':\n case 'NSRV':\n case 'NVSK': // unknown\n case 'NCRD':\n case 'WRPW': // image wrap w ( for cylindrical and spherical projections)\n case 'WRPH': // image wrap h\n case 'NMOD':\n case 'NSEL':\n case 'NPRW':\n case 'NPLA':\n case 'NODS':\n case 'VERS':\n case 'ENUM':\n case 'TAG ':\n case 'OPAC':\n\n // Car Material CHUNKS\n case 'CGMD':\n case 'CGTY':\n case 'CGST':\n case 'CGEN':\n case 'CGTS':\n case 'CGTE':\n case 'OSMP':\n case 'OMDE':\n case 'OUTR':\n case 'FLAG':\n\n case 'TRNL':\n case 'GLOW':\n case 'GVAL': // glow intensity\n case 'SHRP':\n case 'RFOP':\n case 'RSAN':\n case 'TROP':\n case 'RBLR':\n case 'TBLR':\n case 'CLRH':\n case 'CLRF':\n case 'ADTR':\n case 'LINE':\n case 'ALPH':\n case 'VCOL':\n case 'ENAB':\n this.IFF.debugger.skipped = true\n this.IFF.reader.skip(length)\n break\n\n case 'SURF':\n this.IFF.parseSurfaceLwo2(length)\n break\n\n case 'CLIP':\n this.IFF.parseClipLwo2(length)\n break\n\n // Texture node chunks (not in spec)\n case 'IPIX': // usePixelBlending\n case 'IMIP': // useMipMaps\n case 'IMOD': // imageBlendingMode\n case 'AMOD': // unknown\n case 'IINV': // imageInvertAlpha\n case 'INCR': // imageInvertColor\n case 'IAXS': // imageAxis ( for non-UV maps)\n