public BLMAPEditor() { InitializeComponent(); this.Text = this.Text + " | " + Version + " | By Wexos"; BLMAP = new BLMAP(); listLTEX = new List <BLMAPLTEX>(); }
public void WriteBLMAP(string FilePath) { FileName = FilePath; BigEndianWriter Writer = new BigEndianWriter(File.Open(FilePath, FileMode.Create)); BLMAP BLMAP = lmapComponent1.ReturnData(); Writer.WriteChars("LMAP".ToCharArray(), 0, 4); Writer.WriteUInt32(0); Writer.WriteUInt32(BLMAP.Unknown1); Writer.WriteUInt32(BLMAP.Unknown2); Writer.WriteUInt16(Convert.ToUInt16(treeView1.Nodes[0].Nodes[1].Nodes.Count)); Writer.WriteUInt16(BLMAP.Unknown3); Writer.WriteUInt32(BLMAP.Unknown4); Writer.WriteUInt32(BLMAP.Unknown5); Writer.WriteUInt32(BLMAP.Unknown6); int FileSize = 0x20; for (int i = 0; i < listLTEX.Count; i++) { BLMAPLTEX LTEX = ltexComponent1.ReturnData(); LTEX.Entries = ReturnLTEX(); listLTEX[SelectedNode] = LTEX; FileSize += 0x3C + listLTEX[i].Entries.Count * 8; Writer.WriteChars("LTEX".ToCharArray(), 0, 4); Writer.WriteInt32(0x3C + listLTEX[i].Entries.Count * 8); Writer.WriteUInt32(listLTEX[i].Padding); Writer.WriteUInt32(listLTEX[i].Unknown); Writer.WriteUInt16(Convert.ToUInt16(listLTEX[i].Entries.Count)); Writer.WriteUInt16(listLTEX[i].Unknown1); Writer.WriteChars(listLTEX[i].Texture.ToCharArray(), 0, 4); Writer.WriteUInt32(listLTEX[i].Unknown2); Writer.WriteUInt32(listLTEX[i].Unknown3); Writer.WriteUInt32(listLTEX[i].Unknown4); Writer.WriteUInt32(listLTEX[i].Unknown5); Writer.WriteUInt32(listLTEX[i].Unknown6); Writer.WriteUInt32(listLTEX[i].Unknown7); Writer.WriteUInt32(listLTEX[i].Unknown8); Writer.WriteUInt32(listLTEX[i].Unknown9); Writer.WriteInt32(listLTEX[i].Entries.Count * 8); for (int j = 0; j < listLTEX[i].Entries.Count; j++) { Writer.WriteSingle(listLTEX[i].Entries[j].Unknown1); Writer.WriteUInt32(listLTEX[i].Entries[j].Unknown2); } } Writer.BaseStream.Position = 4; Writer.WriteInt32(FileSize); Writer.Close(); treeView1.Nodes[0].Text = Path.GetFileName(FilePath); }
public void AddData(BLMAP b) { if (b != null) { Unknown1.Text = HexUtil.Hex32(b.Unknown1); Unknown2.Text = HexUtil.Hex32(b.Unknown2); Unknown3.Text = HexUtil.Hex16(b.Unknown3); Unknown4.Text = HexUtil.Hex32(b.Unknown4); Unknown5.Text = HexUtil.Hex32(b.Unknown5); Unknown6.Text = HexUtil.Hex32(b.Unknown6); } else { Unknown1.Text = ""; Unknown2.Text = ""; Unknown3.Text = ""; Unknown4.Text = ""; Unknown5.Text = ""; Unknown6.Text = ""; } }