rlm@1: #include "stdafx.h" rlm@1: #include "resource.h" rlm@1: #include "MainWnd.h" rlm@1: #include "FileDlg.h" rlm@1: #include "GBACheatsDlg.h" rlm@1: #include "GBCheatsDlg.h" rlm@1: #include "Reg.h" rlm@1: #include "WinResUtil.h" rlm@1: #include "WinMiscUtil.h" rlm@1: #include "VBA.h" rlm@1: rlm@1: #include "../gba/GBA.h" rlm@1: #include "../gba/GBAGlobals.h" rlm@1: #include "../gb/gbCheats.h" rlm@1: rlm@1: GBACheatSearch gbaDlg; rlm@1: GBCheatSearch gbDlg; rlm@1: rlm@1: void MainWnd::OnCheatsSearchforcheats() rlm@1: { rlm@1: theApp.winCheckFullscreen(); rlm@1: rlm@1: if (theApp.modelessCheatDialogIsOpen) rlm@1: { rlm@1: gbaDlg.DestroyWindow(); rlm@1: gbDlg.DestroyWindow(); rlm@1: theApp.modelessCheatDialogIsOpen = false; rlm@1: } rlm@1: rlm@1: if (systemCartridgeType == 0) rlm@1: { rlm@1: if (theApp.pauseDuringCheatSearch) rlm@1: { rlm@1: gbaDlg.DoModal(); rlm@1: } rlm@1: else rlm@1: { rlm@1: if (!theApp.modelessCheatDialogIsOpen) rlm@1: { rlm@1: theApp.modelessCheatDialogIsOpen = true; rlm@1: gbaDlg.Create(GBACheatSearch::IDD, theApp.m_pMainWnd); rlm@1: } rlm@1: } rlm@1: } rlm@1: else rlm@1: { rlm@1: if (theApp.pauseDuringCheatSearch) rlm@1: { rlm@1: gbDlg.DoModal(); rlm@1: } rlm@1: else rlm@1: { rlm@1: if (!theApp.modelessCheatDialogIsOpen) rlm@1: { rlm@1: theApp.modelessCheatDialogIsOpen = true; rlm@1: gbDlg.Create(GBCheatSearch::IDD, theApp.m_pMainWnd); rlm@1: } rlm@1: } rlm@1: } rlm@1: } rlm@1: rlm@1: void MainWnd::OnUpdateCheatsSearchforcheats(CCmdUI*pCmdUI) rlm@1: { rlm@1: pCmdUI->Enable(emulating); rlm@1: } rlm@1: rlm@1: void MainWnd::OnCheatsCheatlist() rlm@1: { rlm@1: theApp.winCheckFullscreen(); rlm@1: if (systemCartridgeType == 0) rlm@1: { rlm@1: GBACheatList dlg; rlm@1: dlg.DoModal(); rlm@1: } rlm@1: else rlm@1: { rlm@1: GBCheatList dlg; rlm@1: dlg.DoModal(); rlm@1: } rlm@1: } rlm@1: rlm@1: void MainWnd::OnUpdateCheatsCheatlist(CCmdUI*pCmdUI) rlm@1: { rlm@1: pCmdUI->Enable(emulating); rlm@1: } rlm@1: rlm@1: void MainWnd::OnCheatsAutomaticsaveloadcheats() rlm@1: { rlm@1: theApp.autoSaveLoadCheatList = !theApp.autoSaveLoadCheatList; rlm@1: } rlm@1: rlm@1: void MainWnd::OnUpdateCheatsAutomaticsaveloadcheats(CCmdUI*pCmdUI) rlm@1: { rlm@1: pCmdUI->SetCheck(theApp.autoSaveLoadCheatList); rlm@1: } rlm@1: rlm@1: void MainWnd::OnCheatsPauseDuringCheatSearch() rlm@1: { rlm@1: theApp.pauseDuringCheatSearch = !theApp.pauseDuringCheatSearch; rlm@1: } rlm@1: rlm@1: void MainWnd::OnUpdateCheatsPauseDuringCheatSearch(CCmdUI*pCmdUI) rlm@1: { rlm@1: pCmdUI->SetCheck(theApp.pauseDuringCheatSearch); rlm@1: } rlm@1: rlm@1: void MainWnd::OnCheatsLoadcheatlist() rlm@1: { rlm@1: theApp.winCheckFullscreen(); rlm@1: rlm@1: LPCTSTR exts[] = { ".clt", NULL }; rlm@1: CString filter = winResLoadFilter(IDS_FILTER_CHEAT_LIST); rlm@1: CString title = winResLoadString(IDS_SELECT_CHEAT_LIST_NAME); rlm@1: rlm@1: CString cheatName = winGetDestFilename(theApp.gameFilename, IDS_CHEAT_DIR, exts[0]); rlm@1: CString cheatDir = winGetDestDir(IDS_CHEAT_DIR); rlm@1: rlm@1: FileDlg dlg(this, cheatName, filter, 0, "CLT", exts, cheatDir, title, false); rlm@1: rlm@1: if (dlg.DoModal() == IDOK) rlm@1: { rlm@1: winLoadCheatList(dlg.GetPathName()); rlm@1: } rlm@1: } rlm@1: rlm@1: void MainWnd::OnUpdateCheatsLoadcheatlist(CCmdUI*pCmdUI) rlm@1: { rlm@1: pCmdUI->Enable(emulating); rlm@1: } rlm@1: rlm@1: void MainWnd::OnCheatsSavecheatlist() rlm@1: { rlm@1: theApp.winCheckFullscreen(); rlm@1: rlm@1: LPCTSTR exts[] = { ".clt", NULL }; rlm@1: CString filter = winResLoadFilter(IDS_FILTER_CHEAT_LIST); rlm@1: CString title = winResLoadString(IDS_SELECT_CHEAT_LIST_NAME); rlm@1: rlm@1: CString cheatName = winGetDestFilename(theApp.gameFilename, IDS_CHEAT_DIR, exts[0]); rlm@1: CString cheatDir = winGetDestDir(IDS_CHEAT_DIR); rlm@1: rlm@1: FileDlg dlg(this, cheatName, filter, 0, "CLT", exts, cheatDir, title, true); rlm@1: rlm@1: if (dlg.DoModal() == IDOK) rlm@1: { rlm@1: winSaveCheatList(dlg.GetPathName()); rlm@1: } rlm@1: } rlm@1: rlm@1: void MainWnd::OnUpdateCheatsSavecheatlist(CCmdUI*pCmdUI) rlm@1: { rlm@1: pCmdUI->Enable(emulating); rlm@1: } rlm@1: rlm@1: void MainWnd::OnCheatsDisablecheats() rlm@1: { rlm@1: cheatsEnabled = !cheatsEnabled; rlm@1: } rlm@1: rlm@1: void MainWnd::OnUpdateCheatsDisablecheats(CCmdUI*pCmdUI) rlm@1: { rlm@1: pCmdUI->SetCheck(!cheatsEnabled); rlm@1: } rlm@1: