diff --git a/PCK-Studio/Extensions/AnimationExtensions.cs b/PCK-Studio/Extensions/AnimationExtensions.cs index 9c6e2b8d..b9270538 100644 --- a/PCK-Studio/Extensions/AnimationExtensions.cs +++ b/PCK-Studio/Extensions/AnimationExtensions.cs @@ -20,10 +20,10 @@ namespace PckStudio.Extensions return null; } var ms = new System.IO.MemoryStream(); - var generateor = new AnimatedGifCreator(ms, Animation.GameTickInMilliseconds, 0); + var generateor = new AnimatedGifCreator(ms, GameConstants.GameTickInMilliseconds, 0); foreach (var frame in animation.GetInterpolatedFrames()) { - generateor.AddFrame(frame.Texture, frame.Ticks * Animation.GameTickInMilliseconds, GifQuality.Bit8); + generateor.AddFrame(frame.Texture, frame.Ticks * GameConstants.GameTickInMilliseconds, GifQuality.Bit8); } ms.Position = 0; return Image.FromStream(ms); diff --git a/PCK-Studio/Forms/Editor/AnimationEditor.cs b/PCK-Studio/Forms/Editor/AnimationEditor.cs index 698c2cb9..49e2a95b 100644 --- a/PCK-Studio/Forms/Editor/AnimationEditor.cs +++ b/PCK-Studio/Forms/Editor/AnimationEditor.cs @@ -465,14 +465,7 @@ namespace PckStudio.Forms.Editor }; if (fileDialog.ShowDialog(this) != DialogResult.OK) return; - - using (var gifWriter = AnimatedGif.AnimatedGif.Create(fileDialog.FileName, Animation.GameTickInMilliseconds, repeat: 0)) - { - foreach (var frame in _animation.GetInterpolatedFrames()) - { - gifWriter.AddFrame(frame.Texture, frame.Ticks * Animation.GameTickInMilliseconds, GifQuality.Bit8); - } - } + _animation.CreateAnimationImage().Save(fileDialog.FileName); } private void frameTimeandTicksToolStripMenuItem_Click(object sender, EventArgs e) diff --git a/PCK-Studio/Internal/Animation.cs b/PCK-Studio/Internal/Animation.cs index 66f8f6a5..b64bd9e7 100644 --- a/PCK-Studio/Internal/Animation.cs +++ b/PCK-Studio/Internal/Animation.cs @@ -29,8 +29,6 @@ namespace PckStudio.Internal { public const int MinimumFrameTime = 1; - public const int GameTickInMilliseconds = 50; - public int FrameCount => frames.Count; public int TextureCount => textures.Count; diff --git a/PCK-Studio/Internal/GameConstants.cs b/PCK-Studio/Internal/GameConstants.cs index 6f055546..72abeb67 100644 --- a/PCK-Studio/Internal/GameConstants.cs +++ b/PCK-Studio/Internal/GameConstants.cs @@ -9,6 +9,9 @@ namespace PckStudio.Internal { internal static class GameConstants { + + public const int GameTickInMilliseconds = 50; + // See: https://minecraft.fandom.com/wiki/Dye#Color_values for more information. public static readonly Color[] DyeColors = [ Color.FromArgb(0xf9fffe), // White