Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            foreach (var arg in args)
            {
                if (Directory.Exists(arg))
                {
                    string folder      = Path.GetFileName(arg);
                    string daeFile     = $"{arg}/{folder}.dae";
                    var    importModel = (DaeFile)STFileLoader.OpenFileFormat(daeFile);

                    HSF hsf = new HSF()
                    {
                        FileInfo = new File_Info()
                    };
                    hsf.FromGeneric(importModel.Scene);
                    STFileSaver.SaveFileFormat(hsf, $"{folder}.new.hsf");
                }
                else if (File.Exists(arg))
                {
                    string folder = Path.GetFileNameWithoutExtension(arg);
                    if (!Directory.Exists(folder))
                    {
                        Directory.CreateDirectory(folder);
                    }

                    var file = STFileLoader.OpenFileFormat(arg);
                    Console.WriteLine($"file {file != null}");
                    DAE.Export($"{folder}/{folder}.dae", new DAE.ExportSettings()
                    {
                        ImageFolder = folder,
                    }, (IModelFormat)file);
                }
            }
        }
Ejemplo n.º 2
0
        public void ExportModel(string fileName, DAE.ExportSettings settings)
        {
            List <STGenericMaterial> Materials = new List <STGenericMaterial>();

            foreach (var mesh in Renderer.Meshes)
            {
                if (mesh.GetMaterial() != null)
                {
                    Materials.Add(mesh.GetMaterial());
                }
            }

            var textures = new List <STGenericTexture>();

            foreach (var tex in PluginRuntime.stikersTextures)
            {
                textures.Add(tex);
            }

            var model = new STGenericModel();

            model.Materials = Materials;
            model.Objects   = Renderer.Meshes;

            STSkeleton skeleton = null;

            if (DrawableContainer.Drawables.Count > 1)
            {
                skeleton = (STSkeleton)DrawableContainer.Drawables[1];
            }

            DAE.Export(fileName, settings, model, textures, skeleton);
        }
Ejemplo n.º 3
0
        public void ExportModel(string folderPath, DAE.ExportSettings settings)
        {
            foreach (LM3_Model mdl in Nodes)
            {
                List <STGenericMaterial> Materials = new List <STGenericMaterial>();
                foreach (STGenericObject mesh in mdl.RenderedMeshes)
                {
                    if (mesh.GetMaterial() != null)
                    {
                        Materials.Add(mesh.GetMaterial());
                    }
                }

                if (!mdl.loaded)
                {
                    mdl.UpdateVertexData();
                }

                var model = new STGenericModel();
                model.Materials = Materials;
                model.Objects   = mdl.RenderedMeshes;

                settings.SuppressConfirmDialog = true;

                DAE.Export($"{folderPath}/{mdl.Text}.dae", settings, model, new List <STGenericTexture>());
            }

            System.Windows.Forms.MessageBox.Show($"Exported models Successfuly!");
        }
Ejemplo n.º 4
0
        static void ExportModel(MDL model)
        {
            IFileFormat fileFormat = (IFileFormat)model;
            string      daePath    = fileFormat.FileInfo.FileName.Replace(".mdl", ".dae");
            string      folder     = Path.GetFileNameWithoutExtension(fileFormat.FileInfo.FileName);
            string      folderDir  = Path.Combine(Path.GetDirectoryName(fileFormat.FileInfo.FilePath), folder);

            if (!Directory.Exists($"{folder}"))
            {
                Directory.CreateDirectory($"{folder}");
            }

            var materials    = model.Header.Materials;
            var drawElements = model.Header.DrawElements;

            //Export by draw element to export shape flags
            for (int i = 0; i < drawElements.Length; i++)
            {
                File.WriteAllText($"{folder}/Mesh{i}.json",
                                  model.ExportMaterial(drawElements[i]));
            }

            File.WriteAllText($"{folder}/SamplerList.json", model.ExportSamplers());

            var settings = new DAE.ExportSettings();

            settings.ImageFolder = folder;
            DAE.Export(Path.Combine(folderDir, daePath), settings, model);

            Console.WriteLine($"Exported model {model.FileInfo.FileName}!");
        }
Ejemplo n.º 5
0
        private void ExportAction(object sender, EventArgs args)
        {
            SaveFileDialog sfd = new SaveFileDialog();

            sfd.Filter   = "Collada DAE |*.dae;";
            sfd.FileName = System.IO.Path.GetFileNameWithoutExtension(FileName);
            if (sfd.ShowDialog() == DialogResult.OK)
            {
                var model     = new STGenericModel();
                var materials = new List <STGenericMaterial>();
                var textures  = new List <STGenericTexture>();
                foreach (var mesh in Renderer.Meshes)
                {
                    materials.Add(mesh.GetMaterial());
                }
                foreach (var mesh in Renderer.Meshes)
                {
                    mesh.MaterialIndex = materials.IndexOf(mesh.GetMaterial());
                }
                foreach (var tex in Renderer.TextureList)
                {
                    textures.Add(tex);
                }

                model.Materials = materials;
                model.Objects   = Renderer.Meshes;

                ExportModelSettings exportDlg = new ExportModelSettings();
                if (exportDlg.ShowDialog() == DialogResult.OK)
                {
                    DAE.Export(sfd.FileName, exportDlg.Settings, model, textures, Skeleton);
                }
            }
        }
Ejemplo n.º 6
0
        public void ExportModel(string fileName, DAE.ExportSettings settings)
        {
            var model = new STGenericModel();

            model.Materials = new List <STGenericMaterial>();
            model.Objects   = Renderer.Meshes;

            DAE.Export(fileName, settings, model, new List <STGenericTexture>(), new STSkeleton());
        }
