Пример #1
0
 public BLMAPEditor()
 {
     InitializeComponent();
     this.Text = this.Text + " | " + Version + " | By Wexos";
     BLMAP     = new BLMAP();
     listLTEX  = new List <BLMAPLTEX>();
 }
Пример #2
0
        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);
        }
Пример #3
0
 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 = "";
     }
 }