Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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));
            }
        }
Ejemplo n.º 3
0
        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();
        }
Ejemplo n.º 4
0
        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();
        }
Ejemplo n.º 5
0
        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));
            }
        }
Ejemplo n.º 6
0
        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();
            }
        }
Ejemplo n.º 7
0
        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);
                }
            }
        }
Ejemplo n.º 8
0
        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();
        }
Ejemplo n.º 9
0
        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();
        }