Ejemplo n.º 7
0
        public void ExportModel(string fileName, DAE.ExportSettings settings)
        {
            var model = new STGenericModel();

            model.Materials = Materials;
            model.Objects   = Shapes;

            DAE.Export(fileName, settings, model, BcresParent.GetTextures(), Skeleton.Renderable);
        }
Ejemplo n.º 8
0
        public void ExportModel(string fileName, DAE.ExportSettings settings)
        {
            List <STGenericMaterial> Materials = new List <STGenericMaterial>();
            //  foreach (var msh in DataDictionary.Renderer.Meshes)
            //    Materials.Add(msh.GetMaterial());

            var model = new STGenericModel();

            model.Materials = Materials;
            model.Objects   = RenderedMeshes;

            DAE.Export(fileName, settings, model, new List <STGenericTexture>(), new STSkeleton());
        }
Ejemplo n.º 9
0
        public void ExportModel(IExportableModel exportableModel, string fileName, DAE.ExportSettings settings)
        {
            var model = new STGenericModel();

            model.Materials = exportableModel.ExportableMaterials;
            model.Objects   = exportableModel.ExportableMeshes;
            var textures = new List <STGenericTexture>();

            foreach (var tex in exportableModel.ExportableTextures)
            {
                textures.Add(tex);
            }

            DAE.Export(fileName, settings, model, textures, exportableModel.ExportableSkeleton);
        }
Ejemplo n.º 10
0
        public void ExportModel(string fileName, DAE.ExportSettings settings)
        {
            List <STGenericMaterial> Materials = new List <STGenericMaterial>();

            foreach (STGenericMaterial mat in Nodes[0].Nodes)
            {
                Materials.Add(mat);
            }

            var model = new STGenericModel();

            model.Materials = Materials;
            model.Objects   = ((GenericModelRenderer)DrawableContainer.Drawables[1]).Meshes;

            DAE.Export(fileName, settings, model, new List <STGenericTexture>(), ((STSkeleton)DrawableContainer.Drawables[0]));
        }
Ejemplo n.º 11
0
            public void BatchExportCombined(object sender, EventArgs args)
            {
                OpenFileDialog ofd = new OpenFileDialog();

                ofd.Multiselect = true;
                ofd.Filter      = "Supported Formats|*.bin";
                if (ofd.ShowDialog() != DialogResult.OK)
                {
                    return;
                }

                SaveFileDialog sfd = new SaveFileDialog();

                sfd.Filter = "Supported Formats|*.dae";
                if (sfd.ShowDialog() == DialogResult.OK)
                {
                    List <STGenericObject>   Objects   = new List <STGenericObject>();
                    STSkeleton               Skeleton  = new STSkeleton();
                    List <STGenericMaterial> Materials = new List <STGenericMaterial>();

                    int MatIndex = 0;
                    foreach (var file in ofd.FileNames)
                    {
                        LM2_ARCADE_Model model = new LM2_ARCADE_Model();
                        var stream             = File.Open(file, FileMode.Open);
                        model.Load(stream);
                        stream.Dispose();

                        foreach (STGenericMaterial mat in model.Nodes[0].Nodes)
                        {
                            mat.Text = $"Material {MatIndex++}";
                            Materials.Add(mat);
                        }

                        Skeleton.bones.AddRange(((STSkeleton)model.DrawableContainer.Drawables[0]).bones);
                        Objects.AddRange(((GenericModelRenderer)model.DrawableContainer.Drawables[1]).Meshes);

                        model.Unload();
                    }

                    ExportModelSettings settings = new ExportModelSettings();
                    if (settings.ShowDialog() == DialogResult.OK)
                    {
                        DAE.Export(sfd.FileName, settings.Settings, Objects, Materials, new List <STGenericTexture>(), Skeleton);
                    }
                }
            }
Ejemplo n.º 12
0
        public void ExportModel(string fileName, DAE.ExportSettings settings)
        {
            List <STGenericMaterial> Materials = new List <STGenericMaterial>();

            foreach (STGenericObject mesh in RenderedMeshes)
            {
                if (mesh.GetMaterial() != null)
                {
                    Materials.Add(mesh.GetMaterial());
                }
            }

            var model = new STGenericModel();

            model.Materials = Materials;
            model.Objects   = RenderedMeshes;

            DAE.Export(fileName, settings, model, new List <STGenericTexture>());
        }
Ejemplo n.º 13
0
        public void ExportModel(string fileName, DAE.ExportSettings settings)
        {
            var model = new STGenericModel();

            model.Materials = Model.GenericMaterials;
            model.Objects   = Model.GenericMeshes;
            var textures = new List <STGenericTexture>();

            foreach (var bntx in PluginRuntime.bntxContainers)
            {
                foreach (var tex in bntx.Textures.Values)
                {
                    if (Model.Textures.Contains(tex.Text))
                    {
                        textures.Add(tex);
                    }
                }
            }

            DAE.Export(fileName, settings, model, textures, Model.Skeleton);
        }
Ejemplo n.º 14
0
        private void ExportModel(string FileName)
        {
            var model = new STGenericModel();
            List <STGenericMaterial> Materials = new List <STGenericMaterial>();

            foreach (STGenericObject mesh in DataDictionary.Renderer.Meshes)
            {
                if (mesh.GetMaterial() != null)
                {
                    Materials.Add(mesh.GetMaterial());
                }
            }

            model.Materials = Materials;
            model.Objects   = DataDictionary.Renderer.Meshes;

            ExportModelSettings settings = new ExportModelSettings();

            if (settings.ShowDialog() == DialogResult.OK)
            {
                DAE.Export(FileName, settings.Settings, model, new List <STGenericTexture>());
            }
        }