From cb20a7f3ca8e0e03f713f026fd74ebdc04a94805 Mon Sep 17 00:00:00 2001 From: miku-666 <74728189+NessieHax@users.noreply.github.com> Date: Sun, 7 Jul 2024 13:52:05 +0200 Subject: [PATCH] Move 'GameTickInMilliseconds' to GameConstants --- PCK-Studio/Extensions/AnimationExtensions.cs | 4 ++-- PCK-Studio/Forms/Editor/AnimationEditor.cs | 9 +-------- PCK-Studio/Internal/Animation.cs | 2 -- PCK-Studio/Internal/GameConstants.cs | 3 +++ 4 files changed, 6 insertions(+), 12 deletions(-) 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 da56968e..b6ab15e4 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