public unsafe PdbInfo(IO.FileStream inputStream, Metadata.Reader reader) { this.reader = reader; this.pdbFunctionMap = PdbFile.LoadFunctionMap(inputStream, out tokenToSourceMapping, out sourceServerData, reader); //inputStream.Seek(0L, IO.SeekOrigin.Begin); //this.remapTable = PdbFile.LoadRemapTable(inputStream); }
private bool LoadFile(string path) { // reset stuff _data = null; _stageIDOffset = -1; stageSelection.Enabled = false; itemSelection.Enabled = false; lblCurrentStage.Text = lblIDValue.Text = lblOffsetValue.Text = "?"; btnOkay.Enabled = false; _path = path; txtPath.Text = _path; _data = new byte[new IO.FileInfo(_path).Length]; FileStream input = new IO.FileStream(_path, FileMode.Open, FileAccess.Read, FileShare.Read, 8, FileOptions.SequentialScan); input.Read(_data, 0, _data.Length); input.Dispose(); lblSizeValue.Text = _data.Length.ToString(); lblNameValue.Text = getModuleName(); _stageIDOffset = findStageIDOffset(); if (_stageIDOffset < 0) { MessageBox.Show("Could not find the stage ID offset."); return(false); } lblOffsetValue.Text = "0x" + Convert.ToString(_stageIDOffset, 16); byte currentID = findCurrentID(); lblIDValue.Text = "0x" + Convert.ToString(currentID, 16); foreach (Stage s in stageList) { if (s.ID == currentID) { lblCurrentStage.Text = s.Name; stageSelection.SelectedItem = s; break; } } if (lblNameValue.Text.StartsWith("stOnline")) { itemSelection.Enabled = true; itemSelection.SelectedIndex = _data[1223]; lblCurrentStage.Text += " / " + itemSelection.Text; } else { itemSelection.Enabled = false; } stageSelection.Enabled = true; btnOkay.Enabled = true; return(true); }
public static Image FromFile(string filename) { //TODO: review here //should not depend on the extension string fileext = IO.Path.GetExtension(filename).ToLower(); switch (fileext) { default: throw new NotSupportedException(); case ".jpg": { JpegDecoder jpegDec = new JpegDecoder(); ImageTools.ExtendedImage outputImg = new ImageTools.ExtendedImage(); using (System.IO.FileStream fs = new IO.FileStream(filename, IO.FileMode.Open)) { jpegDec.Decode(outputImg, fs); } //return bitmap return(new Bitmap(outputImg.PixelWidth, outputImg.PixelHeight, outputImg.Pixels, outputImg.DensityXInt32, outputImg.DensityYInt32)); } case ".gif": { GifDecoder gifDec = new GifDecoder(); ImageTools.ExtendedImage outputImg = new ImageTools.ExtendedImage(); using (System.IO.FileStream fs = new IO.FileStream(filename, IO.FileMode.Open)) { gifDec.Decode(outputImg, fs); } //return bitmap return(new Bitmap(outputImg.PixelWidth, outputImg.PixelHeight, outputImg.Pixels, outputImg.DensityXInt32, outputImg.DensityYInt32)); } case ".png": { ImageTools.IO.Png.PngDecoder pngDecoder = new PngDecoder(); //HjgPngDecoder pngDecoder = new HjgPngDecoder(); //PngDecoder pngDecoder = new PngDecoder(); ImageTools.ExtendedImage outputImg = new ImageTools.ExtendedImage(); using (System.IO.FileStream fs = new IO.FileStream(filename, IO.FileMode.Open)) { pngDecoder.Decode(outputImg, fs); } Bitmap bmp = new Bitmap(outputImg.PixelWidth, outputImg.PixelHeight, outputImg.Pixels, outputImg.DensityXInt32, outputImg.DensityYInt32); bmp.PixelFormat = Imaging.PixelFormat.Format32bppArgb; return(bmp); } } return(null); }
private bool LoadFile(string path) { // reset stuff _data = null; _stageIDOffset = -1; stageSelection.Enabled = false; itemSelection.Enabled = false; lblCurrentStage.Text = lblIDValue.Text = lblOffsetValue.Text = "?"; btnOkay.Enabled = false; _path = path; txtPath.Text = _path; _data = new byte[new IO.FileInfo(_path).Length]; FileStream input = new IO.FileStream(_path, FileMode.Open, FileAccess.Read, FileShare.Read, 8, FileOptions.SequentialScan); input.Read(_data, 0, _data.Length); input.Dispose(); lblSizeValue.Text = _data.Length.ToString(); lblNameValue.Text = getModuleName(); _stageIDOffset = findStageIDOffset(); if (_stageIDOffset < 0) { MessageBox.Show("Could not find the stage ID offset."); return false; } lblOffsetValue.Text = "0x" + Convert.ToString(_stageIDOffset, 16); byte currentID = findCurrentID(); lblIDValue.Text = "0x" + Convert.ToString(currentID, 16); IEnumerator<Stage> e = stageList.GetEnumerator(); bool found = false; while (e.MoveNext() && !found) { Stage s = e.Current; if (s.ID == currentID) { found = true; lblCurrentStage.Text = s.Name; stageSelection.SelectedItem = s; } } if (lblNameValue.Text.StartsWith("stOnline")) { itemSelection.Enabled = true; itemSelection.SelectedIndex = _data[1223]; lblCurrentStage.Text += " / " + itemSelection.Text; } else { itemSelection.Enabled = false; } stageSelection.Enabled = true; btnOkay.Enabled = true; return true; }