Attempt to open a .cht file based on Global.Game.Name when loading a rom

This commit is contained in:
andres.delikat 2011-03-20 21:37:01 +00:00
parent 0ec0702248
commit a0b673b67e
4 changed files with 45 additions and 13 deletions

View File

@ -102,6 +102,7 @@
public bool AutoLoadCheats = false; public bool AutoLoadCheats = false;
public bool CheatsSaveWindowPosition = true; public bool CheatsSaveWindowPosition = true;
public bool DisableCheatsOnLoad = false; public bool DisableCheatsOnLoad = false;
public bool LoadCheatFileByGame = true;
public RecentFiles RecentCheats = new RecentFiles(8); public RecentFiles RecentCheats = new RecentFiles(8);
public int CheatsWndx = -1; public int CheatsWndx = -1;
public int CheatsWndy = -1; public int CheatsWndy = -1;

View File

@ -535,6 +535,11 @@ namespace BizHawk.MultiClient
RamSearch1.Restart(); RamSearch1.Restart();
HexEditor1.Restart(); HexEditor1.Restart();
NESPPU1.Restart(); NESPPU1.Restart();
if (Global.Config.LoadCheatFileByGame)
{
if (Cheats1.AttemptLoadCheatFile())
Global.RenderPanel.AddMessage("Cheats file loaded");
}
Cheats1.Restart(); Cheats1.Restart();
CurrentlyOpenRom = path; CurrentlyOpenRom = path;
HandlePlatformMenus(); HandlePlatformMenus();

View File

@ -53,7 +53,7 @@
this.moveDownToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.moveDownToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.optionsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.saveWindowPositionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.saveWindowPositionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.findAndLoadCheatFileByGameToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.LoadCheatFileByGameToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.CheatsOnOffLoadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.CheatsOnOffLoadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
this.restoreWindowSizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.restoreWindowSizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@ -283,7 +283,7 @@
// //
this.optionsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.optionsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.saveWindowPositionToolStripMenuItem, this.saveWindowPositionToolStripMenuItem,
this.findAndLoadCheatFileByGameToolStripMenuItem, this.LoadCheatFileByGameToolStripMenuItem,
this.CheatsOnOffLoadToolStripMenuItem, this.CheatsOnOffLoadToolStripMenuItem,
this.autoloadDialogToolStripMenuItem, this.autoloadDialogToolStripMenuItem,
this.toolStripSeparator5, this.toolStripSeparator5,
@ -296,32 +296,33 @@
// saveWindowPositionToolStripMenuItem // saveWindowPositionToolStripMenuItem
// //
this.saveWindowPositionToolStripMenuItem.Name = "saveWindowPositionToolStripMenuItem"; this.saveWindowPositionToolStripMenuItem.Name = "saveWindowPositionToolStripMenuItem";
this.saveWindowPositionToolStripMenuItem.Size = new System.Drawing.Size(248, 22); this.saveWindowPositionToolStripMenuItem.Size = new System.Drawing.Size(204, 22);
this.saveWindowPositionToolStripMenuItem.Text = "Save Window Position"; this.saveWindowPositionToolStripMenuItem.Text = "Save Window Position";
this.saveWindowPositionToolStripMenuItem.Click += new System.EventHandler(this.saveWindowPositionToolStripMenuItem_Click); this.saveWindowPositionToolStripMenuItem.Click += new System.EventHandler(this.saveWindowPositionToolStripMenuItem_Click);
// //
// findAndLoadCheatFileByGameToolStripMenuItem // LoadCheatFileByGameToolStripMenuItem
// //
this.findAndLoadCheatFileByGameToolStripMenuItem.Name = "findAndLoadCheatFileByGameToolStripMenuItem"; this.LoadCheatFileByGameToolStripMenuItem.Name = "LoadCheatFileByGameToolStripMenuItem";
this.findAndLoadCheatFileByGameToolStripMenuItem.Size = new System.Drawing.Size(248, 22); this.LoadCheatFileByGameToolStripMenuItem.Size = new System.Drawing.Size(204, 22);
this.findAndLoadCheatFileByGameToolStripMenuItem.Text = "Find and Load Cheat File by Game"; this.LoadCheatFileByGameToolStripMenuItem.Text = "Load Cheat File by Game";
this.LoadCheatFileByGameToolStripMenuItem.Click += new System.EventHandler(this.LoadCheatFileByGameToolStripMenuItem_Click);
// //
// CheatsOnOffLoadToolStripMenuItem // CheatsOnOffLoadToolStripMenuItem
// //
this.CheatsOnOffLoadToolStripMenuItem.Name = "CheatsOnOffLoadToolStripMenuItem"; this.CheatsOnOffLoadToolStripMenuItem.Name = "CheatsOnOffLoadToolStripMenuItem";
this.CheatsOnOffLoadToolStripMenuItem.Size = new System.Drawing.Size(248, 22); this.CheatsOnOffLoadToolStripMenuItem.Size = new System.Drawing.Size(204, 22);
this.CheatsOnOffLoadToolStripMenuItem.Text = "Disable Cheats on Load"; this.CheatsOnOffLoadToolStripMenuItem.Text = "Disable Cheats on Load";
this.CheatsOnOffLoadToolStripMenuItem.Click += new System.EventHandler(this.CheatsOnOffLoadToolStripMenuItem_Click); this.CheatsOnOffLoadToolStripMenuItem.Click += new System.EventHandler(this.CheatsOnOffLoadToolStripMenuItem_Click);
// //
// toolStripSeparator5 // toolStripSeparator5
// //
this.toolStripSeparator5.Name = "toolStripSeparator5"; this.toolStripSeparator5.Name = "toolStripSeparator5";
this.toolStripSeparator5.Size = new System.Drawing.Size(245, 6); this.toolStripSeparator5.Size = new System.Drawing.Size(201, 6);
// //
// restoreWindowSizeToolStripMenuItem // restoreWindowSizeToolStripMenuItem
// //
this.restoreWindowSizeToolStripMenuItem.Name = "restoreWindowSizeToolStripMenuItem"; this.restoreWindowSizeToolStripMenuItem.Name = "restoreWindowSizeToolStripMenuItem";
this.restoreWindowSizeToolStripMenuItem.Size = new System.Drawing.Size(248, 22); this.restoreWindowSizeToolStripMenuItem.Size = new System.Drawing.Size(204, 22);
this.restoreWindowSizeToolStripMenuItem.Text = "Restore Window Size"; this.restoreWindowSizeToolStripMenuItem.Text = "Restore Window Size";
this.restoreWindowSizeToolStripMenuItem.Click += new System.EventHandler(this.restoreWindowSizeToolStripMenuItem_Click); this.restoreWindowSizeToolStripMenuItem.Click += new System.EventHandler(this.restoreWindowSizeToolStripMenuItem_Click);
// //
@ -689,7 +690,7 @@
// autoloadDialogToolStripMenuItem // autoloadDialogToolStripMenuItem
// //
this.autoloadDialogToolStripMenuItem.Name = "autoloadDialogToolStripMenuItem"; this.autoloadDialogToolStripMenuItem.Name = "autoloadDialogToolStripMenuItem";
this.autoloadDialogToolStripMenuItem.Size = new System.Drawing.Size(248, 22); this.autoloadDialogToolStripMenuItem.Size = new System.Drawing.Size(204, 22);
this.autoloadDialogToolStripMenuItem.Text = "Auto-load Dialog"; this.autoloadDialogToolStripMenuItem.Text = "Auto-load Dialog";
this.autoloadDialogToolStripMenuItem.Click += new System.EventHandler(this.autoloadDialogToolStripMenuItem_Click); this.autoloadDialogToolStripMenuItem.Click += new System.EventHandler(this.autoloadDialogToolStripMenuItem_Click);
// //
@ -761,7 +762,7 @@
private System.Windows.Forms.ToolStripMenuItem recentToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem recentToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem optionsToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem optionsToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem saveWindowPositionToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem saveWindowPositionToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem findAndLoadCheatFileByGameToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem LoadCheatFileByGameToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem CheatsOnOffLoadToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem CheatsOnOffLoadToolStripMenuItem;
private System.Windows.Forms.GroupBox AddCheatGroup; private System.Windows.Forms.GroupBox AddCheatGroup;
private System.Windows.Forms.Label label3; private System.Windows.Forms.Label label3;

