2011-02-21 09:48:53 +00:00
|
|
|
using System;
|
|
|
|
using System.Drawing;
|
|
|
|
using System.IO;
|
|
|
|
using System.Windows.Forms;
|
|
|
|
using BizHawk.Emulation.Consoles.Calculator;
|
2012-03-12 05:19:59 +00:00
|
|
|
using System.Drawing.Imaging;
|
2012-09-15 16:43:16 +00:00
|
|
|
using BizHawk.Emulation.Consoles.Nintendo.SNES;
|
2011-02-21 09:48:53 +00:00
|
|
|
|
|
|
|
namespace BizHawk.MultiClient
|
|
|
|
{
|
|
|
|
partial class MainForm
|
|
|
|
{
|
2012-09-06 08:32:25 +00:00
|
|
|
|
2011-07-11 07:35:14 +00:00
|
|
|
private void recordAVIToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-07-11 23:26:20 +00:00
|
|
|
RecordAVI();
|
2011-07-11 07:35:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void stopAVIToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-07-11 23:26:20 +00:00
|
|
|
StopAVI();
|
2011-07-11 07:35:14 +00:00
|
|
|
}
|
|
|
|
|
2011-07-10 21:00:28 +00:00
|
|
|
private void DumpStatus_Click(object sender, EventArgs e)
|
|
|
|
{
|
2012-12-10 00:43:43 +00:00
|
|
|
string details = Global.Emulator.CoreComm.RomStatusDetails;
|
2012-12-03 21:19:39 +00:00
|
|
|
if (string.IsNullOrEmpty(details)) return;
|
2011-07-21 22:51:32 +00:00
|
|
|
Global.Sound.StopSound();
|
2012-12-03 21:19:39 +00:00
|
|
|
LogWindow.ShowReport("Dump Status Report", details, this);
|
2011-07-21 22:51:32 +00:00
|
|
|
Global.Sound.StartSound();
|
2011-07-10 21:00:28 +00:00
|
|
|
}
|
|
|
|
|
2011-03-21 00:54:30 +00:00
|
|
|
private void RAMPokeToolStripMenuItem_Click(object sender, EventArgs e)
|
2011-02-21 09:48:53 +00:00
|
|
|
{
|
2012-01-22 22:42:40 +00:00
|
|
|
LoadRamPoke();
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void saveWindowPositionToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.SaveWindowPosition ^= true;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void startPausedToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.StartPaused ^= true;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void luaConsoleToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2012-01-10 01:30:17 +00:00
|
|
|
OpenLuaConsole();
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void miLimitFramerate_Click(object sender, EventArgs e)
|
|
|
|
{
|
2012-11-12 17:57:11 +00:00
|
|
|
Global.Config.ClockThrottle ^= true;
|
|
|
|
if (Global.Config.ClockThrottle)
|
|
|
|
{
|
|
|
|
bool old = Global.Config.SoundThrottle;
|
|
|
|
Global.Config.SoundThrottle = false;
|
|
|
|
if (old)
|
|
|
|
RewireSound();
|
|
|
|
old = Global.Config.VSyncThrottle;
|
|
|
|
Global.Config.VSyncThrottle = false;
|
|
|
|
if (old)
|
|
|
|
Global.RenderPanel.Resized = true;
|
|
|
|
}
|
2012-07-12 19:23:39 +00:00
|
|
|
LimitFrameRateMessage();
|
|
|
|
}
|
|
|
|
|
2012-11-12 17:57:11 +00:00
|
|
|
private void audioThrottleToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.SoundThrottle ^= true;
|
|
|
|
RewireSound();
|
|
|
|
if (Global.Config.SoundThrottle)
|
|
|
|
{
|
|
|
|
Global.Config.ClockThrottle = false;
|
|
|
|
bool old = Global.Config.VSyncThrottle;
|
|
|
|
Global.Config.VSyncThrottle = false;
|
|
|
|
if (old)
|
|
|
|
Global.RenderPanel.Resized = true;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
private void miDisplayVsync_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.VSyncThrottle ^= true;
|
|
|
|
Global.RenderPanel.Resized = true;
|
|
|
|
if (Global.Config.VSyncThrottle)
|
|
|
|
{
|
|
|
|
Global.Config.ClockThrottle = false;
|
|
|
|
bool old = Global.Config.SoundThrottle;
|
|
|
|
Global.Config.SoundThrottle = false;
|
|
|
|
if (old)
|
|
|
|
RewireSound();
|
|
|
|
}
|
|
|
|
VsyncMessage();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void vSyncEnabledToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.VSync ^= true;
|
|
|
|
if (!Global.Config.VSyncThrottle) // when vsync throttle is on, vsync is forced to on, so no change to make here
|
|
|
|
Global.RenderPanel.Resized = true;
|
|
|
|
}
|
|
|
|
|
2012-07-12 19:23:39 +00:00
|
|
|
public void LimitFrameRateMessage()
|
|
|
|
{
|
2012-11-12 17:57:11 +00:00
|
|
|
if (Global.Config.ClockThrottle)
|
2012-07-12 19:23:39 +00:00
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("Framerate limiting on");
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("Framerate limiting off");
|
|
|
|
}
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
|
2012-07-12 19:36:07 +00:00
|
|
|
|
|
|
|
public void VsyncMessage()
|
|
|
|
{
|
2012-11-12 17:57:11 +00:00
|
|
|
if (Global.Config.VSyncThrottle)
|
2012-07-12 19:36:07 +00:00
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("Display Vsync is set to on");
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("Display Vsync is set to off");
|
|
|
|
}
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void miAutoMinimizeSkipping_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.AutoMinimizeSkipping ^= true;
|
|
|
|
}
|
|
|
|
|
2012-07-12 19:02:30 +00:00
|
|
|
public void MinimizeFrameskipMessage()
|
|
|
|
{
|
|
|
|
if (Global.Config.AutoMinimizeSkipping)
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("Autominimizing set to on");
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("Autominimizing set to off");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2012-07-12 18:39:24 +00:00
|
|
|
private void miFrameskip0_Click(object sender, EventArgs e) { Global.Config.FrameSkip = 0; FrameSkipMessage(); }
|
|
|
|
private void miFrameskip1_Click(object sender, EventArgs e) { Global.Config.FrameSkip = 1; FrameSkipMessage(); }
|
|
|
|
private void miFrameskip2_Click(object sender, EventArgs e) { Global.Config.FrameSkip = 2; FrameSkipMessage(); }
|
|
|
|
private void miFrameskip3_Click(object sender, EventArgs e) { Global.Config.FrameSkip = 3; FrameSkipMessage(); }
|
|
|
|
private void miFrameskip4_Click(object sender, EventArgs e) { Global.Config.FrameSkip = 4; FrameSkipMessage(); }
|
|
|
|
private void miFrameskip5_Click(object sender, EventArgs e) { Global.Config.FrameSkip = 5; FrameSkipMessage(); }
|
|
|
|
private void miFrameskip6_Click(object sender, EventArgs e) { Global.Config.FrameSkip = 6; FrameSkipMessage(); }
|
|
|
|
private void miFrameskip7_Click(object sender, EventArgs e) { Global.Config.FrameSkip = 7; FrameSkipMessage(); }
|
|
|
|
private void miFrameskip8_Click(object sender, EventArgs e) { Global.Config.FrameSkip = 8; FrameSkipMessage(); }
|
|
|
|
private void miFrameskip9_Click(object sender, EventArgs e) { Global.Config.FrameSkip = 9; FrameSkipMessage(); }
|
2011-02-21 09:48:53 +00:00
|
|
|
|
2012-07-12 18:39:24 +00:00
|
|
|
public void FrameSkipMessage()
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("Frameskipping set to " + Global.Config.FrameSkip.ToString());
|
|
|
|
}
|
|
|
|
|
|
|
|
public void ClickSpeedItem(int num)
|
2011-06-26 01:22:52 +00:00
|
|
|
{
|
|
|
|
if ((Control.ModifierKeys & Keys.Control) != 0) SetSpeedPercentAlternate(num);
|
|
|
|
else SetSpeedPercent(num);
|
|
|
|
}
|
2011-06-10 07:12:57 +00:00
|
|
|
private void miSpeed50_Click(object sender, EventArgs e) { ClickSpeedItem(50); }
|
2011-06-26 01:22:52 +00:00
|
|
|
private void miSpeed75_Click(object sender, EventArgs e) { ClickSpeedItem(75); }
|
|
|
|
private void miSpeed100_Click(object sender, EventArgs e) { ClickSpeedItem(100); }
|
|
|
|
private void miSpeed150_Click(object sender, EventArgs e) { ClickSpeedItem(150); }
|
|
|
|
private void miSpeed200_Click(object sender, EventArgs e) { ClickSpeedItem(200); }
|
2011-02-21 09:48:53 +00:00
|
|
|
|
|
|
|
private void pauseWhenMenuActivatedToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.PauseWhenMenuActivated ^= true;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void soundToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
SoundConfig s = new SoundConfig();
|
sound api changes. added a new ISyncSoundProvider, which works similarly to ISoundProvider except the source (not the sink) determines the number of samples to process. Added facilities to metaspu, dcfilter, speexresampler to work with ISyncSoundProvider. Add ISyncSoundProvider to IEmulator. All IEmulators must provide sync sound, but they need not provide async sound. When async is needed and an IEmulator doesn't provide it, the frontend will wrap it in a vecna metaspu. SNES, GB changed to provide sync sound only. All other emulator cores mostly unchanged; they just provide stub fakesync alongside async, for now. For the moment, the only use of the sync sound is for realtime audio throttling, where it works and sounds quite nice. In the future, sync sound will be supported for AV dumping as well.
2012-10-11 00:44:59 +00:00
|
|
|
var result = s.ShowDialog();
|
|
|
|
if (result == System.Windows.Forms.DialogResult.OK)
|
|
|
|
RewireSound();
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void zoomMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
if (sender == x1MenuItem) Global.Config.TargetZoomFactor = 1;
|
|
|
|
if (sender == x2MenuItem) Global.Config.TargetZoomFactor = 2;
|
|
|
|
if (sender == x3MenuItem) Global.Config.TargetZoomFactor = 3;
|
|
|
|
if (sender == x4MenuItem) Global.Config.TargetZoomFactor = 4;
|
|
|
|
if (sender == x5MenuItem) Global.Config.TargetZoomFactor = 5;
|
|
|
|
if (sender == mzMenuItem) Global.Config.TargetZoomFactor = 10;
|
|
|
|
|
|
|
|
x1MenuItem.Checked = Global.Config.TargetZoomFactor == 1;
|
|
|
|
x2MenuItem.Checked = Global.Config.TargetZoomFactor == 2;
|
|
|
|
x3MenuItem.Checked = Global.Config.TargetZoomFactor == 3;
|
|
|
|
x4MenuItem.Checked = Global.Config.TargetZoomFactor == 4;
|
|
|
|
x5MenuItem.Checked = Global.Config.TargetZoomFactor == 5;
|
|
|
|
mzMenuItem.Checked = Global.Config.TargetZoomFactor == 10;
|
|
|
|
|
|
|
|
FrameBufferResized();
|
|
|
|
}
|
|
|
|
|
2012-07-15 08:50:24 +00:00
|
|
|
private void DisplayFilterMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
if (sender == DisplayFilterNoneMenuItem) Global.Config.TargetDisplayFilter = 0;
|
|
|
|
if (sender == x2SAIMenuItem) Global.Config.TargetDisplayFilter = 1;
|
|
|
|
if (sender == SuperX2SAIMenuItem) Global.Config.TargetDisplayFilter = 2;
|
|
|
|
if (sender == SuperEagleMenuItem) Global.Config.TargetDisplayFilter = 3;
|
|
|
|
|
|
|
|
DisplayFilterNoneMenuItem.Checked = Global.Config.TargetDisplayFilter == 0;
|
|
|
|
x2SAIMenuItem.Checked = Global.Config.TargetDisplayFilter == 1;
|
|
|
|
SuperX2SAIMenuItem.Checked = Global.Config.TargetDisplayFilter == 2;
|
|
|
|
SuperEagleMenuItem.Checked = Global.Config.TargetDisplayFilter == 3;
|
|
|
|
}
|
|
|
|
|
2012-03-11 17:19:15 +00:00
|
|
|
private void smsEnableFMChipToolStripMenuItem_Click(object sender, EventArgs e)
|
2011-02-21 09:48:53 +00:00
|
|
|
{
|
|
|
|
Global.Config.SmsEnableFM ^= true;
|
2012-09-29 23:03:51 +00:00
|
|
|
FlagNeedsReboot();
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
|
2012-03-11 17:19:15 +00:00
|
|
|
private void smsOverclockWhenKnownSafeToolStripMenuItem_Click(object sender, EventArgs e)
|
2011-02-21 09:48:53 +00:00
|
|
|
{
|
|
|
|
Global.Config.SmsAllowOverlock ^= true;
|
2012-09-29 23:03:51 +00:00
|
|
|
FlagNeedsReboot();
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
|
2012-03-11 17:19:15 +00:00
|
|
|
private void smsForceStereoSeparationToolStripMenuItem_Click(object sender, EventArgs e)
|
2011-02-21 09:48:53 +00:00
|
|
|
{
|
|
|
|
Global.Config.SmsForceStereoSeparation ^= true;
|
2012-09-29 23:03:51 +00:00
|
|
|
FlagNeedsReboot();
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
|
2011-09-19 00:39:28 +00:00
|
|
|
private void smsSpriteLimitToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.SmsSpriteLimit ^= true;
|
2012-09-30 00:58:08 +00:00
|
|
|
FlagNeedsReboot();
|
2011-09-19 00:39:28 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void pceAlwaysPerformSpriteLimitToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.PceSpriteLimit ^= true;
|
2012-09-30 00:58:08 +00:00
|
|
|
FlagNeedsReboot();
|
2011-09-19 00:39:28 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void pceAlwayEqualizeVolumesLimitToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.PceEqualizeVolume ^= true;
|
2012-09-30 00:58:08 +00:00
|
|
|
FlagNeedsReboot();
|
2011-09-19 00:39:28 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void pceArcadeCardRewindEnableHackToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.PceArcadeCardRewindHack ^= true;
|
2012-09-30 00:58:08 +00:00
|
|
|
FlagNeedsReboot();
|
2011-09-19 00:39:28 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void recordMovieToolStripMenuItem_Click(object sender, EventArgs e)
|
2011-02-21 09:48:53 +00:00
|
|
|
{
|
2011-06-26 01:22:52 +00:00
|
|
|
RecordMovie();
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void playMovieToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-06-26 01:22:52 +00:00
|
|
|
PlayMovie();
|
|
|
|
}
|
|
|
|
|
2011-02-21 09:48:53 +00:00
|
|
|
private void stopMovieToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-07-22 01:34:21 +00:00
|
|
|
StopMovie();
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void playFromBeginningToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-06-26 01:22:52 +00:00
|
|
|
PlayMovieFromBeginning();
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void RAMWatchToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2012-08-15 01:14:25 +00:00
|
|
|
LoadRamWatch(true);
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void rAMSearchToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
LoadRamSearch();
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void autoloadMostRecentToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
UpdateAutoLoadRecentRom();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void clearToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.RecentRoms.Clear();
|
|
|
|
}
|
2011-07-22 01:34:21 +00:00
|
|
|
|
2011-02-21 09:48:53 +00:00
|
|
|
private void selectSlot1ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-09-17 00:04:50 +00:00
|
|
|
Global.Config.SaveSlot = 1;
|
2011-07-01 01:28:25 +00:00
|
|
|
UpdateStatusSlots();
|
2011-02-21 09:48:53 +00:00
|
|
|
SaveSlotSelectedMessage();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void selectSlot2ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-09-17 00:04:50 +00:00
|
|
|
Global.Config.SaveSlot = 2;
|
2011-07-01 01:28:25 +00:00
|
|
|
UpdateStatusSlots();
|
2011-02-21 09:48:53 +00:00
|
|
|
SaveSlotSelectedMessage();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void selectSlot3ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-09-17 00:04:50 +00:00
|
|
|
Global.Config.SaveSlot = 3;
|
2011-07-01 01:28:25 +00:00
|
|
|
UpdateStatusSlots();
|
2011-02-21 09:48:53 +00:00
|
|
|
SaveSlotSelectedMessage();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void selectSlot4ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-09-17 00:04:50 +00:00
|
|
|
Global.Config.SaveSlot = 4;
|
2011-07-01 01:28:25 +00:00
|
|
|
UpdateStatusSlots();
|
2011-02-21 09:48:53 +00:00
|
|
|
SaveSlotSelectedMessage();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void selectSlot5ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-09-17 00:04:50 +00:00
|
|
|
Global.Config.SaveSlot = 5;
|
2011-07-01 01:28:25 +00:00
|
|
|
UpdateStatusSlots();
|
2011-02-21 09:48:53 +00:00
|
|
|
SaveSlotSelectedMessage();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void selectSlot6ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-09-17 00:04:50 +00:00
|
|
|
Global.Config.SaveSlot = 6;
|
2011-07-01 01:28:25 +00:00
|
|
|
UpdateStatusSlots();
|
2011-02-21 09:48:53 +00:00
|
|
|
SaveSlotSelectedMessage();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void selectSlot7ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-09-17 00:04:50 +00:00
|
|
|
Global.Config.SaveSlot = 7;
|
2011-07-01 01:28:25 +00:00
|
|
|
UpdateStatusSlots();
|
2011-02-21 09:48:53 +00:00
|
|
|
SaveSlotSelectedMessage();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void selectSlot8ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-09-17 00:04:50 +00:00
|
|
|
Global.Config.SaveSlot = 8;
|
2011-07-01 01:28:25 +00:00
|
|
|
UpdateStatusSlots();
|
2011-02-21 09:48:53 +00:00
|
|
|
SaveSlotSelectedMessage();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void selectSlot9ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-09-17 00:04:50 +00:00
|
|
|
Global.Config.SaveSlot = 9;
|
2011-07-01 01:28:25 +00:00
|
|
|
UpdateStatusSlots();
|
2011-02-21 09:48:53 +00:00
|
|
|
SaveSlotSelectedMessage();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void selectSlot10ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-09-17 00:04:50 +00:00
|
|
|
Global.Config.SaveSlot = 0;
|
2011-07-01 01:28:25 +00:00
|
|
|
UpdateStatusSlots();
|
2011-02-21 09:48:53 +00:00
|
|
|
SaveSlotSelectedMessage();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void previousSlotToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-06-26 01:22:52 +00:00
|
|
|
PreviousSlot();
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void nextSlotToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-06-26 01:22:52 +00:00
|
|
|
NextSlot();
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void saveToCurrentSlotToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-09-17 00:04:50 +00:00
|
|
|
SaveState("QuickSave" + Global.Config.SaveSlot.ToString());
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void loadCurrentSlotToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-09-17 00:04:50 +00:00
|
|
|
LoadState("QuickSave" + Global.Config.SaveSlot.ToString());
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void closeROMToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-06-26 01:22:52 +00:00
|
|
|
CloseROM();
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void saveStateToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Sound.StopSound();
|
|
|
|
|
|
|
|
var frm = new NameStateForm();
|
|
|
|
frm.ShowDialog(this);
|
|
|
|
|
|
|
|
if (frm.OK)
|
|
|
|
SaveState(frm.Result);
|
|
|
|
|
|
|
|
Global.Sound.StartSound();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void powerToolStripMenuItem_Click(object sender, EventArgs e)
|
2012-09-08 19:02:28 +00:00
|
|
|
{
|
2012-09-16 16:06:28 +00:00
|
|
|
RebootCore();
|
2012-09-08 19:02:28 +00:00
|
|
|
}
|
|
|
|
|
2012-09-16 16:06:28 +00:00
|
|
|
void RebootCore()
|
2011-02-21 09:48:53 +00:00
|
|
|
{
|
|
|
|
LoadRom(CurrentlyOpenRom);
|
|
|
|
}
|
|
|
|
|
|
|
|
private void resetToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-06-30 02:22:12 +00:00
|
|
|
SoftReset();
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
|
2012-09-16 16:52:30 +00:00
|
|
|
private void hardResetToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
HardReset();
|
|
|
|
}
|
|
|
|
|
2011-02-21 09:48:53 +00:00
|
|
|
private void pauseToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
if (EmulatorPaused == true)
|
|
|
|
UnpauseEmulator();
|
|
|
|
else
|
|
|
|
PauseEmulator();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void helpToolStripMenuItem1_Click(object sender, EventArgs e)
|
|
|
|
{
|
2012-03-04 02:52:21 +00:00
|
|
|
System.Diagnostics.Process.Start("http://tasvideos.org/BizHawk.html");
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-09-11 00:11:46 +00:00
|
|
|
if (INTERIM)
|
|
|
|
new AboutBox().ShowDialog();
|
|
|
|
else
|
|
|
|
new BizBox().ShowDialog();
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void controllersToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2012-11-08 04:46:48 +00:00
|
|
|
|
|
|
|
ControllerConfig c = new ControllerConfig();
|
|
|
|
c.ShowDialog();
|
|
|
|
if (c.DialogResult == DialogResult.OK)
|
2011-04-06 05:43:59 +00:00
|
|
|
{
|
2012-11-08 04:46:48 +00:00
|
|
|
InitControls();
|
|
|
|
SyncControls();
|
2011-04-06 05:43:59 +00:00
|
|
|
}
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void hotkeysToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2012-10-02 02:35:04 +00:00
|
|
|
HotkeyWindow h = new HotkeyWindow();
|
2011-02-21 09:48:53 +00:00
|
|
|
h.ShowDialog();
|
2011-06-26 01:22:52 +00:00
|
|
|
if (h.DialogResult == DialogResult.OK)
|
|
|
|
{
|
|
|
|
InitControls();
|
|
|
|
SyncControls();
|
|
|
|
}
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void displayFPSToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-06-26 01:22:52 +00:00
|
|
|
ToggleFPS();
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void displayFrameCounterToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-06-26 01:22:52 +00:00
|
|
|
ToggleFrameCounter();
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void displayInputToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-06-26 01:22:52 +00:00
|
|
|
ToggleInputDisplay();
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void displayLagCounterToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-06-26 01:22:52 +00:00
|
|
|
ToggleLagCounter();
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void screenshotF12ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
TakeScreenshot();
|
|
|
|
}
|
|
|
|
|
2012-03-04 01:30:30 +00:00
|
|
|
private void forumsToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
System.Diagnostics.Process.Start("http://tasvideos.org/forum/viewforum.php?f=64");
|
|
|
|
}
|
|
|
|
|
|
|
|
private void screenshotClipboardToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2012-03-18 04:08:05 +00:00
|
|
|
TakeScreenshotToClipboard();
|
2012-03-04 01:30:30 +00:00
|
|
|
}
|
|
|
|
|
2011-02-21 09:48:53 +00:00
|
|
|
private void savestate1toolStripMenuItem_Click(object sender, EventArgs e) { SaveState("QuickSave1"); }
|
|
|
|
private void savestate2toolStripMenuItem_Click(object sender, EventArgs e) { SaveState("QuickSave2"); }
|
|
|
|
private void savestate3toolStripMenuItem_Click(object sender, EventArgs e) { SaveState("QuickSave3"); }
|
|
|
|
private void savestate4toolStripMenuItem_Click(object sender, EventArgs e) { SaveState("QuickSave4"); }
|
|
|
|
private void savestate5toolStripMenuItem_Click(object sender, EventArgs e) { SaveState("QuickSave5"); }
|
|
|
|
private void savestate6toolStripMenuItem_Click(object sender, EventArgs e) { SaveState("QuickSave6"); }
|
|
|
|
private void savestate7toolStripMenuItem_Click(object sender, EventArgs e) { SaveState("QuickSave7"); }
|
|
|
|
private void savestate8toolStripMenuItem_Click(object sender, EventArgs e) { SaveState("QuickSave8"); }
|
|
|
|
private void savestate9toolStripMenuItem_Click(object sender, EventArgs e) { SaveState("QuickSave9"); }
|
|
|
|
private void savestate0toolStripMenuItem_Click(object sender, EventArgs e) { SaveState("QuickSave0"); }
|
|
|
|
|
|
|
|
private void loadstate1toolStripMenuItem_Click(object sender, EventArgs e) { LoadState("QuickSave1"); }
|
|
|
|
private void loadstate2toolStripMenuItem_Click(object sender, EventArgs e) { LoadState("QuickSave2"); }
|
|
|
|
private void loadstate3toolStripMenuItem_Click(object sender, EventArgs e) { LoadState("QuickSave3"); }
|
|
|
|
private void loadstate4toolStripMenuItem_Click(object sender, EventArgs e) { LoadState("QuickSave4"); }
|
|
|
|
private void loadstate5toolStripMenuItem_Click(object sender, EventArgs e) { LoadState("QuickSave5"); }
|
|
|
|
private void loadstate6toolStripMenuItem_Click(object sender, EventArgs e) { LoadState("QuickSave6"); }
|
|
|
|
private void loadstate7toolStripMenuItem_Click(object sender, EventArgs e) { LoadState("QuickSave7"); }
|
|
|
|
private void loadstate8toolStripMenuItem_Click(object sender, EventArgs e) { LoadState("QuickSave8"); }
|
|
|
|
private void loadstate9toolStripMenuItem_Click(object sender, EventArgs e) { LoadState("QuickSave9"); }
|
|
|
|
private void loadstate0toolStripMenuItem_Click(object sender, EventArgs e) { LoadState("QuickSave0"); }
|
|
|
|
|
|
|
|
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
if (RamWatch1.AskSave())
|
|
|
|
Close();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void openROMToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-06-26 01:22:52 +00:00
|
|
|
OpenROM();
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
|
2011-03-21 00:54:30 +00:00
|
|
|
private void PPUViewerToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
LoadNESPPU();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void enableRewindToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.RewindEnabled ^= true;
|
2012-07-12 19:42:13 +00:00
|
|
|
RewindMessage();
|
|
|
|
}
|
|
|
|
|
|
|
|
public void RewindMessage()
|
|
|
|
{
|
|
|
|
if (Global.Config.RewindEnabled)
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("Rewind enabled");
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("Rewind disabled");
|
|
|
|
}
|
2011-03-21 00:54:30 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void hexEditorToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
LoadHexEditor();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void MainForm_Shown(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
HandlePlatformMenus();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void gameGenieCodesToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
LoadGameGenieEC();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void cheatsToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
LoadCheatsWindow();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void forceGDIPPresentationToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-08-21 01:07:58 +00:00
|
|
|
Global.Config.DisplayGDI ^= true;
|
2011-03-21 00:54:30 +00:00
|
|
|
SyncPresentationMode();
|
|
|
|
}
|
2011-02-21 09:48:53 +00:00
|
|
|
|
2012-06-10 02:19:36 +00:00
|
|
|
private void miSuppressGuiLayer_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.SuppressGui ^= true;
|
|
|
|
}
|
|
|
|
|
2011-06-26 01:22:52 +00:00
|
|
|
private void debuggerToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
LoadNESDebugger();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void saveStateToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
savestate1toolStripMenuItem.ShortcutKeyDisplayString = Global.Config.SaveSlot1;
|
|
|
|
savestate2toolStripMenuItem.ShortcutKeyDisplayString = Global.Config.SaveSlot2;
|
|
|
|
savestate3toolStripMenuItem.ShortcutKeyDisplayString = Global.Config.SaveSlot3;
|
|
|
|
savestate4toolStripMenuItem.ShortcutKeyDisplayString = Global.Config.SaveSlot4;
|
|
|
|
savestate5toolStripMenuItem.ShortcutKeyDisplayString = Global.Config.SaveSlot5;
|
|
|
|
savestate6toolStripMenuItem.ShortcutKeyDisplayString = Global.Config.SaveSlot6;
|
|
|
|
savestate7toolStripMenuItem.ShortcutKeyDisplayString = Global.Config.SaveSlot7;
|
|
|
|
savestate8toolStripMenuItem.ShortcutKeyDisplayString = Global.Config.SaveSlot8;
|
|
|
|
savestate9toolStripMenuItem.ShortcutKeyDisplayString = Global.Config.SaveSlot9;
|
|
|
|
savestate0toolStripMenuItem.ShortcutKeyDisplayString = Global.Config.SaveSlot0;
|
|
|
|
saveNamedStateToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.SaveNamedState;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void loadStateToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
|
|
|
{
|
2012-03-11 20:56:15 +00:00
|
|
|
loadstate1toolStripMenuItem.ShortcutKeyDisplayString = Global.Config.LoadSlot1;
|
|
|
|
loadstate2toolStripMenuItem.ShortcutKeyDisplayString = Global.Config.LoadSlot2;
|
|
|
|
loadstate3toolStripMenuItem.ShortcutKeyDisplayString = Global.Config.LoadSlot3;
|
|
|
|
loadstate4toolStripMenuItem.ShortcutKeyDisplayString = Global.Config.LoadSlot4;
|
|
|
|
loadstate5toolStripMenuItem.ShortcutKeyDisplayString = Global.Config.LoadSlot5;
|
|
|
|
loadstate6toolStripMenuItem.ShortcutKeyDisplayString = Global.Config.LoadSlot6;
|
|
|
|
loadstate7toolStripMenuItem.ShortcutKeyDisplayString = Global.Config.LoadSlot7;
|
|
|
|
loadstate8toolStripMenuItem.ShortcutKeyDisplayString = Global.Config.LoadSlot8;
|
|
|
|
loadstate9toolStripMenuItem.ShortcutKeyDisplayString = Global.Config.LoadSlot9;
|
|
|
|
loadstate0toolStripMenuItem.ShortcutKeyDisplayString = Global.Config.LoadSlot0;
|
2011-06-26 01:22:52 +00:00
|
|
|
loadNamedStateToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.LoadNamedState;
|
2011-09-17 00:25:34 +00:00
|
|
|
|
|
|
|
autoLoadLastSlotToolStripMenuItem.Checked = Global.Config.AutoLoadLastSaveSlot;
|
2011-06-26 01:22:52 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void nametableViewerToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
LoadNESNameTable();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void saveNamedStateToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
SaveStateAs();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void loadNamedStateToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
LoadStateAs();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void toolBoxToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
LoadToolBox();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void toolsToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
toolBoxToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.ToolBox;
|
|
|
|
if (!ToolBox1.IsHandleCreated || ToolBox1.IsDisposed)
|
|
|
|
toolBoxToolStripMenuItem.Enabled = true;
|
|
|
|
else
|
|
|
|
toolBoxToolStripMenuItem.Enabled = false;
|
|
|
|
|
|
|
|
rAMWatchToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.RamWatch;
|
|
|
|
rAMSearchToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.RamSearch;
|
|
|
|
rAMPokeToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.RamPoke;
|
|
|
|
hexEditorToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.HexEditor;
|
|
|
|
luaConsoleToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.LuaConsole;
|
|
|
|
cheatsToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.Cheats;
|
2012-05-28 03:09:47 +00:00
|
|
|
tAStudioToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.TASTudio;
|
2012-11-23 17:03:10 +00:00
|
|
|
virtualPadToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.OpenVirtualPadBinding;
|
2012-09-30 00:53:08 +00:00
|
|
|
|
2012-12-10 00:43:43 +00:00
|
|
|
if (Global.Emulator.CoreComm.CpuTraceAvailable)
|
2012-09-30 00:53:08 +00:00
|
|
|
{
|
2012-09-30 02:07:14 +00:00
|
|
|
traceLoggerToolStripMenuItem.Enabled = true;
|
2012-09-30 00:53:08 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2012-09-30 02:07:14 +00:00
|
|
|
traceLoggerToolStripMenuItem.Enabled = false;
|
2012-09-30 00:53:08 +00:00
|
|
|
}
|
2011-06-26 01:22:52 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void saveSlotToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
selectSlot10ToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.SelectSlot0;
|
|
|
|
selectSlot1ToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.SelectSlot1;
|
|
|
|
selectSlot2ToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.SelectSlot2;
|
|
|
|
selectSlot3ToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.SelectSlot3;
|
|
|
|
selectSlot4ToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.SelectSlot4;
|
|
|
|
selectSlot5ToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.SelectSlot5;
|
|
|
|
selectSlot6ToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.SelectSlot6;
|
|
|
|
selectSlot7ToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.SelectSlot7;
|
|
|
|
selectSlot8ToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.SelectSlot8;
|
|
|
|
selectSlot9ToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.SelectSlot9;
|
|
|
|
previousSlotToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.PreviousSlot;
|
|
|
|
nextSlotToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.NextSlot;
|
|
|
|
saveToCurrentSlotToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.QuickSave;
|
|
|
|
loadCurrentSlotToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.QuickLoad;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void switchToFullscreenToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
ToggleFullscreen();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void messagesToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
MessageConfig m = new MessageConfig();
|
|
|
|
m.ShowDialog();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void autoloadVirtualKeyboardToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
if (!(Global.Emulator is TI83)) return;
|
|
|
|
Global.Config.TI83autoloadKeyPad ^= true;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void keypadToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
if (!(Global.Emulator is TI83))
|
|
|
|
return;
|
|
|
|
LoadTI83KeyPad();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void tI83ToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
autoloadVirtualKeyboardToolStripMenuItem.Checked = Global.Config.TI83autoloadKeyPad;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void pathsToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
PathConfig p = new PathConfig();
|
|
|
|
p.ShowDialog();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void displayRerecordCountToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.DisplayRerecordCount ^= true;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void recentROMToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
//Clear out recent Roms list
|
|
|
|
//repopulate it with an up to date list
|
|
|
|
recentROMToolStripMenuItem.DropDownItems.Clear();
|
|
|
|
|
2013-03-10 22:42:54 +00:00
|
|
|
if (Global.Config.RecentRoms.IsEmpty)
|
2011-06-26 01:22:52 +00:00
|
|
|
{
|
|
|
|
var none = new ToolStripMenuItem();
|
|
|
|
none.Enabled = false;
|
|
|
|
none.Text = "None";
|
|
|
|
recentROMToolStripMenuItem.DropDownItems.Add(none);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2013-03-10 22:42:54 +00:00
|
|
|
for (int x = 0; x < Global.Config.RecentRoms.Count; x++)
|
2011-06-26 01:22:52 +00:00
|
|
|
{
|
|
|
|
string path = Global.Config.RecentRoms.GetRecentFileByPosition(x);
|
|
|
|
var item = new ToolStripMenuItem();
|
|
|
|
item.Text = path;
|
|
|
|
item.Click += (o, ev) => LoadRomFromRecent(path);
|
|
|
|
recentROMToolStripMenuItem.DropDownItems.Add(item);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
recentROMToolStripMenuItem.DropDownItems.Add("-");
|
|
|
|
|
|
|
|
var clearitem = new ToolStripMenuItem();
|
|
|
|
clearitem.Text = "&Clear";
|
|
|
|
clearitem.Click += (o, ev) => Global.Config.RecentRoms.Clear();
|
|
|
|
recentROMToolStripMenuItem.DropDownItems.Add(clearitem);
|
|
|
|
|
|
|
|
var auto = new ToolStripMenuItem();
|
|
|
|
auto.Text = "&Autoload Most Recent";
|
|
|
|
auto.Click += (o, ev) => UpdateAutoLoadRecentRom();
|
|
|
|
if (Global.Config.AutoLoadMostRecentRom == true)
|
|
|
|
auto.Checked = true;
|
|
|
|
else
|
|
|
|
auto.Checked = false;
|
|
|
|
recentROMToolStripMenuItem.DropDownItems.Add(auto);
|
|
|
|
}
|
|
|
|
|
|
|
|
private void recentToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
//Clear out recent Movies list
|
|
|
|
//repopulate it with an up to date list
|
|
|
|
|
|
|
|
recentToolStripMenuItem.DropDownItems.Clear();
|
|
|
|
|
2013-03-10 22:42:54 +00:00
|
|
|
if (Global.Config.RecentMovies.IsEmpty)
|
2011-06-26 01:22:52 +00:00
|
|
|
{
|
|
|
|
var none = new ToolStripMenuItem();
|
|
|
|
none.Enabled = false;
|
|
|
|
none.Text = "None";
|
|
|
|
recentToolStripMenuItem.DropDownItems.Add(none);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2013-03-10 22:42:54 +00:00
|
|
|
for (int x = 0; x < Global.Config.RecentMovies.Count; x++)
|
2011-06-26 01:22:52 +00:00
|
|
|
{
|
|
|
|
string path = Global.Config.RecentMovies.GetRecentFileByPosition(x);
|
|
|
|
var item = new ToolStripMenuItem();
|
|
|
|
item.Text = path;
|
|
|
|
item.Click += (o, ev) => LoadMoviesFromRecent(path);
|
|
|
|
recentToolStripMenuItem.DropDownItems.Add(item);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
recentToolStripMenuItem.DropDownItems.Add("-");
|
|
|
|
|
|
|
|
var clearitem = new ToolStripMenuItem();
|
|
|
|
clearitem.Text = "&Clear";
|
|
|
|
clearitem.Click += (o, ev) => Global.Config.RecentMovies.Clear();
|
|
|
|
recentToolStripMenuItem.DropDownItems.Add(clearitem);
|
|
|
|
|
|
|
|
var auto = new ToolStripMenuItem();
|
|
|
|
auto.Text = "&Autoload Most Recent";
|
|
|
|
auto.Click += (o, ev) => UpdateAutoLoadRecentMovie();
|
|
|
|
if (Global.Config.AutoLoadMostRecentMovie == true)
|
|
|
|
auto.Checked = true;
|
|
|
|
else
|
|
|
|
auto.Checked = false;
|
|
|
|
recentToolStripMenuItem.DropDownItems.Add(auto);
|
|
|
|
}
|
|
|
|
|
|
|
|
private void screenshotAsToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-08-04 03:20:54 +00:00
|
|
|
string path = String.Format(PathManager.ScreenshotPrefix(Global.Game) + ".{0:yyyy-MM-dd HH.mm.ss}.png", DateTime.Now);
|
2011-06-26 01:22:52 +00:00
|
|
|
|
|
|
|
SaveFileDialog sfd = new SaveFileDialog();
|
|
|
|
sfd.InitialDirectory = Path.GetDirectoryName(path);
|
|
|
|
sfd.FileName = Path.GetFileName(path);
|
|
|
|
sfd.Filter = "PNG File (*.png)|*.png";
|
|
|
|
|
|
|
|
Global.Sound.StopSound();
|
|
|
|
var result = sfd.ShowDialog();
|
|
|
|
Global.Sound.StartSound();
|
|
|
|
if (result != DialogResult.OK)
|
|
|
|
return;
|
2012-03-04 01:30:30 +00:00
|
|
|
TakeScreenshot(sfd.FileName);
|
2011-06-26 01:22:52 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void runInBackgroundToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.RunInBackground ^= true;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void bindSavestatesToMoviesToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.BindSavestatesToMovies ^= true;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void acceptBackgroundInputToolStripMenuItem_Click(object sender, EventArgs e)
|
2012-07-12 21:56:59 +00:00
|
|
|
{
|
|
|
|
ToggleBackgroundInput();
|
|
|
|
}
|
|
|
|
|
|
|
|
public void ToggleBackgroundInput()
|
2011-06-26 01:22:52 +00:00
|
|
|
{
|
|
|
|
Global.Config.AcceptBackgroundInput ^= true;
|
2012-07-12 21:56:59 +00:00
|
|
|
if (Global.Config.AcceptBackgroundInput)
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("Background Input enabled");
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("Background Input disabled");
|
|
|
|
}
|
2011-06-26 01:22:52 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void displayStatusBarToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.DisplayStatusBar ^= true;
|
|
|
|
displayStatusBarToolStripMenuItem.Checked = Global.Config.DisplayStatusBar;
|
|
|
|
if (!InFullscreen)
|
|
|
|
{
|
2011-07-01 01:28:25 +00:00
|
|
|
StatusSlot0.Visible = Global.Config.DisplayStatusBar;
|
2011-06-26 01:22:52 +00:00
|
|
|
PerformLayout();
|
|
|
|
FrameBufferResized();
|
|
|
|
}
|
|
|
|
}
|
2011-06-10 23:09:10 +00:00
|
|
|
|
|
|
|
private void graphicsSettingsToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
NESGraphicsConfig g = new NESGraphicsConfig();
|
|
|
|
g.ShowDialog();
|
2012-12-10 00:43:43 +00:00
|
|
|
SyncCoreCommInputSignals();
|
2011-06-10 23:09:10 +00:00
|
|
|
}
|
2011-06-18 17:45:18 +00:00
|
|
|
|
2012-03-11 15:12:48 +00:00
|
|
|
private void pceGraphicsSettingsToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
PCEGraphicsConfig g = new PCEGraphicsConfig();
|
|
|
|
g.ShowDialog();
|
2012-12-10 00:43:43 +00:00
|
|
|
SyncCoreCommInputSignals();
|
2012-03-11 15:12:48 +00:00
|
|
|
}
|
|
|
|
|
2012-03-11 17:08:25 +00:00
|
|
|
private void smsGraphicsSettingsToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
SMSGraphicsConfig g = new SMSGraphicsConfig();
|
|
|
|
g.ShowDialog();
|
2012-12-10 00:43:43 +00:00
|
|
|
SyncCoreCommInputSignals();
|
2012-03-11 17:08:25 +00:00
|
|
|
}
|
|
|
|
|
2011-06-18 17:45:18 +00:00
|
|
|
public void MainForm_MouseClick(object sender, MouseEventArgs e)
|
|
|
|
{
|
|
|
|
if (Global.Config.ShowContextMenu && e.Button == MouseButtons.Right)
|
|
|
|
{
|
|
|
|
Point p = new Point(e.X, e.Y + this.menuStrip1.Height);
|
|
|
|
Point po = this.PointToScreen(p);
|
|
|
|
contextMenuStrip1.Show(po);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void openRomToolStripMenuItem1_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
OpenROM();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void loadLastROMToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
LoadRomFromRecent(Global.Config.RecentRoms.GetRecentFileByPosition(0));
|
|
|
|
}
|
|
|
|
|
|
|
|
private void enableContextMenuToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.ShowContextMenu ^= true;
|
2012-07-12 19:50:27 +00:00
|
|
|
if (Global.Config.ShowContextMenu)
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("Context menu enabled");
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("Context menu disabled");
|
|
|
|
}
|
2011-06-18 17:45:18 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void recordMovieToolStripMenuItem1_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
RecordMovie();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void playMovieToolStripMenuItem1_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
PlayMovie();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void loadLastMovieToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
LoadMoviesFromRecent(Global.Config.RecentMovies.GetRecentFileByPosition(0));
|
|
|
|
}
|
|
|
|
|
2011-07-04 19:20:11 +00:00
|
|
|
private void AddSubtitleToolStripMenuItem_Click(object sender, EventArgs e)
|
2011-06-18 17:45:18 +00:00
|
|
|
{
|
2011-07-04 19:20:11 +00:00
|
|
|
SubtitleMaker s = new SubtitleMaker();
|
|
|
|
s.DisableFrame();
|
|
|
|
int index = -1;
|
|
|
|
Subtitle sub = new Subtitle();
|
2011-09-03 18:07:30 +00:00
|
|
|
for (int x = 0; x < Global.MovieSession.Movie.Subtitles.Count(); x++)
|
2011-07-04 19:20:11 +00:00
|
|
|
{
|
2011-09-03 18:07:30 +00:00
|
|
|
sub = Global.MovieSession.Movie.Subtitles.GetSubtitleByIndex(x);
|
2011-07-04 19:20:11 +00:00
|
|
|
if (Global.Emulator.Frame == sub.Frame)
|
|
|
|
{
|
|
|
|
index = x;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (index < 0)
|
|
|
|
{
|
|
|
|
sub = new Subtitle();
|
|
|
|
sub.Frame = Global.Emulator.Frame;
|
|
|
|
}
|
|
|
|
s.sub = sub;
|
|
|
|
|
|
|
|
if (s.ShowDialog() == DialogResult.OK)
|
|
|
|
{
|
|
|
|
if (index >= 0)
|
2011-09-03 18:07:30 +00:00
|
|
|
Global.MovieSession.Movie.Subtitles.Remove(index);
|
|
|
|
Global.MovieSession.Movie.Subtitles.AddSubtitle(s.sub);
|
2011-07-04 19:20:11 +00:00
|
|
|
}
|
2011-06-18 17:45:18 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void screenshotToolStripMenuItem1_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
TakeScreenshot();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void closeROMToolStripMenuItem1_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
CloseROM();
|
|
|
|
}
|
|
|
|
|
2011-07-24 00:58:48 +00:00
|
|
|
|
2012-03-18 04:08:05 +00:00
|
|
|
private void screenshotToClipboardToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
TakeScreenshotToClipboard();
|
|
|
|
}
|
|
|
|
|
2011-07-24 00:58:48 +00:00
|
|
|
private void restartMovieToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
PlayMovieFromBeginning();
|
|
|
|
}
|
|
|
|
|
2011-06-18 17:45:18 +00:00
|
|
|
private void contextMenuStrip1_Opening(object sender, System.ComponentModel.CancelEventArgs e)
|
|
|
|
{
|
2011-06-19 01:39:36 +00:00
|
|
|
if (EmulatorPaused)
|
2013-03-10 22:42:54 +00:00
|
|
|
{
|
2011-06-19 01:39:36 +00:00
|
|
|
wasPaused = true;
|
2013-03-10 22:42:54 +00:00
|
|
|
}
|
2011-06-19 01:39:36 +00:00
|
|
|
else
|
2013-03-10 22:42:54 +00:00
|
|
|
{
|
2011-06-19 01:39:36 +00:00
|
|
|
wasPaused = false;
|
2013-03-10 22:42:54 +00:00
|
|
|
}
|
|
|
|
|
2011-06-19 01:39:36 +00:00
|
|
|
didMenuPause = true;
|
|
|
|
PauseEmulator();
|
|
|
|
|
2012-03-23 22:06:42 +00:00
|
|
|
//TODO - MUST refactor this to hide all and then view a set depending on the state
|
|
|
|
|
2011-06-18 17:45:18 +00:00
|
|
|
if (IsNullEmulator())
|
|
|
|
{
|
2012-03-23 22:06:42 +00:00
|
|
|
cmiOpenRom.Visible = true;
|
2012-03-24 03:18:02 +00:00
|
|
|
cmiLoadLastRom.Visible = true;
|
2012-03-23 22:06:42 +00:00
|
|
|
toolStripSeparator_afterRomLoading.Visible = false;
|
2012-03-24 03:18:02 +00:00
|
|
|
cmiRecordMovie.Visible = false;
|
|
|
|
cmiPlayMovie.Visible = false;
|
|
|
|
cmiRestartMovie.Visible = false;
|
|
|
|
cmiStopMovie.Visible = false;
|
|
|
|
cmiLoadLastMovie.Visible = false;
|
|
|
|
cmiMakeMovieBackup.Visible = false;
|
|
|
|
cmiViewSubtitles.Visible = false;
|
|
|
|
cmiViewComments.Visible = false;
|
2012-03-23 22:06:42 +00:00
|
|
|
toolStripSeparator_afterMovie.Visible = false;
|
|
|
|
cmiAddSubtitle.Visible = false;
|
2012-03-24 03:18:02 +00:00
|
|
|
cmiUndoSavestate.Visible = false;
|
2012-03-23 22:06:42 +00:00
|
|
|
cmiSeparator20.Visible = false;
|
|
|
|
cmiScreenshot.Visible = false;
|
|
|
|
cmiScreenshotClipboard.Visible = false;
|
|
|
|
cmiCloseRom.Visible = false;
|
|
|
|
cmiShowMenu.Visible = false;
|
2012-12-23 02:49:08 +00:00
|
|
|
saveMovieToolStripMenuItem1.Visible = false;
|
2011-06-18 17:45:18 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2012-11-28 02:00:08 +00:00
|
|
|
if (InFullscreen)
|
|
|
|
{
|
|
|
|
cmiOpenRom.Visible = true;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
cmiOpenRom.Visible = false;
|
|
|
|
}
|
|
|
|
|
2012-03-24 03:18:02 +00:00
|
|
|
cmiLoadLastRom.Visible = false;
|
2012-03-23 22:06:42 +00:00
|
|
|
toolStripSeparator_afterRomLoading.Visible = false;
|
2011-06-18 17:45:18 +00:00
|
|
|
|
2012-09-03 19:42:53 +00:00
|
|
|
if (Global.MovieSession.Movie.IsActive)
|
2011-06-18 17:45:18 +00:00
|
|
|
{
|
2012-03-24 03:18:02 +00:00
|
|
|
cmiRecordMovie.Visible = false;
|
|
|
|
cmiPlayMovie.Visible = false;
|
|
|
|
cmiRestartMovie.Visible = true;
|
|
|
|
cmiStopMovie.Visible = true;
|
|
|
|
cmiLoadLastMovie.Visible = false;
|
|
|
|
cmiMakeMovieBackup.Visible = true;
|
|
|
|
cmiViewSubtitles.Visible = true;
|
|
|
|
cmiViewComments.Visible = true;
|
2012-10-28 23:38:41 +00:00
|
|
|
saveMovieToolStripMenuItem1.Visible = true;
|
2012-03-23 22:06:42 +00:00
|
|
|
toolStripSeparator_afterMovie.Visible = true;
|
2011-06-26 21:11:12 +00:00
|
|
|
if (ReadOnly == true)
|
|
|
|
{
|
2012-03-24 03:18:02 +00:00
|
|
|
cmiViewSubtitles.Text = "View Subtitles";
|
|
|
|
cmiViewComments.Text = "View Comments";
|
2012-03-23 22:06:42 +00:00
|
|
|
cmiAddSubtitle.Visible = false;
|
2011-06-26 21:11:12 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2012-03-24 03:18:02 +00:00
|
|
|
cmiViewSubtitles.Text = "Edit Subtitles";
|
|
|
|
cmiViewComments.Text = "Edit Comments";
|
2012-03-23 22:06:42 +00:00
|
|
|
cmiAddSubtitle.Visible = true;
|
2011-06-26 21:11:12 +00:00
|
|
|
}
|
2011-06-18 17:45:18 +00:00
|
|
|
}
|
2012-09-03 19:42:53 +00:00
|
|
|
else
|
|
|
|
{
|
|
|
|
cmiRecordMovie.Visible = true;
|
|
|
|
cmiPlayMovie.Visible = true;
|
|
|
|
cmiRestartMovie.Visible = false;
|
|
|
|
cmiStopMovie.Visible = false;
|
|
|
|
cmiLoadLastMovie.Visible = true;
|
|
|
|
cmiMakeMovieBackup.Visible = false;
|
|
|
|
cmiViewSubtitles.Visible = false;
|
|
|
|
cmiViewComments.Visible = false;
|
|
|
|
toolStripSeparator_afterMovie.Visible = true;
|
|
|
|
cmiAddSubtitle.Visible = false;
|
2012-10-28 23:38:41 +00:00
|
|
|
saveMovieToolStripMenuItem1.Visible = false;
|
2012-09-03 19:42:53 +00:00
|
|
|
}
|
2011-06-18 17:45:18 +00:00
|
|
|
|
2012-03-24 03:18:02 +00:00
|
|
|
cmiUndoSavestate.Visible = true;
|
2012-03-23 22:06:42 +00:00
|
|
|
cmiSeparator20.Visible = true;
|
|
|
|
cmiScreenshot.Visible = true;
|
|
|
|
cmiScreenshotClipboard.Visible = true;
|
|
|
|
cmiCloseRom.Visible = true;
|
2011-06-18 17:45:18 +00:00
|
|
|
}
|
2011-06-21 02:09:53 +00:00
|
|
|
|
2013-03-10 22:42:54 +00:00
|
|
|
if (Global.Config.RecentRoms.Count > 0)
|
|
|
|
{
|
2012-03-24 03:18:02 +00:00
|
|
|
cmiLoadLastRom.Enabled = true;
|
2013-03-10 22:42:54 +00:00
|
|
|
}
|
2011-06-21 02:09:53 +00:00
|
|
|
else
|
2013-03-10 22:42:54 +00:00
|
|
|
{
|
|
|
|
cmiLoadLastRom.Enabled = false;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (Global.Config.RecentMovies.Count > 0)
|
|
|
|
{
|
2012-03-24 03:18:02 +00:00
|
|
|
cmiLoadLastMovie.Enabled = true;
|
2013-03-10 22:42:54 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
cmiLoadLastMovie.Enabled = false;
|
|
|
|
}
|
2011-06-21 02:09:53 +00:00
|
|
|
|
2011-09-17 00:04:50 +00:00
|
|
|
string path = PathManager.SaveStatePrefix(Global.Game) + "." + "QuickSave" + Global.Config.SaveSlot + ".State.bak";
|
2011-07-31 22:29:56 +00:00
|
|
|
var file = new FileInfo(path);
|
|
|
|
if (file.Exists == true)
|
|
|
|
{
|
2011-09-17 00:04:50 +00:00
|
|
|
if (StateSlots.IsRedo(Global.Config.SaveSlot))
|
2011-07-31 23:25:00 +00:00
|
|
|
{
|
2012-03-24 03:18:02 +00:00
|
|
|
cmiUndoSavestate.Enabled = true;
|
|
|
|
cmiUndoSavestate.Text = "Redo Save to slot " + Global.Config.SaveSlot.ToString();
|
|
|
|
cmiUndoSavestate.Image = BizHawk.MultiClient.Properties.Resources.redo;
|
2011-07-31 23:25:00 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2012-03-24 03:18:02 +00:00
|
|
|
cmiUndoSavestate.Enabled = true;
|
|
|
|
cmiUndoSavestate.Text = "Undo Save to slot " + Global.Config.SaveSlot.ToString();
|
|
|
|
cmiUndoSavestate.Image = BizHawk.MultiClient.Properties.Resources.undo;
|
2011-07-31 23:25:00 +00:00
|
|
|
}
|
2011-07-31 22:29:56 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2012-03-24 03:18:02 +00:00
|
|
|
cmiUndoSavestate.Enabled = false;
|
|
|
|
cmiUndoSavestate.Text = "Undo Savestate";
|
|
|
|
cmiUndoSavestate.Image = BizHawk.MultiClient.Properties.Resources.undo;
|
2011-07-31 22:29:56 +00:00
|
|
|
}
|
2011-09-24 23:00:59 +00:00
|
|
|
|
|
|
|
if (InFullscreen == true)
|
|
|
|
{
|
2012-03-23 22:06:42 +00:00
|
|
|
cmiShowMenu.Visible = true;
|
2011-09-24 23:00:59 +00:00
|
|
|
if (MainMenuStrip.Visible == true)
|
2012-03-23 22:06:42 +00:00
|
|
|
cmiShowMenu.Text = "Hide Menu";
|
2011-09-24 23:00:59 +00:00
|
|
|
else
|
2012-03-23 22:06:42 +00:00
|
|
|
cmiShowMenu.Text = "Show Menu";
|
2011-09-24 23:00:59 +00:00
|
|
|
}
|
|
|
|
else
|
2013-03-10 22:42:54 +00:00
|
|
|
{
|
2012-03-23 22:06:42 +00:00
|
|
|
cmiShowMenu.Visible = false;
|
2013-03-10 22:42:54 +00:00
|
|
|
}
|
2013-03-10 23:03:52 +00:00
|
|
|
|
|
|
|
if (Global.MovieSession.Movie.IsActive && Global.MovieSession.Movie.HasChanges)
|
|
|
|
{
|
|
|
|
ContextMenuStopMovieNoSaving.Visible = true;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
ContextMenuStopMovieNoSaving.Visible = false;
|
|
|
|
}
|
2011-06-18 18:27:51 +00:00
|
|
|
}
|
|
|
|
|
2011-06-19 01:39:36 +00:00
|
|
|
|
|
|
|
private void contextMenuStrip1_Closing(object sender, ToolStripDropDownClosingEventArgs e)
|
|
|
|
{
|
|
|
|
if (!wasPaused)
|
|
|
|
{
|
|
|
|
UnpauseEmulator();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-06-18 18:27:51 +00:00
|
|
|
private void makeMovieBackupToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-09-03 18:07:30 +00:00
|
|
|
Global.MovieSession.Movie.WriteBackup();
|
2011-06-18 19:16:05 +00:00
|
|
|
}
|
2011-06-26 01:22:52 +00:00
|
|
|
|
2011-06-18 19:16:05 +00:00
|
|
|
private void automaticallyBackupMoviesToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.EnableBackupMovies ^= true;
|
|
|
|
}
|
2011-06-19 20:13:54 +00:00
|
|
|
|
|
|
|
private void stopMovieToolStripMenuItem1_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-07-22 01:34:21 +00:00
|
|
|
StopMovie();
|
2011-06-19 20:13:54 +00:00
|
|
|
}
|
2011-07-09 19:54:24 +00:00
|
|
|
|
2011-07-11 23:26:20 +00:00
|
|
|
private void displayLogWindowToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.ShowLogWindow ^= true;
|
|
|
|
displayLogWindowToolStripMenuItem.Checked = Global.Config.ShowLogWindow;
|
|
|
|
if (Global.Config.ShowLogWindow)
|
2012-03-09 21:36:55 +00:00
|
|
|
ShowConsole();
|
2011-07-11 23:26:20 +00:00
|
|
|
else
|
2012-03-09 21:36:55 +00:00
|
|
|
HideConsole();
|
2011-07-11 23:26:20 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void PauseStrip_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
TogglePause();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void displaySubtitlesToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.DisplaySubtitles ^= true;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void aVIWAVToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
|
|
|
{
|
2011-07-12 00:10:02 +00:00
|
|
|
recordAVIToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.AVIRecordBinding;
|
|
|
|
stopAVIToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.AVIStopBinding;
|
2012-09-22 00:07:02 +00:00
|
|
|
captureOSDToolStripMenuItem.Checked = Global.Config.AVI_CaptureOSD;
|
2011-07-12 00:10:02 +00:00
|
|
|
|
2011-07-11 23:26:20 +00:00
|
|
|
if (CurrAviWriter == null)
|
|
|
|
{
|
|
|
|
recordAVIToolStripMenuItem.Enabled = true;
|
|
|
|
stopAVIToolStripMenuItem.Enabled = false;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
recordAVIToolStripMenuItem.Enabled = false;
|
|
|
|
stopAVIToolStripMenuItem.Enabled = true;
|
|
|
|
}
|
|
|
|
}
|
2011-07-22 01:34:21 +00:00
|
|
|
|
|
|
|
private void viewCommentsToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2012-09-03 19:42:53 +00:00
|
|
|
if (Global.MovieSession.Movie.IsActive)
|
|
|
|
{
|
|
|
|
EditCommentsForm c = new EditCommentsForm();
|
|
|
|
c.ReadOnly = ReadOnly;
|
|
|
|
c.GetMovie(Global.MovieSession.Movie);
|
|
|
|
c.ShowDialog();
|
|
|
|
}
|
2011-07-22 01:34:21 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void viewSubtitlesToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2012-09-03 19:42:53 +00:00
|
|
|
if (Global.MovieSession.Movie.IsActive)
|
|
|
|
{
|
|
|
|
EditSubtitlesForm s = new EditSubtitlesForm();
|
|
|
|
s.ReadOnly = ReadOnly;
|
|
|
|
s.GetMovie(Global.MovieSession.Movie);
|
|
|
|
s.ShowDialog();
|
|
|
|
}
|
2011-07-22 01:34:21 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void tAStudioToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
LoadTAStudio();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void singleInstanceModeToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.SingleInstanceMode ^= true;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void MainForm_Deactivate(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
if (!Global.Config.RunInBackground)
|
2012-07-25 00:45:05 +00:00
|
|
|
{
|
|
|
|
if (EmulatorPaused)
|
|
|
|
{
|
|
|
|
wasPaused = true;
|
|
|
|
}
|
2011-07-22 01:34:21 +00:00
|
|
|
PauseEmulator();
|
2012-07-25 00:45:05 +00:00
|
|
|
}
|
2011-07-22 01:34:21 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void MainForm_Activated(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
if (!Global.Config.RunInBackground)
|
2012-07-25 00:45:05 +00:00
|
|
|
{
|
|
|
|
|
|
|
|
if (!wasPaused)
|
|
|
|
{
|
|
|
|
UnpauseEmulator();
|
|
|
|
}
|
|
|
|
wasPaused = false;
|
|
|
|
}
|
2011-07-22 01:34:21 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void readonlyToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
ToggleReadOnly();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void movieToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
|
|
|
{
|
2013-03-09 19:54:50 +00:00
|
|
|
if (Global.MovieSession.MultiTrack.IsActive)
|
|
|
|
{
|
|
|
|
fullMovieLoadstatesToolStripMenuItem.Enabled = false;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
fullMovieLoadstatesToolStripMenuItem.Enabled = true;
|
|
|
|
}
|
|
|
|
|
2012-09-03 19:42:53 +00:00
|
|
|
if (Global.MovieSession.Movie.IsActive)
|
2011-07-22 01:34:21 +00:00
|
|
|
{
|
2012-09-03 19:42:53 +00:00
|
|
|
stopMovieToolStripMenuItem.Enabled = true;
|
|
|
|
playFromBeginningToolStripMenuItem.Enabled = true;
|
2012-10-28 22:50:19 +00:00
|
|
|
saveMovieToolStripMenuItem.Enabled = true;
|
2011-07-22 01:34:21 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2012-09-03 19:42:53 +00:00
|
|
|
stopMovieToolStripMenuItem.Enabled = false;
|
|
|
|
playFromBeginningToolStripMenuItem.Enabled = false;
|
2012-10-28 22:50:19 +00:00
|
|
|
saveMovieToolStripMenuItem.Enabled = false;
|
2011-07-22 01:34:21 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
readonlyToolStripMenuItem.Checked = ReadOnly;
|
|
|
|
bindSavestatesToMoviesToolStripMenuItem.Checked = Global.Config.BindSavestatesToMovies;
|
|
|
|
automaticallyBackupMoviesToolStripMenuItem.Checked = Global.Config.EnableBackupMovies;
|
|
|
|
|
|
|
|
readonlyToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.ReadOnlyToggleBinding;
|
|
|
|
recordMovieToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.RecordMovieBinding;
|
|
|
|
playMovieToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.PlayMovieBinding;
|
|
|
|
stopMovieToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.StopMovieBinding;
|
|
|
|
playFromBeginningToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.PlayBeginningBinding;
|
2012-10-28 23:38:41 +00:00
|
|
|
saveMovieToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.SaveMovieBinding;
|
2013-03-09 19:54:50 +00:00
|
|
|
fullMovieLoadstatesToolStripMenuItem.Checked = Global.Config.VBAStyleMovieLoadState;
|
2013-03-10 23:03:52 +00:00
|
|
|
|
|
|
|
if (Global.MovieSession.Movie.IsActive && Global.MovieSession.Movie.HasChanges)
|
|
|
|
{
|
|
|
|
stopMovieWithoutSavingToolStripMenuItem.Enabled = true;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
stopMovieWithoutSavingToolStripMenuItem.Enabled = false;
|
|
|
|
}
|
2011-07-22 01:34:21 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void saveConfigToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
SaveConfig();
|
2012-04-16 08:18:41 +00:00
|
|
|
Global.OSD.AddMessage("Saved settings");
|
2011-07-22 01:34:21 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void loadConfigToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2012-03-24 17:47:52 +00:00
|
|
|
Global.Config = ConfigService.Load<Config>(PathManager.DefaultIniPath, Global.Config);
|
2012-10-08 00:27:21 +00:00
|
|
|
Global.OSD.AddMessage("Config file loaded");
|
2011-07-22 01:34:21 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void frameSkipToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
miAutoMinimizeSkipping.Checked = Global.Config.AutoMinimizeSkipping;
|
2012-11-12 17:57:11 +00:00
|
|
|
miLimitFramerate.Checked = Global.Config.ClockThrottle;
|
|
|
|
miDisplayVsync.Checked = Global.Config.VSyncThrottle;
|
2011-07-22 01:34:21 +00:00
|
|
|
miFrameskip0.Checked = Global.Config.FrameSkip == 0;
|
|
|
|
miFrameskip1.Checked = Global.Config.FrameSkip == 1;
|
|
|
|
miFrameskip2.Checked = Global.Config.FrameSkip == 2;
|
|
|
|
miFrameskip3.Checked = Global.Config.FrameSkip == 3;
|
|
|
|
miFrameskip4.Checked = Global.Config.FrameSkip == 4;
|
|
|
|
miFrameskip5.Checked = Global.Config.FrameSkip == 5;
|
|
|
|
miFrameskip6.Checked = Global.Config.FrameSkip == 6;
|
|
|
|
miFrameskip7.Checked = Global.Config.FrameSkip == 7;
|
|
|
|
miFrameskip8.Checked = Global.Config.FrameSkip == 8;
|
|
|
|
miFrameskip9.Checked = Global.Config.FrameSkip == 9;
|
2012-11-12 17:57:11 +00:00
|
|
|
miAutoMinimizeSkipping.Enabled = !miFrameskip0.Checked;
|
|
|
|
if (!miAutoMinimizeSkipping.Enabled) miAutoMinimizeSkipping.Checked = true;
|
|
|
|
audioThrottleToolStripMenuItem.Enabled = Global.Config.SoundEnabled;
|
|
|
|
audioThrottleToolStripMenuItem.Checked = Global.Config.SoundThrottle;
|
|
|
|
vSyncEnabledToolStripMenuItem.Checked = Global.Config.VSync;
|
|
|
|
|
2011-07-22 01:34:21 +00:00
|
|
|
miSpeed100.Checked = Global.Config.SpeedPercent == 100;
|
|
|
|
miSpeed100.Image = (Global.Config.SpeedPercentAlternate == 100) ? BizHawk.MultiClient.Properties.Resources.FastForward : null;
|
|
|
|
miSpeed150.Checked = Global.Config.SpeedPercent == 150;
|
|
|
|
miSpeed150.Image = (Global.Config.SpeedPercentAlternate == 150) ? BizHawk.MultiClient.Properties.Resources.FastForward : null;
|
|
|
|
miSpeed200.Checked = Global.Config.SpeedPercent == 200;
|
|
|
|
miSpeed200.Image = (Global.Config.SpeedPercentAlternate == 200) ? BizHawk.MultiClient.Properties.Resources.FastForward : null;
|
|
|
|
miSpeed75.Checked = Global.Config.SpeedPercent == 75;
|
|
|
|
miSpeed75.Image = (Global.Config.SpeedPercentAlternate == 75) ? BizHawk.MultiClient.Properties.Resources.FastForward : null;
|
|
|
|
miSpeed50.Checked = Global.Config.SpeedPercent == 50;
|
|
|
|
miSpeed50.Image = (Global.Config.SpeedPercentAlternate == 50) ? BizHawk.MultiClient.Properties.Resources.FastForward : null;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void gUIToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
pauseWhenMenuActivatedToolStripMenuItem.Checked = Global.Config.PauseWhenMenuActivated;
|
|
|
|
startPausedToolStripMenuItem.Checked = Global.Config.StartPaused;
|
2012-05-31 01:51:47 +00:00
|
|
|
saveWindowPositionToolStripMenuItem.Checked = Global.Config.SaveWindowPosition;
|
2011-08-21 01:07:58 +00:00
|
|
|
forceGDIPPresentationToolStripMenuItem.Checked = Global.Config.DisplayGDI;
|
2012-10-01 02:30:25 +00:00
|
|
|
blurryToolStripMenuItem.Checked = Global.Config.DispBlurry;
|
2012-06-10 02:19:36 +00:00
|
|
|
miSuppressGuiLayer.Checked = Global.Config.SuppressGui;
|
2012-05-31 01:51:47 +00:00
|
|
|
showMenuInFullScreenToolStripMenuItem.Checked = Global.Config.ShowMenuInFullscreen;
|
|
|
|
runInBackgroundToolStripMenuItem.Checked = Global.Config.RunInBackground;
|
2011-07-22 01:34:21 +00:00
|
|
|
acceptBackgroundInputToolStripMenuItem.Checked = Global.Config.AcceptBackgroundInput;
|
|
|
|
singleInstanceModeToolStripMenuItem.Checked = Global.Config.SingleInstanceMode;
|
2012-05-31 01:51:47 +00:00
|
|
|
logWindowAsConsoleToolStripMenuItem.Checked = Global.Config.WIN32_CONSOLE;
|
2012-07-10 17:22:23 +00:00
|
|
|
neverBeAskedToSaveChangesToolStripMenuItem.Checked = Global.Config.SupressAskSave;
|
2012-07-12 22:09:15 +00:00
|
|
|
|
|
|
|
acceptBackgroundInputToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.ToggleBackgroundInput;
|
2012-05-31 01:51:47 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void enableToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
enableRewindToolStripMenuItem.Checked = Global.Config.RewindEnabled;
|
2011-07-22 01:34:21 +00:00
|
|
|
enableContextMenuToolStripMenuItem.Checked = Global.Config.ShowContextMenu;
|
2011-07-31 21:39:54 +00:00
|
|
|
backupSavestatesToolStripMenuItem.Checked = Global.Config.BackupSavestates;
|
2012-03-24 12:20:21 +00:00
|
|
|
autoSavestatesToolStripMenuItem.Checked = Global.Config.AutoSavestates;
|
2011-09-21 00:48:40 +00:00
|
|
|
saveScreenshotWithSavestatesToolStripMenuItem.Checked = Global.Config.SaveScreenshotWithStates;
|
2012-09-15 14:48:09 +00:00
|
|
|
frameAdvanceSkipLagFramesToolStripMenuItem.Checked = Global.Config.SkipLagFrame;
|
2012-09-29 15:32:44 +00:00
|
|
|
backupSaveramToolStripMenuItem.Checked = Global.Config.BackupSaveram;
|
2012-05-31 01:51:47 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void frameAdvanceSkipLagFramesToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.SkipLagFrame ^= true;
|
2011-07-22 01:34:21 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void menuStrip1_MenuActivate(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
HandlePlatformMenus();
|
|
|
|
if (Global.Config.PauseWhenMenuActivated)
|
|
|
|
{
|
|
|
|
if (EmulatorPaused)
|
|
|
|
wasPaused = true;
|
|
|
|
else
|
|
|
|
wasPaused = false;
|
|
|
|
didMenuPause = true;
|
|
|
|
PauseEmulator();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void menuStrip1_MenuDeactivate(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
if (!wasPaused)
|
|
|
|
{
|
|
|
|
UnpauseEmulator();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void viewToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
displayFPSToolStripMenuItem.Checked = Global.Config.DisplayFPS;
|
|
|
|
displayFrameCounterToolStripMenuItem.Checked = Global.Config.DisplayFrameCounter;
|
|
|
|
displayLagCounterToolStripMenuItem.Checked = Global.Config.DisplayLagCounter;
|
|
|
|
displayInputToolStripMenuItem.Checked = Global.Config.DisplayInput;
|
|
|
|
displayRerecordCountToolStripMenuItem.Checked = Global.Config.DisplayRerecordCount;
|
|
|
|
displaySubtitlesToolStripMenuItem.Checked = Global.Config.DisplaySubtitles;
|
|
|
|
|
|
|
|
displayFPSToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.FPSBinding;
|
|
|
|
displayFrameCounterToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.FrameCounterBinding;
|
|
|
|
displayLagCounterToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.LagCounterBinding;
|
|
|
|
displayInputToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.InputDisplayBinding;
|
|
|
|
|
|
|
|
x1MenuItem.Checked = false;
|
|
|
|
x2MenuItem.Checked = false;
|
|
|
|
x3MenuItem.Checked = false;
|
|
|
|
x4MenuItem.Checked = false;
|
|
|
|
x5MenuItem.Checked = false;
|
|
|
|
switch (Global.Config.TargetZoomFactor)
|
|
|
|
{
|
|
|
|
case 1: x1MenuItem.Checked = true; break;
|
|
|
|
case 2: x2MenuItem.Checked = true; break;
|
|
|
|
case 3: x3MenuItem.Checked = true; break;
|
|
|
|
case 4: x4MenuItem.Checked = true; break;
|
|
|
|
case 5: x5MenuItem.Checked = true; break;
|
|
|
|
case 10: mzMenuItem.Checked = true; break;
|
|
|
|
}
|
|
|
|
|
|
|
|
switchToFullscreenToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.ToggleFullscreenBinding;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void fileToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
if (IsNullEmulator())
|
|
|
|
{
|
2012-05-31 01:13:25 +00:00
|
|
|
movieToolStripMenuItem.Enabled = false;
|
|
|
|
AVIWAVToolStripMenuItem.Enabled = false;
|
|
|
|
screenshotToolStripMenuItem.Enabled = false;
|
2011-07-22 01:34:21 +00:00
|
|
|
closeROMToolStripMenuItem.Enabled = false;
|
|
|
|
saveToCurrentSlotToolStripMenuItem.Enabled = false;
|
|
|
|
loadCurrentSlotToolStripMenuItem.Enabled = false;
|
|
|
|
loadNamedStateToolStripMenuItem.Enabled = false;
|
|
|
|
saveNamedStateToolStripMenuItem.Enabled = false;
|
|
|
|
savestate1toolStripMenuItem.Enabled = false;
|
|
|
|
savestate2toolStripMenuItem.Enabled = false;
|
|
|
|
savestate3toolStripMenuItem.Enabled = false;
|
|
|
|
savestate4toolStripMenuItem.Enabled = false;
|
|
|
|
savestate5toolStripMenuItem.Enabled = false;
|
|
|
|
savestate6toolStripMenuItem.Enabled = false;
|
|
|
|
savestate7toolStripMenuItem.Enabled = false;
|
|
|
|
savestate8toolStripMenuItem.Enabled = false;
|
|
|
|
savestate9toolStripMenuItem.Enabled = false;
|
|
|
|
savestate0toolStripMenuItem.Enabled = false;
|
|
|
|
loadstate1toolStripMenuItem.Enabled = false;
|
|
|
|
loadstate2toolStripMenuItem.Enabled = false;
|
|
|
|
loadstate3toolStripMenuItem.Enabled = false;
|
|
|
|
loadstate4toolStripMenuItem.Enabled = false;
|
|
|
|
loadstate5toolStripMenuItem.Enabled = false;
|
|
|
|
loadstate6toolStripMenuItem.Enabled = false;
|
|
|
|
loadstate7toolStripMenuItem.Enabled = false;
|
|
|
|
loadstate8toolStripMenuItem.Enabled = false;
|
|
|
|
loadstate9toolStripMenuItem.Enabled = false;
|
|
|
|
loadstate0toolStripMenuItem.Enabled = false;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2012-05-31 01:13:25 +00:00
|
|
|
movieToolStripMenuItem.Enabled = true;
|
|
|
|
AVIWAVToolStripMenuItem.Enabled = true;
|
|
|
|
screenshotToolStripMenuItem.Enabled = true;
|
2011-07-22 01:34:21 +00:00
|
|
|
closeROMToolStripMenuItem.Enabled = true;
|
|
|
|
saveToCurrentSlotToolStripMenuItem.Enabled = true;
|
|
|
|
loadCurrentSlotToolStripMenuItem.Enabled = true;
|
|
|
|
loadNamedStateToolStripMenuItem.Enabled = true;
|
|
|
|
saveNamedStateToolStripMenuItem.Enabled = true;
|
|
|
|
savestate1toolStripMenuItem.Enabled = true;
|
|
|
|
savestate2toolStripMenuItem.Enabled = true;
|
|
|
|
savestate3toolStripMenuItem.Enabled = true;
|
|
|
|
savestate4toolStripMenuItem.Enabled = true;
|
|
|
|
savestate5toolStripMenuItem.Enabled = true;
|
|
|
|
savestate6toolStripMenuItem.Enabled = true;
|
|
|
|
savestate7toolStripMenuItem.Enabled = true;
|
|
|
|
savestate8toolStripMenuItem.Enabled = true;
|
|
|
|
savestate9toolStripMenuItem.Enabled = true;
|
|
|
|
savestate0toolStripMenuItem.Enabled = true;
|
|
|
|
loadstate1toolStripMenuItem.Enabled = true;
|
|
|
|
loadstate2toolStripMenuItem.Enabled = true;
|
|
|
|
loadstate3toolStripMenuItem.Enabled = true;
|
|
|
|
loadstate4toolStripMenuItem.Enabled = true;
|
|
|
|
loadstate5toolStripMenuItem.Enabled = true;
|
|
|
|
loadstate6toolStripMenuItem.Enabled = true;
|
|
|
|
loadstate7toolStripMenuItem.Enabled = true;
|
|
|
|
loadstate8toolStripMenuItem.Enabled = true;
|
|
|
|
loadstate9toolStripMenuItem.Enabled = true;
|
|
|
|
loadstate0toolStripMenuItem.Enabled = true;
|
|
|
|
}
|
|
|
|
|
|
|
|
selectSlot10ToolStripMenuItem.Checked = false;
|
|
|
|
selectSlot1ToolStripMenuItem.Checked = false;
|
|
|
|
selectSlot2ToolStripMenuItem.Checked = false;
|
|
|
|
selectSlot3ToolStripMenuItem.Checked = false;
|
|
|
|
selectSlot4ToolStripMenuItem.Checked = false;
|
|
|
|
selectSlot5ToolStripMenuItem.Checked = false;
|
|
|
|
selectSlot6ToolStripMenuItem.Checked = false;
|
|
|
|
selectSlot7ToolStripMenuItem.Checked = false;
|
|
|
|
selectSlot8ToolStripMenuItem.Checked = false;
|
|
|
|
selectSlot9ToolStripMenuItem.Checked = false;
|
|
|
|
selectSlot1ToolStripMenuItem.Checked = false;
|
|
|
|
|
2011-09-17 00:04:50 +00:00
|
|
|
switch (Global.Config.SaveSlot)
|
2011-07-22 01:34:21 +00:00
|
|
|
{
|
|
|
|
case 0:
|
|
|
|
selectSlot10ToolStripMenuItem.Checked = true;
|
|
|
|
break;
|
|
|
|
case 1:
|
|
|
|
selectSlot1ToolStripMenuItem.Checked = true;
|
|
|
|
break;
|
|
|
|
case 2:
|
|
|
|
selectSlot2ToolStripMenuItem.Checked = true;
|
|
|
|
break;
|
|
|
|
case 3:
|
|
|
|
selectSlot3ToolStripMenuItem.Checked = true;
|
|
|
|
break;
|
|
|
|
case 4:
|
|
|
|
selectSlot4ToolStripMenuItem.Checked = true;
|
|
|
|
break;
|
|
|
|
case 5:
|
|
|
|
selectSlot5ToolStripMenuItem.Checked = true;
|
|
|
|
break;
|
|
|
|
case 6:
|
|
|
|
selectSlot6ToolStripMenuItem.Checked = true;
|
|
|
|
break;
|
|
|
|
case 7:
|
|
|
|
selectSlot7ToolStripMenuItem.Checked = true;
|
|
|
|
break;
|
|
|
|
case 8:
|
|
|
|
selectSlot8ToolStripMenuItem.Checked = true;
|
|
|
|
break;
|
|
|
|
case 9:
|
|
|
|
selectSlot9ToolStripMenuItem.Checked = true;
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (Global.Config.AutoLoadMostRecentRom == true)
|
|
|
|
autoloadMostRecentToolStripMenuItem.Checked = true;
|
|
|
|
else
|
|
|
|
autoloadMostRecentToolStripMenuItem.Checked = false;
|
|
|
|
|
|
|
|
screenshotF12ToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.ScreenshotBinding;
|
|
|
|
openROMToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.OpenROM;
|
|
|
|
closeROMToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.CloseROM;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void emulationToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
|
|
|
{
|
2012-09-16 16:06:28 +00:00
|
|
|
rebootCoreToolStripMenuItem.Enabled = !IsNullEmulator();
|
2012-09-17 23:03:38 +00:00
|
|
|
|
|
|
|
if (Global.Emulator.ControllerDefinition.BoolButtons.Contains("Reset") &&
|
|
|
|
(!Global.MovieSession.Movie.IsPlaying || Global.MovieSession.Movie.IsFinished))
|
|
|
|
{
|
|
|
|
resetToolStripMenuItem.Enabled = true;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
resetToolStripMenuItem.Enabled = false;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (Global.Emulator.ControllerDefinition.BoolButtons.Contains("Power") &&
|
|
|
|
(!Global.MovieSession.Movie.IsPlaying || Global.MovieSession.Movie.IsFinished))
|
|
|
|
{
|
|
|
|
hardResetToolStripMenuItem.Enabled = true;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
hardResetToolStripMenuItem.Enabled = false;
|
|
|
|
}
|
2011-07-22 01:34:21 +00:00
|
|
|
|
|
|
|
pauseToolStripMenuItem.Checked = EmulatorPaused;
|
2012-09-17 23:03:38 +00:00
|
|
|
if (didMenuPause)
|
|
|
|
{
|
|
|
|
pauseToolStripMenuItem.Checked = wasPaused;
|
|
|
|
}
|
2011-07-22 01:34:21 +00:00
|
|
|
|
|
|
|
pauseToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.EmulatorPauseBinding;
|
2012-09-16 16:06:28 +00:00
|
|
|
rebootCoreToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.RebootCoreResetBinding;
|
2011-08-10 22:58:06 +00:00
|
|
|
resetToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.SoftResetBinding;
|
2012-09-16 17:10:33 +00:00
|
|
|
hardResetToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.HardResetBinding;
|
2011-07-22 01:34:21 +00:00
|
|
|
}
|
|
|
|
|
2012-03-11 16:30:55 +00:00
|
|
|
private void pCEToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
pceAlwaysPerformSpriteLimitToolStripMenuItem.Checked = Global.Config.PceSpriteLimit;
|
|
|
|
pceAlwaysEqualizeVolumesToolStripMenuItem.Checked = Global.Config.PceEqualizeVolume;
|
|
|
|
pceArcadeCardRewindEnableHackToolStripMenuItem.Checked = Global.Config.PceArcadeCardRewindHack;
|
|
|
|
}
|
|
|
|
|
2012-03-11 17:19:15 +00:00
|
|
|
private void sMSToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
smsEnableFMChipToolStripMenuItem.Checked = Global.Config.SmsEnableFM;
|
|
|
|
smsOverclockWhenKnownSafeToolStripMenuItem.Checked = Global.Config.SmsAllowOverlock;
|
|
|
|
smsForceStereoSeparationToolStripMenuItem.Checked = Global.Config.SmsForceStereoSeparation;
|
|
|
|
smsSpriteLimitToolStripMenuItem.Checked = Global.Config.SmsSpriteLimit;
|
2012-10-06 12:27:56 +00:00
|
|
|
showClippedRegionsToolStripMenuItem.Checked = Global.Config.GGShowClippedRegions;
|
2012-10-06 12:37:38 +00:00
|
|
|
highlightActiveDisplayRegionToolStripMenuItem.Checked = Global.Config.GGHighlightActiveDisplayRegion;
|
2012-10-06 12:27:56 +00:00
|
|
|
|
|
|
|
if (Global.Game.System == "GG")
|
|
|
|
{
|
|
|
|
smsEnableFMChipToolStripMenuItem.Visible = false;
|
|
|
|
smsOverclockWhenKnownSafeToolStripMenuItem.Visible = false;
|
|
|
|
smsForceStereoSeparationToolStripMenuItem.Visible = false;
|
|
|
|
|
|
|
|
showClippedRegionsToolStripMenuItem.Visible = true;
|
2012-10-06 12:37:38 +00:00
|
|
|
highlightActiveDisplayRegionToolStripMenuItem.Visible = true;
|
2012-10-06 12:27:56 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
smsEnableFMChipToolStripMenuItem.Visible = true;
|
|
|
|
smsOverclockWhenKnownSafeToolStripMenuItem.Visible = true;
|
|
|
|
smsForceStereoSeparationToolStripMenuItem.Visible = true;
|
|
|
|
|
|
|
|
showClippedRegionsToolStripMenuItem.Visible = false;
|
2012-10-06 12:37:38 +00:00
|
|
|
highlightActiveDisplayRegionToolStripMenuItem.Visible = false;
|
2012-10-06 12:27:56 +00:00
|
|
|
}
|
|
|
|
|
2012-03-11 17:19:15 +00:00
|
|
|
}
|
|
|
|
|
2011-07-22 01:34:21 +00:00
|
|
|
protected override void OnClosed(EventArgs e)
|
|
|
|
{
|
|
|
|
exit = true;
|
|
|
|
base.OnClosed(e);
|
|
|
|
}
|
2011-07-31 21:39:54 +00:00
|
|
|
|
|
|
|
private void backupSavestatesToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.BackupSavestates ^= true;
|
2012-07-12 19:50:27 +00:00
|
|
|
if (Global.Config.BackupSavestates)
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("Backup savestates enabled");
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("Backup savestates disabled");
|
|
|
|
}
|
2011-07-31 21:39:54 +00:00
|
|
|
}
|
2011-07-31 22:29:56 +00:00
|
|
|
|
2012-05-31 01:51:47 +00:00
|
|
|
void autoSavestatesToolStripMenuItem_Click(object sender, EventArgs e)
|
2011-10-15 23:17:15 +00:00
|
|
|
{
|
|
|
|
Global.Config.AutoSavestates ^= true;
|
2012-07-12 19:50:27 +00:00
|
|
|
if (Global.Config.AutoSavestates)
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("AutoSavestates enabled");
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("AutoSavestates disabled");
|
|
|
|
}
|
2011-10-15 23:17:15 +00:00
|
|
|
}
|
|
|
|
|
2011-09-24 23:00:59 +00:00
|
|
|
void screenshotWithSavestatesToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.SaveScreenshotWithStates ^= true;
|
2012-07-12 19:50:27 +00:00
|
|
|
if (Global.Config.SaveScreenshotWithStates)
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("Screenshots will be saved in savestates");
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("Screenshots will not be saved in savestates");
|
|
|
|
}
|
2011-09-24 23:00:59 +00:00
|
|
|
}
|
2011-09-15 23:32:21 +00:00
|
|
|
|
2011-07-31 22:29:56 +00:00
|
|
|
private void undoSavestateToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-09-17 00:04:50 +00:00
|
|
|
string path = PathManager.SaveStatePrefix(Global.Game) + "." + "QuickSave" + Global.Config.SaveSlot + ".State";
|
2011-07-31 22:29:56 +00:00
|
|
|
SwapBackupSavestate(path);
|
2012-04-16 08:18:41 +00:00
|
|
|
Global.OSD.AddMessage("Save slot " + Global.Config.SaveSlot.ToString() + " restored.");
|
2011-07-31 22:29:56 +00:00
|
|
|
}
|
2011-08-09 23:27:47 +00:00
|
|
|
|
|
|
|
private void FreezeStatus_Click(object sender, EventArgs e)
|
|
|
|
{
|
2012-09-29 22:37:34 +00:00
|
|
|
if (CheatStatus.Visible)
|
|
|
|
{
|
|
|
|
LoadCheatsWindow();
|
|
|
|
}
|
2011-08-09 23:27:47 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public void UpdateCheatStatus()
|
|
|
|
{
|
2012-09-23 15:09:29 +00:00
|
|
|
if (Global.CheatList.HasActiveCheats)
|
2011-08-09 23:27:47 +00:00
|
|
|
{
|
|
|
|
CheatStatus.ToolTipText = "Cheats are currently active";
|
|
|
|
CheatStatus.Image = BizHawk.MultiClient.Properties.Resources.Freeze;
|
2012-09-29 22:37:34 +00:00
|
|
|
CheatStatus.Visible = true;
|
2011-08-09 23:27:47 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
CheatStatus.ToolTipText = "";
|
|
|
|
CheatStatus.Image = BizHawk.MultiClient.Properties.Resources.Blank;
|
2012-09-29 22:37:34 +00:00
|
|
|
CheatStatus.Visible = false;
|
2011-08-09 23:27:47 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void autofireToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
new AutofireConfig().ShowDialog();
|
|
|
|
}
|
2011-09-24 23:00:59 +00:00
|
|
|
|
|
|
|
private void autoLoadLastSlotToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.AutoLoadLastSaveSlot ^= true;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void logWindowAsConsoleToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.WIN32_CONSOLE ^= true;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void showMenuInFullScreenToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.ShowMenuInFullscreen ^= true;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void showMenuToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-09-24 23:12:43 +00:00
|
|
|
ShowHideMenu();
|
2011-09-24 23:00:59 +00:00
|
|
|
}
|
2012-03-12 05:19:59 +00:00
|
|
|
|
|
|
|
private void justatestToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
LoadPCEBGViewer();
|
|
|
|
}
|
2012-05-19 15:17:32 +00:00
|
|
|
|
|
|
|
private void bWToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
if (Global.Emulator is Atari2600)
|
|
|
|
{
|
|
|
|
Global.Config.Atari2600_BW ^= true;
|
|
|
|
((Atari2600)Global.Emulator).SetBw(Global.Config.Atari2600_BW);
|
|
|
|
if (Global.Config.Atari2600_BW)
|
|
|
|
Global.OSD.AddMessage("Setting to Black and White Switch to On");
|
|
|
|
else
|
|
|
|
Global.OSD.AddMessage("Setting to Black and White Switch to Off");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void p0DifficultyToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
if (Global.Emulator is Atari2600)
|
|
|
|
{
|
|
|
|
Global.Config.Atari2600_LeftDifficulty ^= true;
|
|
|
|
((Atari2600)Global.Emulator).SetP0Diff(Global.Config.Atari2600_BW);
|
|
|
|
if (Global.Config.Atari2600_LeftDifficulty)
|
|
|
|
Global.OSD.AddMessage("Setting Left Difficulty to B");
|
|
|
|
else
|
|
|
|
Global.OSD.AddMessage("Setting Left Difficulty to A");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void rightDifficultyToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
if (Global.Emulator is Atari2600)
|
|
|
|
{
|
|
|
|
Global.Config.Atari2600_RightDifficulty ^= true;
|
|
|
|
((Atari2600)Global.Emulator).SetP1Diff(Global.Config.Atari2600_BW);
|
|
|
|
if (Global.Config.Atari2600_RightDifficulty)
|
|
|
|
Global.OSD.AddMessage("Setting Right Difficulty to B");
|
|
|
|
else
|
|
|
|
Global.OSD.AddMessage("Setting Right Difficulty to A");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void atariToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
bWToolStripMenuItem.Checked = Global.Config.Atari2600_BW;
|
|
|
|
p0DifficultyToolStripMenuItem.Checked = Global.Config.Atari2600_LeftDifficulty;
|
|
|
|
rightDifficultyToolStripMenuItem.Checked = Global.Config.Atari2600_RightDifficulty;
|
2012-10-30 00:18:56 +00:00
|
|
|
|
|
|
|
showBGToolStripMenuItem.Checked = Global.Config.Atari2600_ShowBG;
|
|
|
|
showPlayer1ToolStripMenuItem.Checked = Global.Config.Atari2600_ShowPlayer1;
|
|
|
|
showPlayer2ToolStripMenuItem.Checked = Global.Config.Atari2600_ShowPlayer2;
|
|
|
|
showMissle1ToolStripMenuItem.Checked = Global.Config.Atari2600_ShowMissle1;
|
|
|
|
showMissle2ToolStripMenuItem.Checked = Global.Config.Atari2600_ShowMissle2;
|
|
|
|
showBallToolStripMenuItem.Checked = Global.Config.Atari2600_ShowBall;
|
2012-10-30 23:38:53 +00:00
|
|
|
showPlayfieldToolStripMenuItem.Checked = Global.Config.Atari2600_ShowPlayfield;
|
2012-05-19 15:17:32 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void skipBIOSIntroToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.GameBoySkipBIOS ^= true;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void gBToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
|
|
|
{
|
2012-09-15 18:30:11 +00:00
|
|
|
// the palettes have no effect when CGB mode is active
|
2012-11-18 18:46:57 +00:00
|
|
|
/*
|
2012-09-15 18:30:11 +00:00
|
|
|
if (Global.Emulator is Emulation.Consoles.GB.Gameboy)
|
|
|
|
{
|
|
|
|
changeDMGPalettesToolStripMenuItem.Enabled =
|
|
|
|
!((Emulation.Consoles.GB.Gameboy)Global.Emulator).IsCGBMode();
|
2012-11-18 18:46:57 +00:00
|
|
|
}*/
|
2012-09-15 18:30:11 +00:00
|
|
|
|
2012-09-13 01:09:03 +00:00
|
|
|
//skipBIOSIntroToolStripMenuItem.Checked = Global.Config.GameBoySkipBIOS;
|
2012-09-15 16:14:03 +00:00
|
|
|
forceDMGModeToolStripMenuItem.Checked = Global.Config.GB_ForceDMG;
|
|
|
|
gBAInCGBModeToolStripMenuItem.Checked = Global.Config.GB_GBACGB;
|
|
|
|
multicartCompatibilityToolStripMenuItem.Checked = Global.Config.GB_MulticartCompat;
|
2012-09-26 15:59:14 +00:00
|
|
|
|
|
|
|
loadGBInSGBToolStripMenuItem1.Checked = Global.Config.GB_AsSGB;
|
2012-05-19 15:17:32 +00:00
|
|
|
}
|
2012-09-10 19:12:34 +00:00
|
|
|
|
|
|
|
private void graphicsDebuggerToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
LoadSNESGraphicsDebugger();
|
|
|
|
}
|
|
|
|
|
2012-12-25 20:36:04 +00:00
|
|
|
private void miSnesOptions_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
var so = new SNESOptions();
|
2013-01-18 05:06:26 +00:00
|
|
|
so.UseRingBuffer = Global.Config.SNESUseRingBuffer;
|
2012-12-25 20:36:04 +00:00
|
|
|
so.Profile = Global.Config.SNESProfile;
|
|
|
|
if (so.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
|
|
|
{
|
|
|
|
bool reboot = Global.Config.SNESProfile != so.Profile;
|
|
|
|
Global.Config.SNESProfile = so.Profile;
|
2013-01-18 05:06:26 +00:00
|
|
|
Global.Config.SNESUseRingBuffer = so.UseRingBuffer;
|
2012-12-25 20:36:04 +00:00
|
|
|
if (reboot) FlagNeedsReboot();
|
2013-01-18 05:06:26 +00:00
|
|
|
SyncCoreCommInputSignals();
|
2012-12-25 20:36:04 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2012-09-15 16:43:16 +00:00
|
|
|
private void SNES_ToggleBG1()
|
|
|
|
{
|
|
|
|
if (Global.Emulator is LibsnesCore)
|
|
|
|
{
|
|
|
|
Global.Config.SNES_ShowBG1_1 = Global.Config.SNES_ShowBG1_0 ^= true;
|
2012-12-10 00:43:43 +00:00
|
|
|
SyncCoreCommInputSignals();
|
2012-09-15 16:43:16 +00:00
|
|
|
if (Global.Config.SNES_ShowBG1_1)
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("BG 1 Layer On");
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("BG 1 Layer Off");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void SNES_ToggleBG2()
|
|
|
|
{
|
|
|
|
if (Global.Emulator is LibsnesCore)
|
|
|
|
{
|
|
|
|
Global.Config.SNES_ShowBG2_1 = Global.Config.SNES_ShowBG2_0 ^= true;
|
2012-12-10 00:43:43 +00:00
|
|
|
SyncCoreCommInputSignals();
|
2012-09-15 16:43:16 +00:00
|
|
|
if (Global.Config.SNES_ShowBG2_1)
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("BG 2 Layer On");
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("BG 2 Layer Off");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void SNES_ToggleBG3()
|
|
|
|
{
|
|
|
|
if (Global.Emulator is LibsnesCore)
|
|
|
|
{
|
|
|
|
Global.Config.SNES_ShowBG3_1 = Global.Config.SNES_ShowBG3_0 ^= true;
|
2012-12-10 00:43:43 +00:00
|
|
|
SyncCoreCommInputSignals();
|
2012-09-15 16:43:16 +00:00
|
|
|
if (Global.Config.SNES_ShowBG3_1)
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("BG 3 Layer On");
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("BG 3 Layer Off");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void SNES_ToggleBG4()
|
|
|
|
{
|
|
|
|
if (Global.Emulator is LibsnesCore)
|
|
|
|
{
|
|
|
|
Global.Config.SNES_ShowBG4_1 = Global.Config.SNES_ShowBG4_0 ^= true;
|
2012-12-10 00:43:43 +00:00
|
|
|
SyncCoreCommInputSignals();
|
2012-09-15 16:43:16 +00:00
|
|
|
if (Global.Config.SNES_ShowBG4_1)
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("BG 4 Layer On");
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("BG 4 Layer Off");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void SNES_ToggleOBJ1()
|
|
|
|
{
|
|
|
|
if (Global.Emulator is LibsnesCore)
|
|
|
|
{
|
|
|
|
Global.Config.SNES_ShowOBJ1 ^= true;
|
2012-12-10 00:43:43 +00:00
|
|
|
SyncCoreCommInputSignals();
|
2012-09-15 16:43:16 +00:00
|
|
|
if (Global.Config.SNES_ShowOBJ1)
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("OBJ 1 Layer On");
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("OBJ 1 Layer Off");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void SNES_ToggleOBJ2()
|
|
|
|
{
|
|
|
|
if (Global.Emulator is LibsnesCore)
|
|
|
|
{
|
|
|
|
Global.Config.SNES_ShowOBJ2 ^= true;
|
2012-12-10 00:43:43 +00:00
|
|
|
SyncCoreCommInputSignals();
|
2012-09-15 16:43:16 +00:00
|
|
|
if (Global.Config.SNES_ShowOBJ2)
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("OBJ 2 Layer On");
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("OBJ 2 Layer Off");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void SNES_ToggleOBJ3()
|
|
|
|
{
|
|
|
|
if (Global.Emulator is LibsnesCore)
|
|
|
|
{
|
|
|
|
Global.Config.SNES_ShowOBJ3 ^= true;
|
2012-12-10 00:43:43 +00:00
|
|
|
SyncCoreCommInputSignals();
|
2012-09-15 16:43:16 +00:00
|
|
|
if (Global.Config.SNES_ShowOBJ3)
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("OBJ 3 Layer On");
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("OBJ 3 Layer Off");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void SNES_ToggleOBJ4()
|
|
|
|
{
|
|
|
|
if (Global.Emulator is LibsnesCore)
|
|
|
|
{
|
|
|
|
Global.Config.SNES_ShowOBJ4 ^= true;
|
2012-12-10 00:43:43 +00:00
|
|
|
SyncCoreCommInputSignals();
|
2012-09-15 16:43:16 +00:00
|
|
|
if (Global.Config.SNES_ShowOBJ4)
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("OBJ 4 Layer On");
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
Global.OSD.AddMessage("OBJ 4 Layer Off");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2012-09-10 19:12:34 +00:00
|
|
|
private void bG1ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2012-09-15 16:43:16 +00:00
|
|
|
SNES_ToggleBG1();
|
2012-09-10 19:12:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void bG1ToolStripMenuItem_Click_1(object sender, EventArgs e)
|
|
|
|
{
|
2012-09-15 16:43:16 +00:00
|
|
|
SNES_ToggleBG2();
|
2012-09-10 19:12:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void bG2ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2012-09-15 16:43:16 +00:00
|
|
|
SNES_ToggleBG3();
|
2012-09-10 19:12:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void bG3ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2012-09-15 16:43:16 +00:00
|
|
|
SNES_ToggleBG4();
|
2012-09-10 19:12:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void oBJ0ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2012-09-15 16:43:16 +00:00
|
|
|
SNES_ToggleOBJ1();
|
2012-09-10 19:12:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void oBJ1ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2012-09-15 16:43:16 +00:00
|
|
|
SNES_ToggleOBJ2();
|
2012-09-10 19:12:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void oBJ2ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2012-09-15 16:43:16 +00:00
|
|
|
SNES_ToggleOBJ3();
|
2012-09-10 19:12:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void oBJ3ToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2012-09-15 16:43:16 +00:00
|
|
|
SNES_ToggleOBJ4();
|
2012-09-10 19:12:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void displayToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
bG0ToolStripMenuItem.Checked = Global.Config.SNES_ShowBG1_1;
|
|
|
|
bG1ToolStripMenuItem.Checked = Global.Config.SNES_ShowBG2_1;
|
|
|
|
bG2ToolStripMenuItem.Checked = Global.Config.SNES_ShowBG3_1;
|
|
|
|
bG3ToolStripMenuItem.Checked = Global.Config.SNES_ShowBG4_1;
|
|
|
|
|
2012-09-15 16:43:16 +00:00
|
|
|
oBJ0ToolStripMenuItem.Checked = Global.Config.SNES_ShowOBJ1;
|
|
|
|
oBJ1ToolStripMenuItem.Checked = Global.Config.SNES_ShowOBJ2;
|
|
|
|
oBJ2ToolStripMenuItem.Checked = Global.Config.SNES_ShowOBJ3;
|
|
|
|
oBJ3ToolStripMenuItem.Checked = Global.Config.SNES_ShowOBJ4;
|
2012-09-10 19:12:34 +00:00
|
|
|
}
|
2012-09-22 00:07:02 +00:00
|
|
|
|
|
|
|
private void captureOSDToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.AVI_CaptureOSD ^= true;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void forceDMGModeToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.GB_ForceDMG ^= true;
|
2012-09-29 23:03:51 +00:00
|
|
|
FlagNeedsReboot();
|
2012-09-22 00:07:02 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void gBAInCGBModeToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.GB_GBACGB ^= true;
|
2012-09-29 23:03:51 +00:00
|
|
|
FlagNeedsReboot();
|
2012-09-22 00:07:02 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void multicartCompatibilityToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.GB_MulticartCompat ^= true;
|
2012-09-29 23:03:51 +00:00
|
|
|
FlagNeedsReboot();
|
2012-09-22 00:07:02 +00:00
|
|
|
}
|
2012-10-07 19:52:09 +00:00
|
|
|
|
|
|
|
private void StatusSlot1_MouseUp(object sender, MouseEventArgs e)
|
|
|
|
{
|
|
|
|
if (e.Button == MouseButtons.Left)
|
|
|
|
{
|
|
|
|
if (StateSlots.HasSlot(1))
|
|
|
|
{
|
|
|
|
LoadState("QuickSave1");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (e.Button == MouseButtons.Right)
|
|
|
|
{
|
|
|
|
SaveState("QuickSave1");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void StatusSlot2_MouseUp(object sender, MouseEventArgs e)
|
|
|
|
{
|
|
|
|
if (e.Button == MouseButtons.Left)
|
|
|
|
{
|
|
|
|
if (StateSlots.HasSlot(2))
|
|
|
|
{
|
|
|
|
LoadState("QuickSave2");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (e.Button == MouseButtons.Right)
|
|
|
|
{
|
|
|
|
SaveState("QuickSave2");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void StatusSlot3_MouseUp(object sender, MouseEventArgs e)
|
|
|
|
{
|
|
|
|
if (e.Button == MouseButtons.Left)
|
|
|
|
{
|
|
|
|
if (StateSlots.HasSlot(3))
|
|
|
|
{
|
|
|
|
LoadState("QuickSave3");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (e.Button == MouseButtons.Right)
|
|
|
|
{
|
|
|
|
SaveState("QuickSave3");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void StatusSlot4_MouseUp(object sender, MouseEventArgs e)
|
|
|
|
{
|
|
|
|
if (e.Button == MouseButtons.Left)
|
|
|
|
{
|
|
|
|
if (StateSlots.HasSlot(4))
|
|
|
|
{
|
|
|
|
LoadState("QuickSave4");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (e.Button == MouseButtons.Right)
|
|
|
|
{
|
|
|
|
SaveState("QuickSave4");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void StatusSlot5_MouseUp(object sender, MouseEventArgs e)
|
|
|
|
{
|
|
|
|
if (e.Button == MouseButtons.Left)
|
|
|
|
{
|
|
|
|
if (StateSlots.HasSlot(5))
|
|
|
|
{
|
|
|
|
LoadState("QuickSave5");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (e.Button == MouseButtons.Right)
|
|
|
|
{
|
|
|
|
SaveState("QuickSave5");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void StatusSlot6_MouseUp(object sender, MouseEventArgs e)
|
|
|
|
{
|
|
|
|
if (e.Button == MouseButtons.Left)
|
|
|
|
{
|
|
|
|
if (StateSlots.HasSlot(6))
|
|
|
|
{
|
|
|
|
LoadState("QuickSave6");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (e.Button == MouseButtons.Right)
|
|
|
|
{
|
|
|
|
SaveState("QuickSave6");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void StatusSlot7_MouseUp(object sender, MouseEventArgs e)
|
|
|
|
{
|
|
|
|
if (e.Button == MouseButtons.Left)
|
|
|
|
{
|
|
|
|
if (StateSlots.HasSlot(7))
|
|
|
|
{
|
|
|
|
LoadState("QuickSave7");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (e.Button == MouseButtons.Right)
|
|
|
|
{
|
|
|
|
SaveState("QuickSave7");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void StatusSlot8_MouseUp(object sender, MouseEventArgs e)
|
|
|
|
{
|
|
|
|
if (e.Button == MouseButtons.Left)
|
|
|
|
{
|
|
|
|
if (StateSlots.HasSlot(8))
|
|
|
|
{
|
|
|
|
LoadState("QuickSave8");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (e.Button == MouseButtons.Right)
|
|
|
|
{
|
|
|
|
SaveState("QuickSave8");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void StatusSlot9_MouseUp(object sender, MouseEventArgs e)
|
|
|
|
{
|
|
|
|
if (e.Button == MouseButtons.Left)
|
|
|
|
{
|
|
|
|
if (StateSlots.HasSlot(9))
|
|
|
|
{
|
|
|
|
LoadState("QuickSave9");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (e.Button == MouseButtons.Right)
|
|
|
|
{
|
|
|
|
SaveState("QuickSave9");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void StatusSlot10_MouseUp(object sender, MouseEventArgs e)
|
|
|
|
{
|
|
|
|
if (e.Button == MouseButtons.Left)
|
|
|
|
{
|
|
|
|
if (StateSlots.HasSlot(0))
|
|
|
|
{
|
|
|
|
LoadState("QuickSave0");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (e.Button == MouseButtons.Right)
|
|
|
|
{
|
|
|
|
SaveState("QuickSave0");
|
|
|
|
}
|
|
|
|
}
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
2012-03-09 21:36:55 +00:00
|
|
|
}
|