Beispiel #1
0
        protected override void ReadTableMeta(FileStream stream)
        {
            _tableCount = new ByteWord(_tableCountAddr);
            _tableStart = new ByteWord(_tableStartAddr);

            _tableCount.ReadFromFile(stream);
            _tableStart.ReadFromFile(stream);

            int current = BitConverter.ToInt32( _tableStart.GetBytes(), 0 );
            int count = BitConverter.ToInt32( _tableCount.GetBytes(), 0 );

            Console.Out.WriteLine("Entry count: " + count);

            for (int i = 0; i < count; i++)
            {
                MxeIndexEntry e = new MxeIndexEntry(GetRealAddress(current));
                e.ReadEntry(stream);
                _indexes.Add(e.GetIndex(), e);

                current += _tableStart.Length * 4;
            }

            Dictionary<string, MxeEntryType> dts = DiscoverTypes(stream);

            RefreshOtherTypesToDiscoveredType(dts);
        }