Esempio n. 1
0
        public AssetMINF(Section_AHDR AHDR, Game game, Endianness endianness) : base(AHDR, game, endianness)
        {
            using (var reader = new EndianBinaryReader(AHDR.data, endianness))
            {
                reader.ReadInt32();
                int amountOfReferences = reader.ReadInt32();
                ATBL_AssetID = reader.ReadUInt32();
                if (game != Game.Scooby)
                {
                    CombatID = reader.ReadUInt32();
                    BrainID  = reader.ReadUInt32();
                }

                MinfReferences = new MinfReference[amountOfReferences];
                for (int i = 0; i < MinfReferences.Length; i++)
                {
                    MinfReferences[i] = new MinfReference(reader);
                }

                var mParams = new List <MinfParam>();
                while (!reader.EndOfStream)
                {
                    mParams.Add(new MinfParam(reader));
                }
                MinfParams = mParams.ToArray();

                if (MinfReferences.Length > 0)
                {
                    _modelAssetID = MinfReferences[0].Model_AssetID;
                }
                else
                {
                    _modelAssetID = 0;
                }

                if (_modelAssetID != 0)
                {
                    AddToRenderingDictionary(AHDR.assetID, this);

                    if (game == Game.Incredibles)
                    {
                        AddToRenderingDictionary(Functions.BKDRHash(newName), this);
                        AddToNameDictionary(Functions.BKDRHash(newName), newName);
                    }
                }
            }
        }
Esempio n. 2
0
 public AssetMINF(string assetName) : base(assetName, AssetType.MINF)
 {
     MinfReferences = new MinfReference[0];
     MinfParams     = new MinfParam[0];
 }