Beispiel #1
0
        private void ButtonIMPORT_Click(object sender, RoutedEventArgs e)
        {
            ConsoleOutputDocument.Blocks.Clear();

            var thread = new Thread(new ThreadStart(() =>
            {
                try
                {
                    Dispatcher.Invoke(() =>
                    {
                        SaveConfig();

                        Importer = new FBX2FLVERImporter();
                        Importer.JOBCONFIG.MTDBNDPath      = TextBoxMTDBNDPath.Text;
                        Importer.JOBCONFIG.Preset          = (FBX2FLVERImportJobConfig.FlverGamePreset)(ComboBoxGameSelect.SelectedItem);
                        Importer.JOBCONFIG.FBXPath         = TextBoxFBXPath.Text;
                        Importer.JOBCONFIG.OutputFlverPath = TextBoxFLVEROutputMain.Text;
                        Importer.JOBCONFIG.OutputTpfPath   = TextBoxTPFOutputMain.Text;

                        if (float.TryParse(TextBoxImportScalePercent.Text, out float scalePercent))
                        {
                            Importer.JOBCONFIG.Scale = scalePercent / 100;
                        }
                        else
                        {
                            MessageBox.Show("Value for Import Scale Percent is not a number.", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
                            return;
                        }

                        Importer.JOBCONFIG.ImportSkeletonFromFLVER = TextBoxImportSkeletonFLVER.Text;

                        Importer.InfoTextOutputted    += Importer_InfoTextOutputted;
                        Importer.WarningTextOutputted += Importer_WarningTextOutputted;
                        Importer.ErrorTextOutputted   += Importer_ErrorTextOutputted;

                        Importer.ImportStarted += Importer_ImportStarted;
                        Importer.ImportEnding  += Importer_ImportEnding;
                    });



                    Importer.Import();
                    //Dispatcher.Invoke(() =>
                    //{
                    //    Importer.Import();
                    //});
                }
                catch (Exception ex)
                {
                    AddRunToConsole($"An error occurred while trying to import:\n\n{ex.ToString()}", Colors.Red, Colors.Black, isBold: true);
                }
            }));

            thread.IsBackground = true;
            thread.Start();
        }
Beispiel #2
0
        public static void NotMain(string[] args)
        {
            Console.ForegroundColor = ConsoleColor.White;

            var importer = new FBX2FLVERImporter();

            importer.ErrorTextOutputted   += Importer_ErrorTextOutputted;
            importer.WarningTextOutputted += Importer_WarningTextOutputted;

            //var flverTestLoad = SoulsFormats.FLVER.Read(@"C:\Program Files (x86)\Steam\steamapps\common\Dark Souls II Scholar of the First Sin\Game\model\parts\body\bd_6650_m-bnd\BD_6650_M.flv");

            //flverTestLoad.Header.Version = 0x2000C;

            //flverTestLoad.Write(@"C:\Program Files (x86)\Steam\steamapps\common\Dark Souls II Scholar of the First Sin\Game\model\parts\body\bd_6650_m-bnd\BD_6650_M_ds1.flver");

            //return;


            //DebugPrintBufferlayouts(SoulsFormats.FLVER.Read(@"C:\Program Files (x86)\Steam\steamapps\common\Dark Souls Prepare to Die Edition\DATA\chr\c4100-chrbnd\chr\c4100\c4100.flver"));
            //DebugPrintBufferlayouts(SoulsFormats.FLVER.Read(@"C:\Program Files (x86)\Steam\steamapps\common\Dark Souls Prepare to Die Edition\DATA\chr\c4100_bak-chrbnd\chr\c4100\c4100.flver"));
            //DebugPrintBufferlayouts(SoulsFormats.FLVER.Read(@"C:\Program Files (x86)\Steam\steamapps\common\Dark Souls II Scholar of the First Sin\Game\model\parts\body\bd_6650_m-bnd\BD_6650_M.flv"));
            //Console.WriteLine("\nPress any key to exit.");
            //Console.ReadKey(true);
            //return;

            //importer.JOBCONFIG.ChooseGamePreset(FBX2FLVERImportJobConfig.FlverGamePreset.DS2Static);
            //importer.JOBCONFIG.LoadMTDBND(@"C:\Program Files (x86)\Steam\steamapps\common\Dark Souls II Scholar of the First Sin\Game\material\allmaterialbnd.bnd", isBND4: true);
            //importer.JOBCONFIG.LoadFBX(@"D:\FRPG_MOD\FBX Import Test\changeling_ugs.FBX");
            //importer.JOBCONFIG.OutputFlverPath = @"C:\Program Files (x86)\Steam\steamapps\common\Dark Souls II Scholar of the First Sin\Game\model\parts\weapon\wp_1800_m-bnd\WP_1800_M.flv";
            //importer.JOBCONFIG.OutputTpfPath = @"C:\Program Files (x86)\Steam\steamapps\common\Dark Souls II Scholar of the First Sin\Game\model\parts\weapon\wp_1800_m-bnd\WP_1800_M.tpf";
            //importer.Import();

            importer.JOBCONFIG.Preset     = FBX2FLVERImportJobConfig.FlverGamePreset.DS2Skinned;
            importer.JOBCONFIG.MTDBNDPath = @"C:\Program Files (x86)\Steam\steamapps\common\Dark Souls II Scholar of the First Sin\Game\material\allmaterialbnd.bnd";
            importer.JOBCONFIG.FBXPath    = @"D:\FRPG_MOD\FBX Import Test\CJDS2TEST.FBX";
            importer.JOBCONFIG.Scale      = 6.45f;
            //importer.JOBCONFIG.SkeletonRotation = new Microsoft.Xna.Framework.Vector3(0,gi 0, -Microsoft.Xna.Framework.MathHelper.PiOver2);
            //importer.JOBCONFIG.ImportSkeletonFromFLVER = @"C:\Program Files (x86)\Steam\steamapps\common\Dark Souls II Scholar of the First Sin\Game\model\parts\body\bd_6650_m-bnd\BD_6650_M.flv";
            importer.JOBCONFIG.OutputFlverPath = @"C:\Program Files (x86)\Steam\steamapps\common\Dark Souls II Scholar of the First Sin\Game\model\parts\body\bd_6750_m-bnd\BD_6750_M.flv";
            importer.JOBCONFIG.OutputTpfPath   = @"C:\Program Files (x86)\Steam\steamapps\common\Dark Souls II Scholar of the First Sin\Game\model\parts\body\bd_6750_m-bnd\BD_6750_M.tpf";

            importer.JOBCONFIG.BeforeSaveAction = (f, t) =>
            {
                foreach (var mat in f.Materials)
                {
                    //0b00000000_00000000_00000000_10000000 no apparent effect
                    //0b00000000_00000000_00000001_00000000 crashes
                    //0b00000000_00000000_00000010_00000000 crashes
                    mat.Flags = -1;
                }
            };

            importer.Import();



            //importer.JOBCONFIG.ChooseGamePreset(FBX2FLVERImportJobConfig.FlverGamePreset.DS1Skinned);
            //importer.JOBCONFIG.LoadMTDBND(@"C:\Program Files (x86)\Steam\steamapps\common\Dark Souls Prepare to Die Edition\DATA\mtd\Mtd.mtdbnd", isBND4: false);
            //importer.JOBCONFIG.LoadFBX(@"D:\FRPG_MOD\FBX Import Test\ArtoriasSkeletonTest.fbx");
            ////importer.JOBCONFIG.UseAbsoluteVertPositions = false;
            //importer.JOBCONFIG.ScalePercent = 39.37f;
            //importer.JOBCONFIG.OutputFlverPath = @"C:\Program Files (x86)\Steam\steamapps\common\Dark Souls Prepare to Die Edition\DATA\chr\c4100-chrbnd\chr\c4100\c4100.flver";
            //importer.JOBCONFIG.OutputTpfPath = @"C:\Program Files (x86)\Steam\steamapps\common\Dark Souls Prepare to Die Edition\DATA\chr\c4100-chrbnd\chr\c4100\c4100.tpf";
            //importer.JOBCONFIG.GenerateLodAndMotionBlur = true;
            //importer.Import();

            //importer.JOBCONFIG.ChooseGamePreset(FBX2FLVERImportJobConfig.FlverGamePreset.DS3Static);
            //importer.JOBCONFIG.LoadMTDBND(@"C:\Program Files (x86)\Steam\steamapps\common\DARK SOULS III\Game\mtd\allmaterialbnd.mtdbnd.dcx", isBND4: true);
            //importer.JOBCONFIG.LoadFBX(@"D:\FRPG_MOD\FBX Import Test\darklordsword3.fbx");
            ////importer.JOBCONFIG.UseAbsoluteVertPositions = false;
            //importer.JOBCONFIG.ScalePercent = 200;
            //importer.JOBCONFIG.SceneRotation = new Microsoft.Xna.Framework.Vector3(0, 0, -Microsoft.Xna.Framework.MathHelper.PiOver2);
            //importer.JOBCONFIG.OutputFlverPath = @"C:\Program Files (x86)\Steam\steamapps\common\DARK SOULS III\Game\parts\wp_a_0201-partsbnd-dcx\parts\Weapon\WP_A_0201\WP_A_0201.flver";
            //importer.JOBCONFIG.OutputTpfPath = @"C:\Program Files (x86)\Steam\steamapps\common\DARK SOULS III\Game\parts\wp_a_0201-partsbnd-dcx\parts\Weapon\WP_A_0201\WP_A_0201_bad.tpf";
            //importer.JOBCONFIG.GenerateLodAndMotionBlur = true;



            //importer.JOBCONFIG.ChooseGamePreset(FBX2FLVERImportJobConfig.FlverGamePreset.DS3Static);
            //importer.JOBCONFIG.LoadMTDBND(@"C:\Program Files (x86)\Steam\steamapps\common\DARK SOULS III\Game\mtd\allmaterialbnd.mtdbnd.dcx", isBND4: true);
            //importer.JOBCONFIG.LoadFBX(@"D:\FRPG_MOD\FBX Import Test\darklordsword3.fbx");
            ////importer.JOBCONFIG.UseAbsoluteVertPositions = false;
            //importer.JOBCONFIG.ScalePercent = 10;
            //importer.JOBCONFIG.SceneRotation = new Microsoft.Xna.Framework.Vector3(0, 0, -Microsoft.Xna.Framework.MathHelper.PiOver2);
            //importer.JOBCONFIG.OutputFlverPath = @"C:\Program Files (x86)\Steam\steamapps\common\DARK SOULS III\Game\parts\wp_a_0827-partsbnd-dcx\parts\Weapon\WP_A_0827\WP_A_0827.flver";
            //importer.JOBCONFIG.OutputTpfPath = @"C:\Program Files (x86)\Steam\steamapps\common\DARK SOULS III\Game\parts\wp_a_0827-partsbnd-dcx\parts\Weapon\WP_A_0827\WP_A_0827_bad.tpf";
            //importer.JOBCONFIG.GenerateLodAndMotionBlur = true;
            //importer.JOBCONFIG.BeforeSaveAction = (flver, tpf) =>
            //{
            //    var dmy120 = flver.Dummies.First(d => d.ReferenceID == 120);
            //    var dmy100 = flver.Dummies.First(d => d.ReferenceID == 100);

            //    dmy120.ReferenceID = 300;
            //    dmy100.ReferenceID = 301;

            //    //flver.Dummies.Clear();

            //    //flver.Dummies.Add(dmy120);
            //    //flver.Dummies.Add(dmy100);
            //};
            //importer.Import();



            //importer.JOBCONFIG.ChooseGamePreset(FBX2FLVERImportJobConfig.FlverGamePreset.DS3Skinned);
            //importer.JOBCONFIG.LoadMTDBND(@"C:\Program Files (x86)\Steam\steamapps\common\DARK SOULS III\Game\mtd\allmaterialbnd.mtdbnd.dcx", isBND4: true);
            //importer.JOBCONFIG.LoadFBX(@"D:\FRPG_MOD\FBX Import Test\CJ_DS3.fbx");
            ////importer.JOBCONFIG.ScalePercent = 39.37f;
            //importer.JOBCONFIG.SceneRotation = new Microsoft.Xna.Framework.Vector3(0, 0, -Microsoft.Xna.Framework.MathHelper.PiOver2);
            //importer.JOBCONFIG.OutputFlverPath = @"C:\Program Files (x86)\Steam\steamapps\common\DARK SOULS III\Game\parts\bd_m_1950-partsbnd-dcx\parts\FullBody\BD_M_1950\BD_M_1950.flver";
            //importer.JOBCONFIG.OutputTpfPath = @"C:\Program Files (x86)\Steam\steamapps\common\DARK SOULS III\Game\parts\bd_m_1950-partsbnd-dcx\parts\FullBody\BD_M_1950\BD_M_1950.tpf";
            //importer.JOBCONFIG.GenerateLodAndMotionBlur = true;
            //importer.Import();



            Console.WriteLine("\nPress any key to exit.");

            Console.ReadKey(true);
        }