public NiPixelData(BinaryReader reader, NiFile niFile) : base(reader, niFile) { Pallet = new NiRef <NiPalette>(niFile, reader.ReadInt32()); MipMapCount = reader.ReadUInt32(); BytesPerPixel = reader.ReadUInt32(); MipMaps = new NiMipMap[MipMapCount]; for (var i = 0; i < MipMapCount; i++) { MipMaps[i] = new NiMipMap(reader, niFile); } PixelCount = reader.ReadUInt32(); FacesCount = reader.ReadUInt32(); PixelData = new byte[PixelCount]; for (var i = 0; i < PixelCount; i++) { PixelData[i] = reader.ReadByte(); } }
public NiPersistentSrcTextureRendererData(BinaryReader reader, NiFile niFile) : base(reader, niFile) { Palette = new NiRef <NiPalette>(niFile, reader.ReadInt32()); MipMapCount = reader.ReadUInt32(); BytesPerPixel = reader.ReadUInt32(); MipMaps = new NiMipMap[MipMapCount]; for (var i = 0; i < MipMapCount; i++) { MipMaps[i] = new NiMipMap(reader, niFile); } PixelCount = reader.ReadUInt32(); PadPixelCount = reader.ReadUInt32(); FacesCount = reader.ReadUInt32(); Platform = (PlatformId)reader.ReadUInt32(); PixelData = new byte[PixelCount]; for (var i = 0; i < PixelCount; i++) { PixelData[i] = reader.ReadByte(); } }
public NiSourceTexture(BinaryReader reader, NiFile file) : base(reader, file) { UseExternal = reader.ReadByte(); switch (UseExternal) { case 1: FilePath = file.Header.Strings[reader.ReadUInt32()]; UnknownLink = new NiRef <NiObject>(file, reader.ReadInt32()); break; case 0: OriginalFilePath = file.Header.Strings[reader.ReadUInt32()]; PixelData = new NiRef <NiPixelFormat>(file, reader.ReadInt32()); break; default: throw new ArgumentOutOfRangeException($"{UseExternal} is not a vaild source texture option."); } FormatPrefs = new NiFormatPrefs(reader, file); IsStatic = reader.ReadByte(); PersistRenderData = new NiBoolean(reader); }
public NiPersistentSrcTextureRendererData(BinaryReader reader, NiFile niFile) : base(reader, niFile) { PixelCount = reader.ReadUInt32(); Palette = new NiRef <NiPalette>(niFile, reader.ReadInt32()); FacesCount = reader.ReadUInt32(); //MipMapCount = reader.ReadUInt32(); BytesPerPixel = reader.ReadUInt32(); //MipMaps = new NiMipMap[MipMapCount]; /* * for (var i = 0; i < MipMapCount; i++) * { * MipMaps[i] = new NiMipMap(reader, niFile); * } */ //Platform = (PlatformId) reader.ReadUInt32(); PixelData = new byte[FacesCount, PixelCount]; for (var i = 0; i < FacesCount; i++) { for (var j = 0; j < PixelCount; j++) { PixelData[i, j] = reader.ReadByte(); } } }
public NiCamera(BinaryReader reader, NiFile file) : base(reader, file) { CameraFlags = reader.ReadUInt16(); FrustumLeft = reader.ReadSingle(); FrustumRight = reader.ReadSingle(); FrustumTop = reader.ReadSingle(); FrustumBottom = reader.ReadSingle(); FrustumNear = reader.ReadSingle(); FrustumFar = reader.ReadSingle(); UseOrthographicProjection = new NiBoolean(reader); ViewportLeft = reader.ReadSingle(); ViewportRight = reader.ReadSingle(); ViewportTop = reader.ReadSingle(); ViewportBottom = reader.ReadSingle(); LODAdjust = reader.ReadSingle(); Scene = new NiRef <NiAVObject>(file, reader.ReadInt32()); ScreenPolygonsCount = reader.ReadUInt32(); ScreenTexturesCount = reader.ReadUInt32(); }
public NiGeometry(BinaryReader reader, NiFile file) : base(reader, file) { Data = new NiRef <NiGeometryData>(file, reader.ReadInt32()); SkinInstance = new NiRef <NiSkinInstance>(file, reader.ReadInt32()); MaterialData = new NiMaterialData(reader, file); }
public NiSkinInstance(BinaryReader reader, NiFile niFile) : base(reader, niFile) { SkinningData = new NiRef <NiSkinData>(niFile, reader.ReadInt32()); SkinPartition = new NiRef <NiSkinPartition>(niFile, reader.ReadInt32()); Root = new NiRef <NiNode>(niFile, reader.ReadInt32()); BonesCount = reader.ReadUInt32(); Bones = new NiPtr <NiNode> [BonesCount]; for (var i = 0; i < BonesCount; i++) { Bones[i] = new NiPtr <NiNode>(niFile, reader.ReadInt32()); } }
public NiTimeController(BinaryReader reader, NiFile niFile) : base(reader, niFile) { Next = new NiRef <NiTimeController>(niFile, reader.ReadInt32()); Flags = reader.ReadInt16(); Frequency = reader.ReadSingle(); Phase = reader.ReadSingle(); StartTime = reader.ReadSingle(); StopTime = reader.ReadSingle(); Target = new NiPtr <NiObjectNet>(niFile, reader.ReadInt32()); }
public NiImage(BinaryReader reader, NiFile niFile) : base(reader, niFile) { UseExternal = reader.ReadByte(); switch (UseExternal) { case 0: FileName = niFile.Header.Strings[reader.ReadUInt32()]; break; case 1: RawImage = new NiRef <NiRawImageData>(niFile, reader.ReadInt32()); break; default: throw new ArgumentOutOfRangeException($"{UseExternal} is not a vaild image setting."); } Unknown = reader.ReadUInt32(); UnknownTwo = reader.ReadSingle(); }
public NiTexDesc(BinaryReader reader, NiFile niFile) : base(reader, niFile) { Source = new NiRef <NiSourceTexture>(niFile, reader.ReadInt32()); Flags = reader.ReadInt16(); HasTextureTransform = new NiBoolean(reader); if (!HasTextureTransform) { return; } Translation = new NiTexCoord(reader, niFile); Scale = new NiTexCoord(reader, niFile); Rotation = reader.ReadSingle(); Method = (TransformMethod)reader.ReadUInt32(); Center = new NiTexCoord(reader, niFile); }
public NiPoint3Interpolator(BinaryReader reader, NiFile niFile) : base(reader, niFile) { Value = new NiVector3(reader, niFile); Data = new NiRef <NiPosData>(niFile, reader.ReadInt32()); }
public NiBoolInterpolator(BinaryReader reader, NiFile niFile) : base(reader, niFile) { Value = new NiBoolean(reader); Data = new NiRef <NiBoolData>(niFile, reader.ReadInt32()); }
public NiGeometryData(BinaryReader reader, NiFile niFile) : base(reader, niFile) { if ((int)niFile.Header.NifVersion >= 0x0A020000) { GroupId = reader.ReadInt32(); } VerticesCount = reader.ReadUInt16(); if ((int)niFile.Header.NifVersion >= 0x0A010000) { KeepFlags = reader.ReadByte(); CompressFlags = reader.ReadByte(); } HasVertices = new NiBoolean(reader); if (HasVertices) { Vertices = new NiVector3[VerticesCount]; for (uint i = 0; i < VerticesCount; i++) { Vertices[i] = new NiVector3(reader, niFile); } } if ((int)niFile.Header.NifVersion >= 0x0A000100 && !((int)niFile.Header.NifVersion >= 0x14020007 && niFile.Header.UserVersion >= 11)) { NumUvSets = reader.ReadUInt16(); } HasNormals = new NiBoolean(reader); if (HasNormals) { Normals = new NiVector3[VerticesCount]; for (uint i = 0; i < VerticesCount; i++) { Normals[i] = new NiVector3(reader, niFile); } } if ((int)niFile.Header.NifVersion >= 0x0A010000) { if (HasNormals && (NumUvSets & 61440) != 0) { Tangents = new NiVector3[VerticesCount]; for (uint i = 0; i < VerticesCount; i++) { Tangents[i] = new NiVector3(reader, niFile); } BitTangents = new NiVector3[VerticesCount]; for (uint i = 0; i < VerticesCount; i++) { BitTangents[i] = new NiVector3(reader, niFile); } } } Center = new NiVector3(reader, niFile); Radius = reader.ReadSingle(); HasVertexColors = new NiBoolean(reader); if (HasVertexColors) { VertexColors = new NiColor4[VerticesCount]; for (uint i = 0; i < VerticesCount; i++) { VertexColors[i] = new NiColor4(reader, niFile); } } if ((int)niFile.Header.NifVersion <= 0x04020200) { NumUvSets = reader.ReadUInt16(); } if ((int)niFile.Header.NifVersion <= 0x04000002) { HasUv = new NiBoolean(reader); } Uv = new NiTexCoord[(NumUvSets & 63) | (0 & 1)][]; for (uint i = 0; i < Uv.Length; i++) { Uv[i] = new NiTexCoord[VerticesCount]; for (uint j = 0; j < VerticesCount; j++) { Uv[i][j] = new NiTexCoord(reader, niFile); } } if ((int)niFile.Header.NifVersion >= 0x0A000100 && niFile.Header.UserVersion < 12) { Consistency = (ConsistencyType)reader.ReadUInt16(); } if ((int)niFile.Header.NifVersion >= 0x14000004 && niFile.Header.UserVersion < 12) { var blockNum = reader.ReadUInt32(); AdditionData = new NiRef <AbstractAdditionalGeometryData>(niFile, (int)blockNum); } }
public NiSingleInterpController(BinaryReader reader, NiFile niFile) : base(reader, niFile) { Interpolator = new NiRef <NiInterpolator>(niFile, reader.ReadInt32()); }
public NiFloatInterpolator(BinaryReader reader, NiFile niFile) : base(reader, niFile) { Value = reader.ReadSingle(); Data = new NiRef <NiFloatData>(niFile, reader.ReadInt32()); }
public NiLODNode(BinaryReader reader, NiFile file) : base(reader, file) { Data = new NiRef <NiLODData>(file, reader.ReadInt32()); }
public NiTextureProperty(BinaryReader reader, NiFile file) : base(reader, file) { Flags = reader.ReadInt16(); Image = new NiRef <NiImage>(file, reader.ReadInt32()); }
public NiTransformInterpolator(BinaryReader reader, NiFile niFile) : base(reader, niFile) { Transform = new NiQuatTransform(reader, niFile); Data = new NiRef <NiTransformData>(niFile, reader.ReadInt32()); }