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); }
public static int GetRealAddress(ByteWord addr) { return(GetRealAddress(BitConverter.ToInt32(addr.GetBytes(), 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); }