예제 #1
0
        public override void Replace(string FileName)
        {
            GamecubeTextureImporterList     importer = new GamecubeTextureImporterList(SupportedFormats);
            GameCubeTextureImporterSettings settings = new GameCubeTextureImporterSettings();

            importer.ForceMipCount    = true;
            importer.SelectedMipCount = 1;

            settings.LoadBitMap(FileName);
            importer.LoadSettings(new List <GameCubeTextureImporterSettings>()
            {
                settings,
            });
            settings.MipCount = 1;
            settings.Format   = Decode_Gamecube.FromGenericFormat(Format);

            if (importer.ShowDialog() == DialogResult.OK)
            {
                if (settings.GenerateMipmaps && !settings.IsFinishedCompressing)
                {
                    settings.Compress();
                }

                ApplySettings(settings);
                UpdateEditor();
            }
        }
예제 #2
0
 private void ApplySettings(GameCubeTextureImporterSettings settings)
 {
     this.ImageData  = settings.DataBlockOutput[0];
     this.Width      = settings.TexWidth;
     this.Height     = settings.TexHeight;
     this.Format     = settings.GenericFormat;
     this.MipCount   = 1; //Always 1
     this.Depth      = 1;
     this.ArrayCount = (uint)settings.DataBlockOutput.Count;
 }
예제 #3
0
        private void ApplySettings(GameCubeTextureImporterSettings settings)
        {
            if (this.Width != settings.TexWidth)
            {
                throw new Exception("The image should be the same width as the original!");
            }
            if (this.Height != settings.TexHeight)
            {
                throw new Exception("The image should be the same height as the original!");
            }

            this.TextureTGLP.SheetDataList[SheetIndex] = settings.DataBlockOutput[0];
            this.TextureTGLP.Format = (ushort)Decode_Gamecube.FromGenericFormat(settings.GenericFormat);
            this.Format             = settings.GenericFormat;
            this.MipCount           = 1; //Always 1
            this.Depth      = 1;
            this.ArrayCount = (uint)settings.DataBlockOutput.Count;
        }
예제 #4
0
파일: TPL.cs 프로젝트: week9/Switch-Toolbox
            public override void Replace(string FileName)
            {
                GamecubeTextureImporterList     importer = new GamecubeTextureImporterList(SupportedFormats);
                GameCubeTextureImporterSettings settings = new GameCubeTextureImporterSettings();

                importer.ForceMipCount = true;
                if (MipCount == 1)
                {
                    importer.SelectedMipCount = 1;
                }

                if (Utils.GetExtension(FileName) == ".dds" ||
                    Utils.GetExtension(FileName) == ".dds2")
                {
                    settings.LoadDDS(FileName);
                    importer.LoadSettings(new List <GameCubeTextureImporterSettings>()
                    {
                        settings,
                    });

                    ApplySettings(settings);
                    UpdateEditor();
                }
                else
                {
                    settings.LoadBitMap(FileName);
                    importer.LoadSettings(new List <GameCubeTextureImporterSettings>()
                    {
                        settings,
                    });

                    if (importer.ShowDialog() == DialogResult.OK)
                    {
                        if (settings.GenerateMipmaps && !settings.IsFinishedCompressing)
                        {
                            settings.Compress();
                        }

                        ApplySettings(settings);
                        UpdateEditor();
                    }
                }
            }
예제 #5
0
파일: TPL.cs 프로젝트: week9/Switch-Toolbox
            private void ApplySettings(GameCubeTextureImporterSettings settings)
            {
                if (ImageHeader == null)
                {
                    ImageHeader = new TPL_IO.ImageHeaderV2();
                }

                this.ImageData  = settings.DataBlockOutput[0];
                this.Width      = settings.TexWidth;
                this.Height     = settings.TexHeight;
                this.Format     = settings.GenericFormat;
                this.MipCount   = settings.MipCount;
                this.Depth      = 1; //Always 1
                this.ArrayCount = 1;
                UpdateHeader();

                if (this.RenderableTex != null)
                {
                    this.LoadOpenGLTexture();
                }
            }