diff --git a/BizHawk.MultiClient/MainForm.cs b/BizHawk.MultiClient/MainForm.cs
index 0a179fdb53..88125dba1c 100644
--- a/BizHawk.MultiClient/MainForm.cs
+++ b/BizHawk.MultiClient/MainForm.cs
@@ -4888,121 +4888,6 @@ namespace BizHawk.MultiClient
return ret;
}
- #region Animaged Gifs
- ///
- /// Creates Animated Gifs
- ///
- /// Total number of frames in the gif
- /// How many frames to skip per screenshot in the image.
- /// A value of 5 means that frame 1002 will be an image and 1007 will be an image in the gif
- /// A value of 1 means that frame 1001 will be an image and 1002 will be an image in the gif
- /// How quickly the animated gif will run. A value of 1 or -1 = normal emulator speed.
- /// A value of 2 will double the speed of the gif.
- /// Input a negative value to slow down the speed of the gif.
- /// A value of -2 will be half speed
- /// Flag for making the gif loop back and forth
- /// location to save the file
- /// false if the parameters are incorrect, true if it completes
- public bool AnimatedGif(int num_images, int frameskip, int gifSpeed, bool reversable, String filename)
- {
- if (num_images < 1 || frameskip < 1 || gifSpeed == 0) return false;//Exits if settings are bad
- #region declare/insantiate variables
- List images = new List(); //Variable for holding all images for the gif animation
- // Such a scenario could be a frameskip setting of 2 and a gifSpeed setting of 3
- // This would result in 1 of every 3 images being requested getting skipped.
- // My math might be wrong at this hour, but you get the point!
- int speedTracker = 0; // To keep track of when to add another image to the list
- bool status = PressFrameAdvance;
- PressFrameAdvance = true;
- #endregion
-
- #region Get the Images for the File
- int totalFrames = (gifSpeed > 0 ? num_images : (num_images * (gifSpeed * -1)));
- images.Add(Global.Config.Screenshot_CaptureOSD ? CaptureOSD() : MakeScreenshotImage());
- while (images.Count < totalFrames)
- {
- Image tempImage = Global.Config.Screenshot_CaptureOSD ? CaptureOSD() : MakeScreenshotImage(); //Holding the image in case it doesn't end up being added to the animation
- if (gifSpeed < 0)
- for (speedTracker = 0; speedTracker > gifSpeed; speedTracker--)
- images.Add(tempImage); //If the speed of the animation is to be slowed down, then add that many copies
- //of the image to the list
-
- for (int j = 0; j < frameskip; j++)
- {
- StepRunLoop_Core();
- Global.Emulator.FrameAdvance(true); //Frame advance
- //Global.RenderPanel.Render(Global.Emulator.VideoProvider);
-
- if (gifSpeed > 0)
- {
- speedTracker++;//Advance the frame counter for adding to the List of Images
- if (speedTracker == Math.Max(gifSpeed, frameskip))
- {
- images.Add(tempImage);
- speedTracker = 0;
- }
- }
- }
- }
- #endregion
- PressFrameAdvance = status;
-
- /*
- * The following code was obtained from here:
- * http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/0c4252c8-8274-449c-ad9b-e4f07a8f8cdd/
- * Modified to work with the BizHawk Project
- */
- #region make gif file
- byte[] GifAnimation = { 33, 255, 11, 78, 69, 84, 83, 67, 65, 80, 69, 50, 46, 48, 3, 1, 0, 0, 0 };
- MemoryStream MS = new MemoryStream();
- var fi = new FileInfo(filename);
- if (fi.Directory != null && fi.Directory.Exists == false)
- fi.Directory.Create();
- BinaryWriter BW = new BinaryWriter(new FileStream(filename, FileMode.Create));
- images[0].Save(MS, ImageFormat.Gif);
- byte[] B = MS.ToArray();
- B[10] = (byte)(B[10] & 0X78); //No global color table.
- BW.Write(B, 0, 13);
- BW.Write(GifAnimation);
- WriteGifImg(B, BW);
- for (int I = 1; I < images.Count; I++)
- {
- MS.SetLength(0);
- images[I].Save(MS, ImageFormat.Gif);
- B = MS.ToArray();
- WriteGifImg(B, BW);
- }
- if (reversable)
- {
- for (int I = images.Count - 2; I >= 0; I--)//Start at (count - 2) because last image is already in place
- {
- MS.SetLength(0);
- images[I].Save(MS, ImageFormat.Gif);
- B = MS.ToArray();
- WriteGifImg(B, BW);
- }
- }
- BW.Write(B[B.Length - 1]);
- BW.Close();
- MS.Dispose();
- #endregion
-
- return true;
- }
-
- public void WriteGifImg(byte[] B, BinaryWriter BW)
- {
- byte[] Delay = { 0, 0 };
- B[785] = Delay[0];
- B[786] = Delay[1];
- B[798] = (byte)(B[798] | 0X87);
- BW.Write(B, 781, 18);
- BW.Write(B, 13, 768);
- BW.Write(B, 799, B.Length - 800);
- }
-
- #endregion
-
private void ShowConsole()
{
LogConsole.ShowConsole();