public RawEntry(CacheBase Cache, int Address) { EndianReader Reader = Cache.Reader; Reader.SeekTo(Address); Reader.SeekTo(Address + 12); TagID = Reader.ReadInt32(); Reader.ReadInt16(); Reader.ReadInt16(); Reader.ReadInt32(); FixupOffset = Reader.ReadInt32(); FixupSize = Reader.ReadInt32(); Reader.ReadInt32(); CacheIndex = Reader.ReadInt32(); RequiredOffset = Reader.ReadInt32(); RequiredSize = Reader.ReadInt32(); Reader.ReadInt32(); CacheIndex2 = Reader.ReadInt32(); OptionalOffset = Reader.ReadInt32(); OptionalSize = Reader.ReadInt32(); Reader.ReadInt32(); Reader.ReadInt32(); #region Resource Fixups int iCount = Reader.ReadInt32(); int iOffset = Reader.ReadInt32() - Cache.Magic; for (int i = 0; i < iCount; i++) { Fixups.Add(new ResourceFixup(Cache, iOffset + 8 * i)); } #endregion #region Resource Definition Fixups Reader.SeekTo(Address + 84); iCount = Reader.ReadInt32(); iOffset = Reader.ReadInt32() - Cache.Magic; for (int i = 0; i < iCount; i++) { DefinitionFixups.Add(new ResourceDefinitionFixup(Cache, iOffset + 8 * i)); } #endregion }
public RawEntry(CacheBase Cache, int Address) { EndianReader Reader = Cache.Reader; Reader.SeekTo(Address); Reader.SeekTo(Address + 12); TagID = Reader.ReadInt32(); Reader.ReadInt16(); Reader.ReadByte(); Reader.ReadByte(); FixupSize = Reader.ReadInt32(); Reader.ReadInt16(); SegmentIndex = Reader.ReadInt16(); Reader.ReadInt32(); #region Resources Reader.SeekTo(Address + 32); int iCount = Reader.ReadInt32(); int iOffset = Reader.ReadInt32() - Cache.Magic; for (int i = 0; i < iCount; i++) { Fixups.Add(new ResourceFixup(Cache, iOffset + 8 * i)); } #endregion #region Resource Definitions Reader.SeekTo(Address + 44); iCount = Reader.ReadInt32(); iOffset = Reader.ReadInt32() - Cache.Magic; for (int i = 0; i < iCount; i++) { DefinitionFixups.Add(new ResourceDefinitionFixup(Cache, iOffset + 8 * i)); } #endregion #region Fixup Location Reader.SeekTo(Address + 56); iCount = Reader.ReadInt32(); iOffset = Reader.ReadInt32() - Cache.Magic; if (iCount > 0) { Reader.SeekTo(iOffset); FixupOffset = Reader.ReadInt32(); } #endregion }