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;
|
2011-07-22 01:34:21 +00:00
|
|
|
using BizHawk.Emulation.Consoles.Gameboy;
|
2011-02-21 09:48:53 +00:00
|
|
|
|
|
|
|
namespace BizHawk.MultiClient
|
|
|
|
{
|
|
|
|
partial class MainForm
|
|
|
|
{
|
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)
|
|
|
|
{
|
|
|
|
string details = Global.Emulator.CoreOutputComm.RomStatusDetails;
|
|
|
|
if(string.IsNullOrEmpty(details)) return;
|
|
|
|
var lw = new LogWindow();
|
2011-07-21 22:51:32 +00:00
|
|
|
Global.Sound.StopSound();
|
2011-07-10 21:00:28 +00:00
|
|
|
lw.ShowReport("Dump Status Report",details);
|
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
|
|
|
{
|
|
|
|
RamPoke r = new RamPoke();
|
|
|
|
r.Show();
|
|
|
|
}
|
|
|
|
|
|
|
|
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)
|
|
|
|
{
|
2011-05-06 01:40:52 +00:00
|
|
|
//var window = new BizHawk.MultiClient.tools.LuaWindow();
|
|
|
|
//window.Show();
|
2011-06-26 01:22:52 +00:00
|
|
|
LuaConsole l = new LuaConsole();
|
|
|
|
l.Show();
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void miLimitFramerate_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.LimitFramerate ^= true;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void miDisplayVsync_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.DisplayVSync ^= true;
|
|
|
|
Global.RenderPanel.Resized = true;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void miAutoMinimizeSkipping_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.AutoMinimizeSkipping ^= true;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void miFrameskip0_Click(object sender, EventArgs e) { Global.Config.FrameSkip = 0; }
|
|
|
|
private void miFrameskip1_Click(object sender, EventArgs e) { Global.Config.FrameSkip = 1; }
|
|
|
|
private void miFrameskip2_Click(object sender, EventArgs e) { Global.Config.FrameSkip = 2; }
|
|
|
|
private void miFrameskip3_Click(object sender, EventArgs e) { Global.Config.FrameSkip = 3; }
|
|
|
|
private void miFrameskip4_Click(object sender, EventArgs e) { Global.Config.FrameSkip = 4; }
|
|
|
|
private void miFrameskip5_Click(object sender, EventArgs e) { Global.Config.FrameSkip = 5; }
|
|
|
|
private void miFrameskip6_Click(object sender, EventArgs e) { Global.Config.FrameSkip = 6; }
|
|
|
|
private void miFrameskip7_Click(object sender, EventArgs e) { Global.Config.FrameSkip = 7; }
|
|
|
|
private void miFrameskip8_Click(object sender, EventArgs e) { Global.Config.FrameSkip = 8; }
|
|
|
|
private void miFrameskip9_Click(object sender, EventArgs e) { Global.Config.FrameSkip = 9; }
|
|
|
|
|
2011-06-26 01:22:52 +00:00
|
|
|
void ClickSpeedItem(int num)
|
|
|
|
{
|
|
|
|
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();
|
|
|
|
s.ShowDialog();
|
|
|
|
}
|
|
|
|
|
|
|
|
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();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void enableFMChipToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.SmsEnableFM ^= true;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void overclockWhenKnownSafeToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.SmsAllowOverlock ^= true;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void forceStereoSeparationToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config.SmsForceStereoSeparation ^= true;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void recordMovieToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
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)
|
|
|
|
{
|
|
|
|
LoadRamWatch();
|
|
|
|
}
|
|
|
|
|
|
|
|
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)
|
|
|
|
{
|
|
|
|
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)
|
|
|
|
{
|
|
|
|
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)
|
|
|
|
{
|
|
|
|
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)
|
|
|
|
{
|
|
|
|
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)
|
|
|
|
{
|
|
|
|
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)
|
|
|
|
{
|
|
|
|
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)
|
|
|
|
{
|
|
|
|
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)
|
|
|
|
{
|
|
|
|
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)
|
|
|
|
{
|
|
|
|
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)
|
|
|
|
{
|
|
|
|
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)
|
|
|
|
{
|
|
|
|
SaveState("QuickSave" + SaveSlot.ToString());
|
|
|
|
}
|
|
|
|
|
|
|
|
private void loadCurrentSlotToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
LoadState("QuickSave" + SaveSlot.ToString());
|
|
|
|
}
|
|
|
|
|
|
|
|
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)
|
|
|
|
{
|
|
|
|
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
|
|
|
}
|
|
|
|
|
|
|
|
private void pauseToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
if (EmulatorPaused == true)
|
|
|
|
UnpauseEmulator();
|
|
|
|
else
|
|
|
|
PauseEmulator();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void helpToolStripMenuItem1_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-07-31 23:00:19 +00:00
|
|
|
System.Diagnostics.Process.Start("http://code.google.com/p/bizhawk/");
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-07-31 02:13:24 +00:00
|
|
|
//new AboutBox().ShowDialog();
|
|
|
|
new BizBox().ShowDialog();
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void controllersToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
InputConfig i = new InputConfig();
|
|
|
|
i.ShowDialog();
|
2011-04-06 05:43:59 +00:00
|
|
|
//re-initialize controls in case anything was changed
|
|
|
|
if (i.DialogResult == DialogResult.OK)
|
|
|
|
{
|
|
|
|
InitControls();
|
|
|
|
SyncControls();
|
|
|
|
}
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void hotkeysToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
BizHawk.MultiClient.tools.HotkeyWindow h = new BizHawk.MultiClient.tools.HotkeyWindow();
|
|
|
|
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();
|
|
|
|
}
|
|
|
|
|
|
|
|
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;
|
|
|
|
}
|
|
|
|
|
|
|
|
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
|
|
|
|
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)
|
|
|
|
{
|
|
|
|
loadstate1toolStripMenuItem.ShortcutKeyDisplayString = Global.Config.LoadSlot0;
|
|
|
|
loadstate2toolStripMenuItem.ShortcutKeyDisplayString = Global.Config.LoadSlot1;
|
|
|
|
loadstate3toolStripMenuItem.ShortcutKeyDisplayString = Global.Config.LoadSlot2;
|
|
|
|
loadstate4toolStripMenuItem.ShortcutKeyDisplayString = Global.Config.LoadSlot3;
|
|
|
|
loadstate5toolStripMenuItem.ShortcutKeyDisplayString = Global.Config.LoadSlot4;
|
|
|
|
loadstate6toolStripMenuItem.ShortcutKeyDisplayString = Global.Config.LoadSlot5;
|
|
|
|
loadstate7toolStripMenuItem.ShortcutKeyDisplayString = Global.Config.LoadSlot6;
|
|
|
|
loadstate8toolStripMenuItem.ShortcutKeyDisplayString = Global.Config.LoadSlot7;
|
|
|
|
loadstate9toolStripMenuItem.ShortcutKeyDisplayString = Global.Config.LoadSlot8;
|
|
|
|
loadstate0toolStripMenuItem.ShortcutKeyDisplayString = Global.Config.LoadSlot9;
|
|
|
|
loadNamedStateToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.LoadNamedState;
|
|
|
|
}
|
|
|
|
|
|
|
|
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;
|
|
|
|
}
|
|
|
|
|
|
|
|
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();
|
|
|
|
|
|
|
|
if (Global.Config.RecentRoms.IsEmpty())
|
|
|
|
{
|
|
|
|
var none = new ToolStripMenuItem();
|
|
|
|
none.Enabled = false;
|
|
|
|
none.Text = "None";
|
|
|
|
recentROMToolStripMenuItem.DropDownItems.Add(none);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
for (int x = 0; x < Global.Config.RecentRoms.Length(); x++)
|
|
|
|
{
|
|
|
|
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();
|
|
|
|
|
|
|
|
if (Global.Config.RecentMovies.IsEmpty())
|
|
|
|
{
|
|
|
|
var none = new ToolStripMenuItem();
|
|
|
|
none.Enabled = false;
|
|
|
|
none.Text = "None";
|
|
|
|
recentToolStripMenuItem.DropDownItems.Add(none);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
for (int x = 0; x < Global.Config.RecentMovies.Length(); x++)
|
|
|
|
{
|
|
|
|
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;
|
|
|
|
MakeScreenshot(sfd.FileName);
|
|
|
|
}
|
|
|
|
|
|
|
|
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)
|
|
|
|
{
|
|
|
|
Global.Config.AcceptBackgroundInput ^= true;
|
|
|
|
}
|
|
|
|
|
|
|
|
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();
|
2011-06-11 22:15:08 +00:00
|
|
|
SyncCoreInputComm();
|
2011-06-10 23:09:10 +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;
|
|
|
|
}
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
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)
|
|
|
|
wasPaused = true;
|
|
|
|
else
|
|
|
|
wasPaused = false;
|
|
|
|
didMenuPause = true;
|
|
|
|
PauseEmulator();
|
|
|
|
|
2011-06-18 17:45:18 +00:00
|
|
|
if (IsNullEmulator())
|
|
|
|
{
|
|
|
|
contextMenuStrip1.Items[0].Visible = true;
|
|
|
|
contextMenuStrip1.Items[1].Visible = true;
|
|
|
|
contextMenuStrip1.Items[2].Visible = false;
|
|
|
|
contextMenuStrip1.Items[3].Visible = false;
|
|
|
|
contextMenuStrip1.Items[4].Visible = false;
|
|
|
|
contextMenuStrip1.Items[5].Visible = false;
|
|
|
|
contextMenuStrip1.Items[6].Visible = false;
|
|
|
|
contextMenuStrip1.Items[7].Visible = false;
|
|
|
|
contextMenuStrip1.Items[8].Visible = false;
|
|
|
|
contextMenuStrip1.Items[9].Visible = false;
|
|
|
|
contextMenuStrip1.Items[10].Visible = false;
|
|
|
|
contextMenuStrip1.Items[11].Visible = false;
|
2011-06-18 18:27:51 +00:00
|
|
|
contextMenuStrip1.Items[12].Visible = false;
|
2011-06-19 20:13:54 +00:00
|
|
|
contextMenuStrip1.Items[13].Visible = false;
|
2011-06-26 21:11:12 +00:00
|
|
|
contextMenuStrip1.Items[14].Visible = false;
|
2011-07-04 02:50:38 +00:00
|
|
|
contextMenuStrip1.Items[15].Visible = false;
|
2011-07-24 00:58:48 +00:00
|
|
|
contextMenuStrip1.Items[16].Visible = false;
|
2011-06-18 17:45:18 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
contextMenuStrip1.Items[0].Visible = false;
|
|
|
|
contextMenuStrip1.Items[1].Visible = false;
|
|
|
|
contextMenuStrip1.Items[2].Visible = false;
|
|
|
|
|
2011-09-03 18:07:30 +00:00
|
|
|
if (Global.MovieSession.Movie.Mode == MOVIEMODE.INACTIVE)
|
2011-06-18 17:45:18 +00:00
|
|
|
{
|
|
|
|
contextMenuStrip1.Items[3].Visible = true;
|
|
|
|
contextMenuStrip1.Items[4].Visible = true;
|
2011-06-19 20:13:54 +00:00
|
|
|
contextMenuStrip1.Items[5].Visible = false;
|
2011-07-24 00:58:48 +00:00
|
|
|
contextMenuStrip1.Items[6].Visible = false;
|
|
|
|
contextMenuStrip1.Items[7].Visible = true;
|
2011-06-26 21:11:12 +00:00
|
|
|
contextMenuStrip1.Items[8].Visible = false;
|
2011-07-04 02:50:38 +00:00
|
|
|
contextMenuStrip1.Items[9].Visible = false;
|
2011-07-24 00:58:48 +00:00
|
|
|
contextMenuStrip1.Items[10].Visible = false;
|
|
|
|
contextMenuStrip1.Items[11].Visible = true;
|
|
|
|
contextMenuStrip1.Items[12].Visible = false;
|
2011-06-18 17:45:18 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
contextMenuStrip1.Items[3].Visible = false;
|
|
|
|
contextMenuStrip1.Items[4].Visible = false;
|
2011-06-19 20:13:54 +00:00
|
|
|
contextMenuStrip1.Items[5].Visible = true;
|
2011-07-24 00:58:48 +00:00
|
|
|
contextMenuStrip1.Items[6].Visible = true;
|
|
|
|
contextMenuStrip1.Items[7].Visible = false;
|
2011-06-19 20:13:54 +00:00
|
|
|
contextMenuStrip1.Items[8].Visible = true;
|
2011-06-26 21:11:12 +00:00
|
|
|
contextMenuStrip1.Items[9].Visible = true;
|
2011-07-04 02:50:38 +00:00
|
|
|
contextMenuStrip1.Items[10].Visible = true;
|
2011-07-24 00:58:48 +00:00
|
|
|
contextMenuStrip1.Items[11].Visible = true;
|
2011-06-26 21:11:12 +00:00
|
|
|
if (ReadOnly == true)
|
|
|
|
{
|
2011-07-24 00:58:48 +00:00
|
|
|
contextMenuStrip1.Items[9].Text = "View Subtitles";
|
|
|
|
contextMenuStrip1.Items[10].Text = "View Comments";
|
|
|
|
contextMenuStrip1.Items[12].Visible = false;
|
2011-06-26 21:11:12 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2011-07-24 00:58:48 +00:00
|
|
|
contextMenuStrip1.Items[9].Text = "Edit Subtitles";
|
|
|
|
contextMenuStrip1.Items[10].Text = "Edit Comments";
|
|
|
|
contextMenuStrip1.Items[12].Visible = true;
|
2011-06-26 21:11:12 +00:00
|
|
|
}
|
2011-06-18 17:45:18 +00:00
|
|
|
}
|
|
|
|
|
2011-06-19 20:13:54 +00:00
|
|
|
contextMenuStrip1.Items[13].Visible = true;
|
2011-07-24 00:58:48 +00:00
|
|
|
|
2011-06-26 21:11:12 +00:00
|
|
|
contextMenuStrip1.Items[14].Visible = true;
|
2011-07-04 02:50:38 +00:00
|
|
|
contextMenuStrip1.Items[15].Visible = true;
|
2011-07-24 00:58:48 +00:00
|
|
|
contextMenuStrip1.Items[16].Visible = true;
|
2011-06-18 17:45:18 +00:00
|
|
|
}
|
2011-06-21 02:09:53 +00:00
|
|
|
|
|
|
|
if (Global.Config.RecentRoms.Length() == 0)
|
|
|
|
contextMenuStrip1.Items[1].Enabled = false;
|
|
|
|
else
|
|
|
|
contextMenuStrip1.Items[1].Enabled = true;
|
|
|
|
|
|
|
|
if (Global.Config.RecentMovies.Length() == 0)
|
2011-07-24 00:58:48 +00:00
|
|
|
contextMenuStrip1.Items[7].Enabled = false;
|
2011-06-21 02:09:53 +00:00
|
|
|
else
|
2011-07-24 00:58:48 +00:00
|
|
|
contextMenuStrip1.Items[7].Enabled = true;
|
2011-06-21 02:09:53 +00:00
|
|
|
|
2011-08-04 03:20:54 +00:00
|
|
|
string path = PathManager.SaveStatePrefix(Global.Game) + "." + "QuickSave" + SaveSlot + ".State.bak";
|
2011-07-31 22:29:56 +00:00
|
|
|
var file = new FileInfo(path);
|
|
|
|
if (file.Exists == true)
|
|
|
|
{
|
2011-07-31 23:25:00 +00:00
|
|
|
if (StateSlots.IsRedo(SaveSlot))
|
|
|
|
{
|
|
|
|
contextMenuStrip1.Items[13].Enabled = true;
|
|
|
|
contextMenuStrip1.Items[13].Text = "Redo Save to slot " + SaveSlot.ToString();
|
|
|
|
contextMenuStrip1.Items[13].Image = BizHawk.MultiClient.Properties.Resources.redo;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
contextMenuStrip1.Items[13].Enabled = true;
|
|
|
|
contextMenuStrip1.Items[13].Text = "Undo Save to slot " + SaveSlot.ToString();
|
|
|
|
contextMenuStrip1.Items[13].Image = BizHawk.MultiClient.Properties.Resources.undo;
|
|
|
|
}
|
2011-07-31 22:29:56 +00:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
contextMenuStrip1.Items[13].Enabled = false;
|
|
|
|
contextMenuStrip1.Items[13].Text = "Undo Savestate";
|
|
|
|
contextMenuStrip1.Items[13].Image = BizHawk.MultiClient.Properties.Resources.undo;
|
|
|
|
}
|
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)
|
|
|
|
LogConsole.ShowConsole();
|
|
|
|
else
|
|
|
|
LogConsole.HideConsole();
|
|
|
|
}
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
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 StatusSlot1_Click(object sender, EventArgs e) { LoadState("QuickSave1"); }
|
|
|
|
private void StatusSlot2_Click(object sender, EventArgs e) { LoadState("QuickSave2"); }
|
|
|
|
private void StatusSlot3_Click(object sender, EventArgs e) { LoadState("QuickSave3"); }
|
|
|
|
private void StatusSlot4_Click(object sender, EventArgs e) { LoadState("QuickSave4"); }
|
|
|
|
private void StatusSlot5_Click(object sender, EventArgs e) { LoadState("QuickSave5"); }
|
|
|
|
private void StatusSlot6_Click(object sender, EventArgs e) { LoadState("QuickSave6"); }
|
|
|
|
private void StatusSlot7_Click(object sender, EventArgs e) { LoadState("QuickSave7"); }
|
|
|
|
private void StatusSlot8_Click(object sender, EventArgs e) { LoadState("QuickSave8"); }
|
|
|
|
private void StatusSlot9_Click(object sender, EventArgs e) { LoadState("QuickSave9"); }
|
|
|
|
private void StatusSlot10_Click(object sender, EventArgs e) { LoadState("QuickSave0"); }
|
|
|
|
|
|
|
|
private void viewCommentsToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-09-03 18:07:30 +00:00
|
|
|
if (Global.MovieSession.Movie.Mode == MOVIEMODE.INACTIVE) return;
|
2011-07-22 01:34:21 +00:00
|
|
|
|
|
|
|
EditCommentsForm c = new EditCommentsForm();
|
|
|
|
c.ReadOnly = ReadOnly;
|
2011-09-03 18:07:30 +00:00
|
|
|
c.GetMovie(Global.MovieSession.Movie);
|
2011-07-22 01:34:21 +00:00
|
|
|
c.ShowDialog();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void viewSubtitlesToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-09-03 18:07:30 +00:00
|
|
|
if (Global.MovieSession.Movie.Mode == MOVIEMODE.INACTIVE) return;
|
2011-07-22 01:34:21 +00:00
|
|
|
|
|
|
|
EditSubtitlesForm s = new EditSubtitlesForm();
|
|
|
|
s.ReadOnly = ReadOnly;
|
2011-09-03 18:07:30 +00:00
|
|
|
s.GetMovie(Global.MovieSession.Movie);
|
2011-07-22 01:34:21 +00:00
|
|
|
s.ShowDialog();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void debuggerToolStripMenuItem1_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
if (Global.Emulator is Gameboy)
|
|
|
|
{
|
|
|
|
Debugger gbDebugger = new Debugger(Global.Emulator as Gameboy);
|
|
|
|
gbDebugger.Show();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
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)
|
|
|
|
PauseEmulator();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void MainForm_Activated(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
if (!Global.Config.RunInBackground)
|
|
|
|
UnpauseEmulator();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void readonlyToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
ToggleReadOnly();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void movieToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
|
|
|
{
|
2011-09-03 18:07:30 +00:00
|
|
|
if (Global.MovieSession.Movie.Mode == MOVIEMODE.INACTIVE)
|
2011-07-22 01:34:21 +00:00
|
|
|
{
|
|
|
|
stopMovieToolStripMenuItem.Enabled = false;
|
|
|
|
playFromBeginningToolStripMenuItem.Enabled = false;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
stopMovieToolStripMenuItem.Enabled = true;
|
|
|
|
playFromBeginningToolStripMenuItem.Enabled = true;
|
|
|
|
}
|
|
|
|
|
|
|
|
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;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void saveConfigToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
SaveConfig();
|
|
|
|
Global.RenderPanel.AddMessage("Saved settings");
|
|
|
|
}
|
|
|
|
|
|
|
|
private void loadConfigToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
Global.Config = ConfigService.Load<Config>(PathManager.DefaultIniPath);
|
|
|
|
Global.RenderPanel.AddMessage("Saved loaded");
|
|
|
|
}
|
|
|
|
|
|
|
|
private void frameSkipToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
miDisplayVsync.Checked = Global.Config.LimitFramerate;
|
|
|
|
miAutoMinimizeSkipping.Checked = Global.Config.AutoMinimizeSkipping;
|
|
|
|
miLimitFramerate.Checked = Global.Config.LimitFramerate;
|
|
|
|
miDisplayVsync.Checked = Global.Config.DisplayVSync;
|
|
|
|
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;
|
|
|
|
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;
|
|
|
|
miAutoMinimizeSkipping.Enabled = !miFrameskip0.Checked;
|
|
|
|
if (!miAutoMinimizeSkipping.Enabled) miAutoMinimizeSkipping.Checked = true;
|
|
|
|
}
|
|
|
|
|
|
|
|
private void gUIToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
runInBackgroundToolStripMenuItem.Checked = Global.Config.RunInBackground;
|
|
|
|
pauseWhenMenuActivatedToolStripMenuItem.Checked = Global.Config.PauseWhenMenuActivated;
|
|
|
|
saveWindowPositionToolStripMenuItem.Checked = Global.Config.SaveWindowPosition;
|
|
|
|
startPausedToolStripMenuItem.Checked = Global.Config.StartPaused;
|
|
|
|
enableRewindToolStripMenuItem.Checked = Global.Config.RewindEnabled;
|
2011-08-21 01:07:58 +00:00
|
|
|
forceGDIPPresentationToolStripMenuItem.Checked = Global.Config.DisplayGDI;
|
2011-07-22 01:34:21 +00:00
|
|
|
acceptBackgroundInputToolStripMenuItem.Checked = Global.Config.AcceptBackgroundInput;
|
|
|
|
singleInstanceModeToolStripMenuItem.Checked = Global.Config.SingleInstanceMode;
|
|
|
|
enableContextMenuToolStripMenuItem.Checked = Global.Config.ShowContextMenu;
|
2011-07-31 21:39:54 +00:00
|
|
|
backupSavestatesToolStripMenuItem.Checked = Global.Config.BackupSavestates;
|
2011-07-22 01:34:21 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
private void MainForm_Load(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
//Hide platform specific menus until an appropriate ROM is loaded
|
|
|
|
NESToolStripMenuItem.Visible = false;
|
|
|
|
tI83ToolStripMenuItem.Visible = false;
|
|
|
|
}
|
|
|
|
|
|
|
|
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())
|
|
|
|
{
|
|
|
|
closeROMToolStripMenuItem.Enabled = false;
|
|
|
|
screenshotF12ToolStripMenuItem.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
|
|
|
|
{
|
|
|
|
closeROMToolStripMenuItem.Enabled = true;
|
|
|
|
screenshotF12ToolStripMenuItem.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;
|
|
|
|
|
|
|
|
switch (SaveSlot)
|
|
|
|
{
|
|
|
|
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)
|
|
|
|
{
|
|
|
|
powerToolStripMenuItem.Enabled = !IsNullEmulator();
|
|
|
|
resetToolStripMenuItem.Enabled = Global.Emulator.ControllerDefinition.BoolButtons.Contains("Reset");
|
|
|
|
|
|
|
|
enableFMChipToolStripMenuItem.Checked = Global.Config.SmsEnableFM;
|
|
|
|
overclockWhenKnownSafeToolStripMenuItem.Checked = Global.Config.SmsAllowOverlock;
|
|
|
|
forceStereoSeparationToolStripMenuItem.Checked = Global.Config.SmsForceStereoSeparation;
|
|
|
|
pauseToolStripMenuItem.Checked = EmulatorPaused;
|
|
|
|
if (didMenuPause) pauseToolStripMenuItem.Checked = wasPaused;
|
|
|
|
|
|
|
|
pauseToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.EmulatorPauseBinding;
|
|
|
|
powerToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.HardResetBinding;
|
2011-08-10 22:58:06 +00:00
|
|
|
resetToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.SoftResetBinding;
|
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;
|
|
|
|
}
|
2011-07-31 22:29:56 +00:00
|
|
|
|
|
|
|
private void undoSavestateToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
2011-08-04 03:20:54 +00:00
|
|
|
string path = PathManager.SaveStatePrefix(Global.Game) + "." + "QuickSave" + SaveSlot + ".State";
|
2011-07-31 22:29:56 +00:00
|
|
|
SwapBackupSavestate(path);
|
|
|
|
Global.RenderPanel.AddMessage("Save slot " + SaveSlot.ToString() + " restored.");
|
|
|
|
}
|
2011-08-09 23:27:47 +00:00
|
|
|
|
|
|
|
private void FreezeStatus_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
LoadCheatsWindow();
|
|
|
|
}
|
|
|
|
|
|
|
|
public void UpdateCheatStatus()
|
|
|
|
{
|
|
|
|
if (Global.CheatList.HasActiveCheat())
|
|
|
|
{
|
|
|
|
CheatStatus.ToolTipText = "Cheats are currently active";
|
|
|
|
CheatStatus.Image = BizHawk.MultiClient.Properties.Resources.Freeze;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
CheatStatus.ToolTipText = "";
|
|
|
|
CheatStatus.Image = BizHawk.MultiClient.Properties.Resources.Blank;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private void autofireToolStripMenuItem_Click(object sender, EventArgs e)
|
|
|
|
{
|
|
|
|
new AutofireConfig().ShowDialog();
|
|
|
|
}
|
2011-02-21 09:48:53 +00:00
|
|
|
}
|
|
|
|
}
|