Esempio n. 1
0
        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            var fileStream = new FileStream(bldPath + "\\" + "model" + "\\" + listBox1.SelectedIndex.ToString("D4"), FileMode.Open);

            file_2 = bldPath + "\\" + "model" + "\\" + listBox1.SelectedIndex.ToString("D4");
            _nsbmd = NsbmdLoader.LoadNsbmd(fileStream);
            if (!checkBox1.Checked)
            {
                _nsbmd.materials = LibNDSFormats.NSBTX.NsbtxLoader.LoadNsbtx(new MemoryStream(File.ReadAllBytes(Form1.workingFolder + @"data\a\1\7\bldtilesets" + "\\" + comboBox1.SelectedIndex.ToString("D4"))), out _nsbmd.Textures, out _nsbmd.Palettes);
            }
            else
            {
                _nsbmd.materials = LibNDSFormats.NSBTX.NsbtxLoader.LoadNsbtx(new MemoryStream(File.ReadAllBytes(Form1.workingFolder + @"data\a\1\7\bld2tilesets" + "\\" + comboBox1.SelectedIndex.ToString("D4"))), out _nsbmd.Textures, out _nsbmd.Palettes);
            }
            try
            {
                _nsbmd.MatchTextures();
            }
            catch { }
            RenderBuilding(null, null);
            fileStream.Close();
            System.IO.BinaryReader readHeader = new System.IO.BinaryReader(File.OpenRead(bldPath + "\\" + "header" + "\\" + listBox1.SelectedIndex.ToString("D4")));
            numericUpDown1.Value            = readHeader.ReadUInt16(); // ID
            readHeader.BaseStream.Position += 2;
            numericUpDown2.Value            = readHeader.ReadUInt16(); // Door ID
            numericUpDown3.Value            = readHeader.ReadInt16();  // X
            numericUpDown4.Value            = readHeader.ReadInt16();  // Y
            numericUpDown5.Value            = readHeader.ReadInt16();  // Z
            readHeader.Close();
        }
Esempio n. 2
0
        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            var fileStream = new FileStream(bldPath + "\\" + listBox1.SelectedIndex.ToString("D4"), FileMode.Open);

            file_2 = bldPath + "\\" + listBox1.SelectedIndex.ToString("D4");
            _nsbmd = NsbmdLoader.LoadNsbmd(fileStream);
            #region Create texture
            File.Create(Path.GetTempPath() + "BLDtexture.nsbtx").Close();
            BinaryWriter writeBLDtexture = new BinaryWriter(File.OpenWrite(Path.GetTempPath() + "BLDtexture.nsbtx"));
            writeBLDtexture.Write((UInt32)0x30585442);
            writeBLDtexture.Write((UInt32)0x0001FEFF);
            fileStream.Position = 0x8;
            int nsbmdSize = fileStream.ReadByte() + (fileStream.ReadByte() << 8) + (fileStream.ReadByte() << 16) + (fileStream.ReadByte() << 24);
            fileStream.Position = 0x14;
            int nsbmdTexOffset = fileStream.ReadByte() + (fileStream.ReadByte() << 8) + (fileStream.ReadByte() << 16) + (fileStream.ReadByte() << 24);
            int texSize        = nsbmdSize - nsbmdTexOffset + 0x14;
            writeBLDtexture.Write((UInt32)texSize);
            writeBLDtexture.Write((UInt32)0x00010010);
            writeBLDtexture.Write((UInt32)0x00000014);
            fileStream.Position = nsbmdTexOffset;
            for (int i = 0; i < texSize - 0x14; i++)
            {
                writeBLDtexture.Write((byte)fileStream.ReadByte());
            }
            fileStream.Close();
            writeBLDtexture.Close();
            _nsbmd.materials = LibNDSFormats.NSBTX.NsbtxLoader.LoadNsbtx(new MemoryStream(File.ReadAllBytes(Path.GetTempPath() + "BLDtexture.nsbtx")), out _nsbmd.Textures, out _nsbmd.Palettes);
            #endregion
            try
            {
                _nsbmd.MatchTextures();
            }
            catch { }
            RenderBuilding(null, null);
            comboBox1.SelectedIndex = 0;
        }
Esempio n. 3
0
 private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
 {
     renderer.ClearOBJ();
     if (comboBox1.SelectedIndex == 0)
     {
         var fileStream = new FileStream(bldPath + "\\" + listBox1.SelectedIndex.ToString("D4"), FileMode.Open);
         file_2 = bldPath + "\\" + listBox1.SelectedIndex.ToString("D4");
         _nsbmd = NsbmdLoader.LoadNsbmd(fileStream);
         fileStream.Close();
         _nsbmd.materials = LibNDSFormats.NSBTX.NsbtxLoader.LoadNsbtx(new MemoryStream(File.ReadAllBytes(Path.GetTempPath() + "BLDtexture.nsbtx")), out _nsbmd.Textures, out _nsbmd.Palettes);
         try
         {
             _nsbmd.MatchTextures();
         }
         catch { }
         simpleOpenGlControl1.Invalidate();
         RenderBuilding(null, null);
     }
     else
     {
         _nsbmd.models[0].Palettes.Clear();
         _nsbmd.models[0].Textures.Clear();
         var fileStream = new FileStream(bldPath + "\\" + listBox1.SelectedIndex.ToString("D4"), FileMode.Open);
         file_2 = bldPath + "\\" + listBox1.SelectedIndex.ToString("D4");
         _nsbmd = NsbmdLoader.LoadNsbmd(fileStream);
         fileStream.Close();
         _nsbmd.materials = LibNDSFormats.NSBTX.NsbtxLoader.LoadNsbtx(new MemoryStream(File.ReadAllBytes(editorTileset + "\\" + (comboBox1.SelectedIndex - 1).ToString("D4"))), out _nsbmd.Textures, out _nsbmd.Palettes);
         try
         {
             _nsbmd.MatchTextures();
         }
         catch { }
         simpleOpenGlControl1.Invalidate();
         RenderBuilding(null, null);
     }
 }