View File

@ -13,7 +13,8 @@ namespace BizHawk.MultiClient
{ {
public partial class Cheats : Form public partial class Cheats : Form
{ {
//Implement Options menu settings //Auto-save cheat file (generating file name based on game name)
//User option to toggle this (on by default)
//Implement Freeze functions in all memory domains //Implement Freeze functions in all memory domains
//Restore Window Size should restore column order as well //Restore Window Size should restore column order as well
//TODO: use currently selected memory domain! - line 50 //TODO: use currently selected memory domain! - line 50
@ -40,6 +41,24 @@ namespace BizHawk.MultiClient
return c; return c;
} }
/// <summary>
/// Looks for a .cht file that matches the name of the ROM loaded
/// It is up to the client to determine which director it looks
/// </summary>
public bool AttemptLoadCheatFile()
{
string CheatFile = Global.Config.LastRomPath + "\\" + Global.Game.Name + ".cht";
var file = new FileInfo(CheatFile);
if (file.Exists == false)
return false;
else
{
LoadCheatFile(CheatFile, false);
return true;
}
}
private void ClearFields() private void ClearFields()
{ {
NameBox.Text = ""; NameBox.Text = "";
@ -686,6 +705,7 @@ namespace BizHawk.MultiClient
saveWindowPositionToolStripMenuItem.Checked = Global.Config.CheatsSaveWindowPosition; saveWindowPositionToolStripMenuItem.Checked = Global.Config.CheatsSaveWindowPosition;
CheatsOnOffLoadToolStripMenuItem.Checked = Global.Config.DisableCheatsOnLoad; CheatsOnOffLoadToolStripMenuItem.Checked = Global.Config.DisableCheatsOnLoad;
autoloadDialogToolStripMenuItem.Checked = Global.Config.AutoLoadCheats; autoloadDialogToolStripMenuItem.Checked = Global.Config.AutoLoadCheats;
LoadCheatFileByGameToolStripMenuItem.Checked = Global.Config.LoadCheatFileByGame;
} }
private void DuplicateCheat() private void DuplicateCheat()
@ -905,5 +925,10 @@ namespace BizHawk.MultiClient
{ {
Global.Config.AutoLoadCheats ^= true; Global.Config.AutoLoadCheats ^= true;
} }
private void LoadCheatFileByGameToolStripMenuItem_Click(object sender, EventArgs e)
{
Global.Config.LoadCheatFileByGame ^= true;
}
} }
} }