Exemple #1
0
        public M2Array <M2TextureWeight> GetTextureWeights()
        {
            M2Array <M2TextureWeight> textureweights = new M2Array <M2TextureWeight>();

            if (!_model.Has <MTLS>())
            {
                return(textureweights);
            }

            foreach (var lay in _model.Get <MTLS>().SelectMany(x => x.Layers))
            {
                M2TextureWeight weight = new M2TextureWeight();
                if (lay.AlphaKeys != null)
                {
                    lay.AlphaKeys.PopulateM2Track(weight.Weight, _model.Get <SEQS>());
                }
                else
                {
                    weight.Weight.Timestamps.Add(new M2Array <uint>()
                    {
                        0
                    });
                    weight.Weight.Values.Add(new M2Array <FixedPoint_0_15>()
                    {
                        new FixedPoint_0_15(lay.Alpha.ToShort())
                    });
                }

                textureweights.Add(weight);
            }

            return(textureweights);
        }
Exemple #2
0
        public static void M2TextureWeight()
        {
            SpecialSeek(openedFile.textWeightsPos);

            /* TODO get values */
            for (int i = 0; i < openedFile.textWeightsNum; i++)
            {
                M2TextureWeight tex = new M2TextureWeight();
                tex.header       = new uint[] { reader.ReadUInt16(), reader.ReadUInt16() };
                tex.timeStampNb  = reader.ReadUInt32();
                tex.timeStampPos = reader.ReadUInt32();

                tex.keysNb  = reader.ReadUInt32();
                tex.keysPos = reader.ReadUInt32();
                openedFile.texweight.Add(tex);
            }
        }