private IHeader ReadHeader(BinaryReader br) { St_Header header = new St_Header(); if (!header.Read(br)) { string errorMessage = "Failed to read header of file {0}. Corrupt or invalid header?"; MessageBox.Show(errorMessage, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); Environment.Exit(1); } return(header); }
public void LoadJumpTable() { string originalFilePath = Path.Combine(ProjectFolder.rootDir, ProjectFolder.unpackedGameFilesDir, JUMP_TABLE_FILE); FileStream fs = new FileStream(originalFilePath, FileMode.Open); BinaryReader br = new BinaryReader(fs); footer.Read(br); header.Read(br); long streamEnd = br.BaseStream.Length - ElementHelper.GetElementSize(footer); while (br.BaseStream.Position != streamEnd) { var nextEntry = new JumpTableEntry(); nextEntry.Read(br); jumpTableEntries.Add(nextEntry); } br.Close(); }