public void ReadBFG(string FilePath) { FileName = FilePath; BigEndianReader Reader = new BigEndianReader(new MemoryStream(File.ReadAllBytes(FilePath))); BFG.Entries = new List <Entry>(); BFG.Unknown1 = Reader.ReadUInt32(); BFG.Unknown2 = Reader.ReadSingle(); for (int i = 0; i < 3; i++) { BFG.Entries.Add(new Entry() { Distance = Reader.ReadSingle(), RGBA = Reader.ReadUInt32(), Unknown1 = Reader.ReadUInt16(), Unknown2 = Reader.ReadUInt16(), Float1B = Reader.ReadSingle(), Unknown3 = Reader.ReadUInt32(), Unknown4 = Reader.ReadUInt32(), Padding = Reader.ReadUInt32(), }); } BFG.Float4A = Reader.ReadSingle(); BFG.Bytes4A = Reader.ReadUInt32(); BFG.Unknown4A = Reader.ReadUInt16(); BFG.Unknown4B = Reader.ReadUInt16(); BFG.Float4B = Reader.ReadSingle(); BFG.Unknown4C = Reader.ReadUInt32(); bfgComponent1.AddData(BFG); this.Show(); Reader.Close(); }
private void ImportLOBJ_Click(object sender, EventArgs e) { OpenFileDialog o = new OpenFileDialog(); o.Filter = "Binary Light Object (*blobj)|*.blobj"; if (o.ShowDialog() == DialogResult.OK) { BigEndianReader Reader = new BigEndianReader(new MemoryStream(File.ReadAllBytes(o.FileName))); LOBJ.Magic = Encoding.ASCII.GetString(Reader.ReadBytes(0x04)); if (LOBJ.Magic != "LOBJ") { throw new WrongMagicException(LOBJ.Magic, "LOBJ", Reader.BaseStream.Position - 4); } LOBJ.SectionSize = Reader.ReadUInt32(); if (LOBJ.SectionSize != 0x50) { MessageBox.Show("Please give this file to Wexos!"); } LOBJ.Unknown1 = Reader.ReadUInt64(); LOBJ.Unknown2 = Reader.ReadUInt16(); LOBJ.LightType = Reader.ReadByte(); LOBJ.Unknown3 = Reader.ReadByte(); LOBJ.LightID = Reader.ReadUInt16(); LOBJ.Unknown4 = Reader.ReadUInt16(); LOBJ.OriginVector = Reader.ReadSingles(3); LOBJ.DestinationVector = Reader.ReadSingles(3); LOBJ.Scale = Reader.ReadSingle(); LOBJ.RGBA = Reader.ReadBytes(4); LOBJ.Unknown5 = Reader.ReadUInt32(); LOBJ.Unknown6 = Reader.ReadSingle(); LOBJ.Unknown7 = Reader.ReadSingle(); LOBJ.Unknown8 = Reader.ReadSingle(); LOBJ.Padding = Reader.ReadUInt64(); Reader.Close(); dgwLOBJ.Rows.Add(HexUtil.Hex8(Convert.ToByte(dgwLOBJ.Rows.Count)), HexUtil.Hex8(LOBJ.LightType), HexUtil.Hex8(LOBJ.Unknown3), LOBJ.OriginVector[0], LOBJ.OriginVector[1], LOBJ.OriginVector[2], LOBJ.DestinationVector[0], LOBJ.DestinationVector[1], LOBJ.DestinationVector[2], LOBJ.Scale, LOBJ.Unknown6, LOBJ.Unknown7, LOBJ.Unknown8, HexUtil.Hex16(LOBJ.LightID), HexUtil.Hex16(LOBJ.Unknown4), HexUtil.Hex32(LOBJ.Unknown5), HexUtil.Hex8(LOBJ.RGBA[0]), HexUtil.Hex8(LOBJ.RGBA[1]), HexUtil.Hex8(LOBJ.RGBA[2]), HexUtil.Hex8(LOBJ.RGBA[3]), HexUtil.Hex64(LOBJ.Unknown1), HexUtil.Hex16(LOBJ.Unknown2), HexUtil.Hex64(LOBJ.Padding)); } }
public void ReadBLIGHT(string FilePath) { FileName = FilePath; BigEndianReader Reader = new BigEndianReader(new MemoryStream(File.ReadAllBytes(FilePath))); BLIGHT.Magic = Encoding.ASCII.GetString(Reader.ReadBytes(0x04)); if (BLIGHT.Magic != "LGHT") { throw new WrongMagicException(BLIGHT.Magic, "LGHT", Reader.BaseStream.Position - 4); } BLIGHT.FileSize = Reader.ReadUInt32(); BLIGHT.Unknown1 = Reader.ReadUInt32(); BLIGHT.Unknown2 = Reader.ReadUInt32(); BLIGHT.NrLOBJ = Reader.ReadUInt16(); BLIGHT.NrAmbientLight = Reader.ReadUInt16(); BLIGHT.Unknown3 = Reader.ReadUInt32(); BLIGHT.Padding = Reader.ReadUInt64(); BLIGHT.Padding2 = Reader.ReadUInt64(); for (int i = 0; i < BLIGHT.NrLOBJ; i++) { LOBJ.Magic = Encoding.ASCII.GetString(Reader.ReadBytes(0x04)); if (LOBJ.Magic != "LOBJ") { throw new WrongMagicException(LOBJ.Magic, "LOBJ", Reader.BaseStream.Position - 4); } LOBJ.SectionSize = Reader.ReadUInt32(); if (LOBJ.SectionSize != 0x50) { MessageBox.Show("Please give this file to Wexos!"); } LOBJ.Unknown1 = Reader.ReadUInt64(); LOBJ.Unknown2 = Reader.ReadUInt16(); LOBJ.LightType = Reader.ReadByte(); LOBJ.Unknown3 = Reader.ReadByte(); LOBJ.LightID = Reader.ReadUInt16(); LOBJ.Unknown4 = Reader.ReadUInt16(); LOBJ.OriginVector = Reader.ReadSingles(3); LOBJ.DestinationVector = Reader.ReadSingles(3); LOBJ.Scale = Reader.ReadSingle(); LOBJ.RGBA = Reader.ReadBytes(4); LOBJ.Unknown5 = Reader.ReadUInt32(); LOBJ.Unknown6 = Reader.ReadSingle(); LOBJ.Unknown7 = Reader.ReadSingle(); LOBJ.Unknown8 = Reader.ReadSingle(); LOBJ.Padding = Reader.ReadUInt64(); dgwLOBJ.Rows.Add(HexUtil.Hex8(Convert.ToByte(i)), HexUtil.Hex8(LOBJ.LightType), HexUtil.Hex8(LOBJ.Unknown3), LOBJ.OriginVector[0], LOBJ.OriginVector[1], LOBJ.OriginVector[2], LOBJ.DestinationVector[0], LOBJ.DestinationVector[1], LOBJ.DestinationVector[2], LOBJ.Scale, LOBJ.Unknown6, LOBJ.Unknown7, LOBJ.Unknown8, HexUtil.Hex16(LOBJ.LightID), HexUtil.Hex16(LOBJ.Unknown4), HexUtil.Hex32(LOBJ.Unknown5), HexUtil.Hex8(LOBJ.RGBA[0]), HexUtil.Hex8(LOBJ.RGBA[1]), HexUtil.Hex8(LOBJ.RGBA[2]), HexUtil.Hex8(LOBJ.RGBA[3]), HexUtil.Hex64(LOBJ.Unknown1), HexUtil.Hex16(LOBJ.Unknown2), HexUtil.Hex64(LOBJ.Padding)); } for (int i = 0; i < BLIGHT.NrAmbientLight; i++) { Ambient.RGBALight = Reader.ReadBytes(4); Ambient.Padding = Reader.ReadUInt32(); dgwAmbient.Rows.Add(HexUtil.Hex8(Convert.ToByte(i)), HexUtil.Hex8(Ambient.RGBALight[0]), HexUtil.Hex8(Ambient.RGBALight[1]), HexUtil.Hex8(Ambient.RGBALight[2]), HexUtil.Hex8(Ambient.RGBALight[3]), HexUtil.Hex32(Ambient.Padding)); } LOBJColor.BackColor = Color.FromArgb(byte.Parse(dgwLOBJ.Rows[0].Cells[16].Value.ToString(), NumberStyles.HexNumber), byte.Parse(dgwLOBJ.Rows[0].Cells[17].Value.ToString(), NumberStyles.HexNumber), byte.Parse(dgwLOBJ.Rows[0].Cells[18].Value.ToString(), NumberStyles.HexNumber)); AmbientColor.BackColor = Color.FromArgb(byte.Parse(dgwAmbient.Rows[0].Cells[1].Value.ToString(), NumberStyles.HexNumber), byte.Parse(dgwAmbient.Rows[0].Cells[2].Value.ToString(), NumberStyles.HexNumber), byte.Parse(dgwAmbient.Rows[0].Cells[3].Value.ToString(), NumberStyles.HexNumber)); this.Show(); Reader.Close(); }
public void ReadBBLM(string FilePath) { FileName = FilePath; BigEndianReader Reader = new BigEndianReader(new MemoryStream(File.ReadAllBytes(FilePath))); BBLM.Magic = Reader.ReadASCII(4); if (BBLM.Magic != "PBLM") { throw new WrongMagicException(BBLM.Magic, "PBLM", Reader.BaseStream.Position - 4); } BBLM.FileSize = Reader.ReadUInt32(); if (BBLM.FileSize != 0xA4) { MessageBox.Show("Please give this file to Wexos!"); } BBLM.Unknown1 = Reader.ReadUInt64(); BBLM.ScaleFactor = Reader.ReadSingle(); BBLM.RGB = Reader.ReadUInt32(); BBLM.blurrRGB = Reader.ReadUInt32(); BBLM.Unknown2 = Reader.ReadUInt16(); BBLM.Unknown3 = Reader.ReadUInt16(); BBLM.Entries = new List <Entry>(); for (int i = 0; i < 3; i++) { BBLM.Entries.Add(new Entry() { Unknown1 = Reader.ReadSingle(), Unknown2 = Reader.ReadSingle(), Unknown3 = Reader.ReadUInt32(), Unknown4 = Reader.ReadUInt32(), Unknown5 = Reader.ReadUInt32(), Unknown6 = Reader.ReadUInt32(), Unknown7 = Reader.ReadUInt32(), Unknown8 = Reader.ReadUInt32() }); } BBLM.Unknown4 = Reader.ReadUInt32(); BBLM.Unknown5 = Reader.ReadUInt32(); BBLM.Unknown6 = Reader.ReadUInt32(); BBLM.Unknown7 = Reader.ReadUInt32(); BBLM.Unknown8 = Reader.ReadUInt32(); BBLM.Unknown9 = Reader.ReadUInt32(); BBLM.float1 = Reader.ReadSingle(); BBLM.float2 = Reader.ReadSingle(); BBLM.float3 = Reader.ReadSingle(); bblmComponent1.AddData(BBLM); Reader.Close(); this.Show(); }
private void ImportAmbient_Click(object sender, EventArgs e) { OpenFileDialog o = new OpenFileDialog(); o.Filter = "Binary Ambient Light (*bambl)|*.bambl"; if (o.ShowDialog() == DialogResult.OK) { BigEndianReader Reader = new BigEndianReader(new MemoryStream(File.ReadAllBytes(o.FileName))); string Magic = Reader.ReadASCII(4); if (Magic != "BAML") { throw new WrongMagicException(Magic, "BAML", Reader.BaseStream.Position - 4); } Ambient.RGBALight = Reader.ReadBytes(4); Ambient.Padding = Reader.ReadUInt32(); Reader.Close(); dgwAmbient.Rows.Add(HexUtil.Hex8(Convert.ToByte(dgwAmbient.Rows.Count)), HexUtil.Hex8(Ambient.RGBALight[0]), HexUtil.Hex8(Ambient.RGBALight[1]), HexUtil.Hex8(Ambient.RGBALight[2]), HexUtil.Hex8(Ambient.RGBALight[3]), HexUtil.Hex32(Ambient.Padding)); } }
private void ImportLTEX_Click(object sender, EventArgs e) { OpenFileDialog o = new OpenFileDialog(); o.Filter = "Binary Light Texture (*bltex)|*.bltex"; if (o.ShowDialog() == DialogResult.OK) { BigEndianReader Reader = new BigEndianReader(new MemoryStream(File.ReadAllBytes(o.FileName))); BLMAPLTEX LTEX = new BLMAPLTEX(); LTEX.Magic = Reader.ReadASCII(4); if (LTEX.Magic != "LTEX") { throw new WrongMagicException(LTEX.Magic, "LTEX", Reader.BaseStream.Position - 4); } LTEX.SectionSize = Reader.ReadUInt32(); LTEX.Padding = Reader.ReadUInt32(); LTEX.Unknown = Reader.ReadUInt32(); LTEX.NrEntries = Reader.ReadUInt16(); LTEX.Unknown1 = Reader.ReadUInt16(); LTEX.Texture = Reader.ReadASCII(4); LTEX.Unknown2 = Reader.ReadUInt32(); LTEX.Unknown3 = Reader.ReadUInt32(); LTEX.Unknown4 = Reader.ReadUInt32(); LTEX.Unknown5 = Reader.ReadUInt32(); LTEX.Unknown6 = Reader.ReadUInt32(); LTEX.Unknown7 = Reader.ReadUInt32(); LTEX.Unknown8 = Reader.ReadUInt32(); LTEX.Unknown9 = Reader.ReadUInt32(); LTEX.EntriesSize = Reader.ReadUInt32(); LTEX.Entries = new List <Entry>(); for (int j = 0; j < LTEX.NrEntries; j++) { LTEX.Entries.Add(new Entry() { Unknown1 = Reader.ReadSingle(), Unknown2 = Reader.ReadUInt32() }); } listLTEX.Add(LTEX); treeView1.Nodes[0].Nodes[1].Nodes.Add("LTEX " + HexUtil.ConvertToHex(treeView1.Nodes[0].Nodes[1].Nodes.Count)); treeView1.Nodes[0].Nodes[1].Nodes[treeView1.Nodes[0].Nodes[1].Nodes.Count - 1].ContextMenuStrip = cmsDelete; Reader.Close(); } }
public static bool DeserializeConfig() { if (IsFileExists() == false) { return(false); } lock (CheckLock) { try { BigEndianReader reader = new BigEndianReader(File.ReadAllBytes(Path.Combine(System.Windows.Forms.Application.StartupPath, "config.ap"))); int count = reader.ReadInt(); ConfigsList = new List <ConfigEntry>(); for (int i = 0; i < count; i++) { ConfigEntry entry = new ConfigEntry(); entry.Deserialize(reader); ConfigsList.Add(entry); } Loaded = true; reader.Close(); reader.Dispose(); return(true); } catch (Exception ex) { WindowManager.MainWindow.Logger.Error("Read file error -> " + ex.Message); return(false); } } }
public void ReadBDOF(string FilePath) { FileName = FilePath; BigEndianReader Reader = new BigEndianReader(new MemoryStream(File.ReadAllBytes(FilePath))); BDOF.Magic = Reader.ReadASCII(4); if (BDOF.Magic != "PDOF") { throw new WrongMagicException(BDOF.Magic, "PDOF", Reader.BaseStream.Position - 4); } BDOF.FileSize = Reader.ReadUInt32(); if (BDOF.FileSize != 0x50) { MessageBox.Show("Please give this file to Wexos!"); } BDOF.Unknown1 = Reader.ReadUInt64(); BDOF.Activator = Reader.ReadUInt16(); BDOF.Unknown2 = Reader.ReadUInt16(); BDOF.Unknown3 = Reader.ReadUInt32(); BDOF.FloatValues = Reader.ReadSingles(10); BDOF.Padding = Reader.ReadUInt64s(0x02); bdofComponent1.AddData(BDOF); this.Show(); Reader.Close(); }
public void ReadBLMAP(string FilePath) { FileName = FilePath; BigEndianReader Reader = new BigEndianReader(new MemoryStream(File.ReadAllBytes(FilePath))); treeView1.Nodes[0].Nodes.Clear(); treeView1.Nodes[0].Text = Path.GetFileName(FilePath); treeView1.Nodes[0].Nodes.Add("Header"); treeView1.Nodes[0].Nodes.Add("LTEX"); listLTEX.Clear(); BLMAP.Magic = Reader.ReadASCII(4); if (BLMAP.Magic != "LMAP") { throw new WrongMagicException(BLMAP.Magic, "LMAP", Reader.BaseStream.Position - 4); } BLMAP.FileSize = Reader.ReadUInt32(); BLMAP.Unknown1 = Reader.ReadUInt32(); BLMAP.Unknown2 = Reader.ReadUInt32(); BLMAP.NrLTEX = Reader.ReadUInt16(); BLMAP.Unknown3 = Reader.ReadUInt16(); BLMAP.Unknown4 = Reader.ReadUInt32(); BLMAP.Unknown5 = Reader.ReadUInt32(); BLMAP.Unknown6 = Reader.ReadUInt32(); for (int i = 0; i < BLMAP.NrLTEX; i++) { BLMAPLTEX LTEX = new BLMAPLTEX(); long Offset = Reader.BaseStream.Position; LTEX.Magic = Reader.ReadASCII(4); if (LTEX.Magic != "LTEX") { throw new WrongMagicException(LTEX.Magic, "LTEX", Reader.BaseStream.Position - 4); } LTEX.SectionSize = Reader.ReadUInt32(); LTEX.Padding = Reader.ReadUInt32(); LTEX.Unknown = Reader.ReadUInt32(); LTEX.NrEntries = Reader.ReadUInt16(); LTEX.Unknown1 = Reader.ReadUInt16(); LTEX.Texture = Reader.ReadASCII(4); LTEX.Unknown2 = Reader.ReadUInt32(); LTEX.Unknown3 = Reader.ReadUInt32(); LTEX.Unknown4 = Reader.ReadUInt32(); LTEX.Unknown5 = Reader.ReadUInt32(); LTEX.Unknown6 = Reader.ReadUInt32(); LTEX.Unknown7 = Reader.ReadUInt32(); LTEX.Unknown8 = Reader.ReadUInt32(); LTEX.Unknown9 = Reader.ReadUInt32(); LTEX.EntriesSize = Reader.ReadUInt32(); LTEX.Entries = new List <Entry>(); for (int j = 0; j < LTEX.NrEntries; j++) { LTEX.Entries.Add(new Entry() { Unknown1 = Reader.ReadSingle(), Unknown2 = Reader.ReadUInt32() }); } listLTEX.Add(LTEX); treeView1.Nodes[0].Nodes[1].Nodes.Add("LTEX " + HexUtil.ConvertToHex(i)); treeView1.Nodes[0].Nodes[1].Nodes[treeView1.Nodes[0].Nodes[1].Nodes.Count - 1].ContextMenuStrip = cmsDelete; Reader.BaseStream.Position = Offset + LTEX.SectionSize; } Reader.Close(); lmapComponent1.AddData(BLMAP); if (BLMAP.NrLTEX >= 1) { ltexComponent1.AddData(listLTEX[0]); AddLTEX(listLTEX[0].Entries); } else { SelectedNode = -1; } this.Show(); }