{"name":"DirectX 3D File","scopeName":"source.direct-x","patterns":[{"include":"#main"}],"repository":{"header":{"name":"meta.signature.header.direct-x","match":"^\\s*(xof)\\s*(\\d+)\\s*(txt|bin|tzip|bzip)\\s*(.*)","captures":{"1":{"name":"keyword.control.magic-number.direct-x"},"2":{"name":"constant.numeric.integer.int.version-number.direct-x"},"3":{"name":"storage.type.var.format.direct-x"},"4":{"patterns":[{"include":"etc"}]}}},"keywords":{"name":"keyword.operator.reserved.direct-x","match":"(?ix) \\b\n(ARRAY|BINARY_RESOURCE|BINARY|CHAR|CSTRING|DOUBLE|DWORD|FLOAT\n|SDWORD|STRING|SWORD|TEMPLATE|UCHAR|ULONGLONG|UNICODE|WORD)\\b"},"main":{"patterns":[{"include":"#header"},{"include":"#template"},{"include":"#uuid"},{"include":"#keywords"},{"include":"#templateTypes"},{"include":"#name"},{"include":"etc#ellipsis"},{"include":"etc#commentHash"},{"include":"etc#commentSlash"},{"include":"etc"}]},"name":{"name":"variable.other.direct-x","match":"(?!\\d)\\w+"},"template":{"name":"meta.template.direct-x","begin":"\\b([A-Za-z_]\\w*)\\s+((?!\\d)\\w+)\\s*({)","end":"}","patterns":[{"include":"#main"}],"beginCaptures":{"1":{"name":"storage.type.function.template.direct-x"},"2":{"name":"entity.name.function.direct-x"},"3":{"name":"punctuation.section.scope.begin.direct-x"}},"endCaptures":{"0":{"name":"punctuation.section.scope.end.direct-x"}}},"templateTypes":{"name":"storage.type.var.template.direct-x","match":"(?ix) \\b\n(AnimTicksPerSecond|AnimationKey|AnimationOptions|AnimationSet|Animation|Boolean2d|Boolean|ColorRGBA?|CompressedAnimationSet\n|Coords2d|DeclData|EffectDWord|EffectFloats|EffectInstance|EffectParamDWord|EffectParamFloats|EffectParamString|EffectString\n|FVFData|FaceAdjacency|FloatKeys|FrameTransformMatrix|Frame|Guid|IndexedColor|MaterialWrap|Material|Matrix4x4|MeshFaceWraps\n|MeshFace|MeshMaterialList|MeshNormals|MeshTextureCoords|MeshVertexColors|Mesh|PMAttributeRange|PMInfo|PMVSplitRecord\n|PatchMesh9|PatchMesh|Patch|SkinWeights|Templates|TextureFilename|TimedFloatKeys|Vector|VertexDuplicationIndices\n|VertexElement|XSkinMeshHeader) \\b"},"uuid":{"name":"meta.uuid.direct-x","match":"(\u003c)([-\\sA-Fa-f0-9]+)(\u003e)","captures":{"1":{"patterns":[{"include":"etc#bracket"}]},"2":{"patterns":[{"include":"etc#dash"},{"include":"etc#hexNoSign"}]},"3":{"patterns":[{"include":"etc#bracket"}]}}}}}
