UI: Added "Load Random Game" option
This commit is contained in:
parent
393126f798
commit
2cbae24ded
17 changed files with 105 additions and 39 deletions
|
@ -94,7 +94,7 @@ void Console::Initialize(string romFilename, stringstream *filestream, string ip
|
|||
|
||||
VideoDecoder::GetInstance()->StartThread();
|
||||
|
||||
FolderUtilities::AddKnowGameFolder(FolderUtilities::GetFolderName(romFilename));
|
||||
FolderUtilities::AddKnownGameFolder(FolderUtilities::GetFolderName(romFilename));
|
||||
|
||||
string modelName = _model == NesModel::PAL ? "PAL" : (_model == NesModel::Dendy ? "Dendy" : "NTSC");
|
||||
string messageTitle = MessageManager::Localize("GameLoaded") + " (" + modelName + ")";
|
||||
|
@ -126,7 +126,7 @@ bool Console::LoadROM(string filename, uint32_t crc32Hash)
|
|||
}
|
||||
|
||||
int32_t archiveFileIndex = -1;
|
||||
for(string folder : FolderUtilities::GetKnowGameFolders()) {
|
||||
for(string folder : FolderUtilities::GetKnownGameFolders()) {
|
||||
string match = RomLoader::FindMatchingRomInFolder(folder, filename, crc32Hash, true, archiveFileIndex);
|
||||
if(!match.empty()) {
|
||||
Console::LoadROM(match, nullptr, archiveFileIndex);
|
||||
|
@ -135,7 +135,7 @@ bool Console::LoadROM(string filename, uint32_t crc32Hash)
|
|||
}
|
||||
|
||||
//Perform slow CRC32 search for ROM
|
||||
for(string folder : FolderUtilities::GetKnowGameFolders()) {
|
||||
for(string folder : FolderUtilities::GetKnownGameFolders()) {
|
||||
string match = RomLoader::FindMatchingRomInFolder(folder, filename, crc32Hash, false, archiveFileIndex);
|
||||
if(!match.empty()) {
|
||||
Console::LoadROM(match, nullptr, archiveFileIndex);
|
||||
|
|
|
@ -20,6 +20,8 @@
|
|||
|
||||
<Message ID="RomsFound">{0} roms found</Message>
|
||||
|
||||
<Message ID="RandomGameNoGameFound">Mesen could not find any games to load.</Message>
|
||||
|
||||
<Message ID="CheatsFound">{0} games and {1} cheats in database</Message>
|
||||
<Message ID="CheatsImported">{0} cheats imported for {1}.</Message>
|
||||
|
||||
|
|
|
@ -84,6 +84,7 @@
|
|||
<Control ID="mnuDebugger">Depurar</Control>
|
||||
<Control ID="mnuLogWindow">Ventana de log</Control>
|
||||
<Control ID="mnuTakeScreenshot">Captura de pantalla</Control>
|
||||
<Control ID="mnuRandomGame">Load Random Game</Control>
|
||||
<Control ID="mnuHelp">Ayuda</Control>
|
||||
<Control ID="mnuCheckForUpdates">Buscar actualizaciones</Control>
|
||||
<Control ID="mnuReportBug">Enviar un error</Control>
|
||||
|
@ -476,7 +477,11 @@
|
|||
|
||||
<Message ID="CheatsFound">{0} y {1} trucos de juegos presentes en la base de datos</Message>
|
||||
<Message ID="CheatsImported">{0} trucos se importaron para el juego {1}.</Message>
|
||||
|
||||
<Message ID="RomsFound">{0} roms encontradas</Message>
|
||||
|
||||
<Message ID="RandomGameNoGameFound">Mesen could not find any games to load.</Message>
|
||||
|
||||
<Message ID="NsfNextTrack">Pista siguiente (Espera para jugar más rápido)</Message>
|
||||
<Message ID="NsfUnnamedTrack">[sin nombre]</Message>
|
||||
<Message ID="NsfUnknownField">[desconocido]</Message>
|
||||
|
|
|
@ -83,6 +83,7 @@
|
|||
<Control ID="mnuRunAllTests">Run all tests</Control>
|
||||
<Control ID="mnuDebugger">Débogueur</Control>
|
||||
<Control ID="mnuLogWindow">Fenêtre de log</Control>
|
||||
<Control ID="mnuRandomGame">Ouvrir un jeu aléatoire</Control>
|
||||
<Control ID="mnuTakeScreenshot">Capture d'écran</Control>
|
||||
<Control ID="mnuHelp">Aide</Control>
|
||||
<Control ID="mnuCheckForUpdates">Recherche de mises-à-jour</Control>
|
||||
|
@ -489,6 +490,8 @@
|
|||
|
||||
<Message ID="RomsFound">{0} roms trouvés</Message>
|
||||
|
||||
<Message ID="RandomGameNoGameFound">Mesen n'a pas trouvé de jeu sur votre disque.</Message>
|
||||
|
||||
<Message ID="CheatsFound">{0} jeux et {1} codes présents dans la base de données</Message>
|
||||
<Message ID="CheatsImported">{0} codes ont été importés pour le jeu {1}.</Message>
|
||||
|
||||
|
|
|
@ -84,6 +84,7 @@
|
|||
<Control ID="mnuDebugger">デバッガ</Control>
|
||||
<Control ID="mnuLogWindow">ログウィンドウ</Control>
|
||||
<Control ID="mnuTakeScreenshot">スクリーンショットを撮る</Control>
|
||||
<Control ID="mnuRandomGame">ランダムゲームを開く</Control>
|
||||
<Control ID="mnuHelp">ヘルプ</Control>
|
||||
<Control ID="mnuCheckForUpdates">アップデートの確認</Control>
|
||||
<Control ID="mnuReportBug">バグレポート</Control>
|
||||
|
@ -471,6 +472,8 @@
|
|||
|
||||
<Message ID="RomsFound">{0}個</Message>
|
||||
|
||||
<Message ID="RandomGameNoGameFound">Mesenはゲームファイルを見つかりませんでした。</Message>
|
||||
|
||||
<Message ID="CheatsFound">ゲーム{0}個とチートコード{1}個を見つけました</Message>
|
||||
<Message ID="CheatsImported">{1}用のチートコード{0}個がインポートされました。.</Message>
|
||||
|
||||
|
|
|
@ -84,6 +84,7 @@
|
|||
<Control ID="mnuDebugger">Отладчик</Control>
|
||||
<Control ID="mnuLogWindow">Лог</Control>
|
||||
<Control ID="mnuTakeScreenshot">Сделать скриншот</Control>
|
||||
<Control ID="mnuRandomGame">Load Random Game</Control>
|
||||
<Control ID="mnuHelp">Помощь</Control>
|
||||
<Control ID="mnuCheckForUpdates">Проверить обновления</Control>
|
||||
<Control ID="mnuReportBug">Сообщить об ошибке</Control>
|
||||
|
@ -480,6 +481,8 @@
|
|||
|
||||
<Message ID="RomsFound">{0} Найденные ROM файлы</Message>
|
||||
|
||||
<Message ID="RandomGameNoGameFound">Mesen could not find any games to load.</Message>
|
||||
|
||||
<Message ID="CheatsFound">игр {0}, читов {1}</Message>
|
||||
<Message ID="CheatsImported">{0} читов импортировано для {1}.</Message>
|
||||
|
||||
|
|
|
@ -84,6 +84,7 @@
|
|||
<Control ID="mnuDebugger">Налагодження</Control>
|
||||
<Control ID="mnuLogWindow">Лог</Control>
|
||||
<Control ID="mnuTakeScreenshot">Зробити скріншот</Control>
|
||||
<Control ID="mnuRandomGame">Load Random Game</Control>
|
||||
<Control ID="mnuHelp">Допомога</Control>
|
||||
<Control ID="mnuCheckForUpdates">Перевірити оновлення</Control>
|
||||
<Control ID="mnuReportBug">Повідомити про помилку</Control>
|
||||
|
@ -479,6 +480,8 @@
|
|||
|
||||
<Message ID="RomsFound">{0} Знайдені ROM файли</Message>
|
||||
|
||||
<Message ID="RandomGameNoGameFound">Mesen could not find any games to load.</Message>
|
||||
|
||||
<Message ID="CheatsFound">iгр {0}, читiв {1}</Message>
|
||||
<Message ID="CheatsImported">{0} читiв імпортовано для {1}.</Message>
|
||||
|
||||
|
|
70
GUI.NET/Forms/frmMain.Designer.cs
generated
70
GUI.NET/Forms/frmMain.Designer.cs
generated
|
@ -159,6 +159,7 @@ namespace Mesen.GUI.Forms
|
|||
this.mnuDebugger = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.mnuLogWindow = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.mnuRandomGame = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.mnuTakeScreenshot = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.mnuHelp = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.mnuCheckForUpdates = new System.Windows.Forms.ToolStripMenuItem();
|
||||
|
@ -258,50 +259,50 @@ namespace Mesen.GUI.Forms
|
|||
this.mnuOpen.Image = global::Mesen.GUI.Properties.Resources.FolderOpen;
|
||||
this.mnuOpen.Name = "mnuOpen";
|
||||
this.mnuOpen.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O)));
|
||||
this.mnuOpen.Size = new System.Drawing.Size(146, 22);
|
||||
this.mnuOpen.Size = new System.Drawing.Size(152, 22);
|
||||
this.mnuOpen.Text = "Open";
|
||||
this.mnuOpen.Click += new System.EventHandler(this.mnuOpen_Click);
|
||||
//
|
||||
// toolStripMenuItem4
|
||||
//
|
||||
this.toolStripMenuItem4.Name = "toolStripMenuItem4";
|
||||
this.toolStripMenuItem4.Size = new System.Drawing.Size(143, 6);
|
||||
this.toolStripMenuItem4.Size = new System.Drawing.Size(149, 6);
|
||||
//
|
||||
// mnuSaveState
|
||||
//
|
||||
this.mnuSaveState.Name = "mnuSaveState";
|
||||
this.mnuSaveState.Size = new System.Drawing.Size(146, 22);
|
||||
this.mnuSaveState.Size = new System.Drawing.Size(152, 22);
|
||||
this.mnuSaveState.Text = "Save State";
|
||||
this.mnuSaveState.DropDownOpening += new System.EventHandler(this.mnuSaveState_DropDownOpening);
|
||||
//
|
||||
// mnuLoadState
|
||||
//
|
||||
this.mnuLoadState.Name = "mnuLoadState";
|
||||
this.mnuLoadState.Size = new System.Drawing.Size(146, 22);
|
||||
this.mnuLoadState.Size = new System.Drawing.Size(152, 22);
|
||||
this.mnuLoadState.Text = "Load State";
|
||||
this.mnuLoadState.DropDownOpening += new System.EventHandler(this.mnuLoadState_DropDownOpening);
|
||||
//
|
||||
// toolStripMenuItem7
|
||||
//
|
||||
this.toolStripMenuItem7.Name = "toolStripMenuItem7";
|
||||
this.toolStripMenuItem7.Size = new System.Drawing.Size(143, 6);
|
||||
this.toolStripMenuItem7.Size = new System.Drawing.Size(149, 6);
|
||||
//
|
||||
// mnuRecentFiles
|
||||
//
|
||||
this.mnuRecentFiles.Name = "mnuRecentFiles";
|
||||
this.mnuRecentFiles.Size = new System.Drawing.Size(146, 22);
|
||||
this.mnuRecentFiles.Size = new System.Drawing.Size(152, 22);
|
||||
this.mnuRecentFiles.Text = "Recent Files";
|
||||
//
|
||||
// toolStripMenuItem6
|
||||
//
|
||||
this.toolStripMenuItem6.Name = "toolStripMenuItem6";
|
||||
this.toolStripMenuItem6.Size = new System.Drawing.Size(143, 6);
|
||||
this.toolStripMenuItem6.Size = new System.Drawing.Size(149, 6);
|
||||
//
|
||||
// mnuExit
|
||||
//
|
||||
this.mnuExit.Image = global::Mesen.GUI.Properties.Resources.Exit;
|
||||
this.mnuExit.Name = "mnuExit";
|
||||
this.mnuExit.Size = new System.Drawing.Size(146, 22);
|
||||
this.mnuExit.Size = new System.Drawing.Size(152, 22);
|
||||
this.mnuExit.Text = "Exit";
|
||||
this.mnuExit.Click += new System.EventHandler(this.mnuExit_Click);
|
||||
//
|
||||
|
@ -448,7 +449,7 @@ namespace Mesen.GUI.Forms
|
|||
this.mnuShowFPS});
|
||||
this.mnuEmulationSpeed.Image = global::Mesen.GUI.Properties.Resources.Speed;
|
||||
this.mnuEmulationSpeed.Name = "mnuEmulationSpeed";
|
||||
this.mnuEmulationSpeed.Size = new System.Drawing.Size(135, 22);
|
||||
this.mnuEmulationSpeed.Size = new System.Drawing.Size(152, 22);
|
||||
this.mnuEmulationSpeed.Text = "Speed";
|
||||
this.mnuEmulationSpeed.DropDownOpening += new System.EventHandler(this.mnuEmulationSpeed_DropDownOpening);
|
||||
//
|
||||
|
@ -550,7 +551,7 @@ namespace Mesen.GUI.Forms
|
|||
this.mnuFullscreen});
|
||||
this.mnuVideoScale.Image = global::Mesen.GUI.Properties.Resources.Fullscreen;
|
||||
this.mnuVideoScale.Name = "mnuVideoScale";
|
||||
this.mnuVideoScale.Size = new System.Drawing.Size(135, 22);
|
||||
this.mnuVideoScale.Size = new System.Drawing.Size(152, 22);
|
||||
this.mnuVideoScale.Text = "Video Size";
|
||||
//
|
||||
// mnuScale1x
|
||||
|
@ -658,7 +659,7 @@ namespace Mesen.GUI.Forms
|
|||
this.toolStripMenuItem19,
|
||||
this.mnuBilinearInterpolation});
|
||||
this.mnuVideoFilter.Name = "mnuVideoFilter";
|
||||
this.mnuVideoFilter.Size = new System.Drawing.Size(135, 22);
|
||||
this.mnuVideoFilter.Size = new System.Drawing.Size(152, 22);
|
||||
this.mnuVideoFilter.Text = "Video Filter";
|
||||
//
|
||||
// mnuNoneFilter
|
||||
|
@ -841,7 +842,7 @@ namespace Mesen.GUI.Forms
|
|||
this.mnuRegionDendy});
|
||||
this.mnuRegion.Image = global::Mesen.GUI.Properties.Resources.Globe;
|
||||
this.mnuRegion.Name = "mnuRegion";
|
||||
this.mnuRegion.Size = new System.Drawing.Size(135, 22);
|
||||
this.mnuRegion.Size = new System.Drawing.Size(152, 22);
|
||||
this.mnuRegion.Text = "Region";
|
||||
//
|
||||
// mnuRegionAuto
|
||||
|
@ -875,13 +876,13 @@ namespace Mesen.GUI.Forms
|
|||
// toolStripMenuItem10
|
||||
//
|
||||
this.toolStripMenuItem10.Name = "toolStripMenuItem10";
|
||||
this.toolStripMenuItem10.Size = new System.Drawing.Size(132, 6);
|
||||
this.toolStripMenuItem10.Size = new System.Drawing.Size(149, 6);
|
||||
//
|
||||
// mnuAudioConfig
|
||||
//
|
||||
this.mnuAudioConfig.Image = global::Mesen.GUI.Properties.Resources.Audio;
|
||||
this.mnuAudioConfig.Name = "mnuAudioConfig";
|
||||
this.mnuAudioConfig.Size = new System.Drawing.Size(135, 22);
|
||||
this.mnuAudioConfig.Size = new System.Drawing.Size(152, 22);
|
||||
this.mnuAudioConfig.Text = "Audio";
|
||||
this.mnuAudioConfig.Click += new System.EventHandler(this.mnuAudioConfig_Click);
|
||||
//
|
||||
|
@ -889,7 +890,7 @@ namespace Mesen.GUI.Forms
|
|||
//
|
||||
this.mnuInput.Image = global::Mesen.GUI.Properties.Resources.Controller;
|
||||
this.mnuInput.Name = "mnuInput";
|
||||
this.mnuInput.Size = new System.Drawing.Size(135, 22);
|
||||
this.mnuInput.Size = new System.Drawing.Size(152, 22);
|
||||
this.mnuInput.Text = "Input";
|
||||
this.mnuInput.Click += new System.EventHandler(this.mnuInput_Click);
|
||||
//
|
||||
|
@ -897,7 +898,7 @@ namespace Mesen.GUI.Forms
|
|||
//
|
||||
this.mnuVideoConfig.Image = global::Mesen.GUI.Properties.Resources.Video;
|
||||
this.mnuVideoConfig.Name = "mnuVideoConfig";
|
||||
this.mnuVideoConfig.Size = new System.Drawing.Size(135, 22);
|
||||
this.mnuVideoConfig.Size = new System.Drawing.Size(152, 22);
|
||||
this.mnuVideoConfig.Text = "Video";
|
||||
this.mnuVideoConfig.Click += new System.EventHandler(this.mnuVideoConfig_Click);
|
||||
//
|
||||
|
@ -905,20 +906,20 @@ namespace Mesen.GUI.Forms
|
|||
//
|
||||
this.mnuEmulationConfig.Image = global::Mesen.GUI.Properties.Resources.DipSwitches;
|
||||
this.mnuEmulationConfig.Name = "mnuEmulationConfig";
|
||||
this.mnuEmulationConfig.Size = new System.Drawing.Size(135, 22);
|
||||
this.mnuEmulationConfig.Size = new System.Drawing.Size(152, 22);
|
||||
this.mnuEmulationConfig.Text = "Emulation";
|
||||
this.mnuEmulationConfig.Click += new System.EventHandler(this.mnuEmulationConfig_Click);
|
||||
//
|
||||
// toolStripMenuItem11
|
||||
//
|
||||
this.toolStripMenuItem11.Name = "toolStripMenuItem11";
|
||||
this.toolStripMenuItem11.Size = new System.Drawing.Size(132, 6);
|
||||
this.toolStripMenuItem11.Size = new System.Drawing.Size(149, 6);
|
||||
//
|
||||
// mnuPreferences
|
||||
//
|
||||
this.mnuPreferences.Image = global::Mesen.GUI.Properties.Resources.Cog;
|
||||
this.mnuPreferences.Name = "mnuPreferences";
|
||||
this.mnuPreferences.Size = new System.Drawing.Size(135, 22);
|
||||
this.mnuPreferences.Size = new System.Drawing.Size(152, 22);
|
||||
this.mnuPreferences.Text = "Preferences";
|
||||
this.mnuPreferences.Click += new System.EventHandler(this.mnuPreferences_Click);
|
||||
//
|
||||
|
@ -934,6 +935,7 @@ namespace Mesen.GUI.Forms
|
|||
this.mnuDebugger,
|
||||
this.mnuLogWindow,
|
||||
this.toolStripMenuItem1,
|
||||
this.mnuRandomGame,
|
||||
this.mnuTakeScreenshot});
|
||||
this.mnuTools.Name = "mnuTools";
|
||||
this.mnuTools.Size = new System.Drawing.Size(48, 20);
|
||||
|
@ -950,7 +952,7 @@ namespace Mesen.GUI.Forms
|
|||
this.mnuProfile});
|
||||
this.mnuNetPlay.Image = global::Mesen.GUI.Properties.Resources.NetPlay;
|
||||
this.mnuNetPlay.Name = "mnuNetPlay";
|
||||
this.mnuNetPlay.Size = new System.Drawing.Size(185, 22);
|
||||
this.mnuNetPlay.Size = new System.Drawing.Size(231, 22);
|
||||
this.mnuNetPlay.Text = "Net Play";
|
||||
//
|
||||
// mnuStartServer
|
||||
|
@ -1048,7 +1050,7 @@ namespace Mesen.GUI.Forms
|
|||
this.mnuStopMovie});
|
||||
this.mnuMovies.Image = global::Mesen.GUI.Properties.Resources.Movie;
|
||||
this.mnuMovies.Name = "mnuMovies";
|
||||
this.mnuMovies.Size = new System.Drawing.Size(185, 22);
|
||||
this.mnuMovies.Size = new System.Drawing.Size(231, 22);
|
||||
this.mnuMovies.Text = "Movies";
|
||||
//
|
||||
// mnuPlayMovie
|
||||
|
@ -1098,7 +1100,7 @@ namespace Mesen.GUI.Forms
|
|||
this.mnuWaveStop});
|
||||
this.mnuSoundRecorder.Image = global::Mesen.GUI.Properties.Resources.Microphone;
|
||||
this.mnuSoundRecorder.Name = "mnuSoundRecorder";
|
||||
this.mnuSoundRecorder.Size = new System.Drawing.Size(185, 22);
|
||||
this.mnuSoundRecorder.Size = new System.Drawing.Size(231, 22);
|
||||
this.mnuSoundRecorder.Text = "Sound Recorder";
|
||||
//
|
||||
// mnuWaveRecord
|
||||
|
@ -1121,14 +1123,14 @@ namespace Mesen.GUI.Forms
|
|||
//
|
||||
this.mnuCheats.Image = global::Mesen.GUI.Properties.Resources.CheatCode;
|
||||
this.mnuCheats.Name = "mnuCheats";
|
||||
this.mnuCheats.Size = new System.Drawing.Size(185, 22);
|
||||
this.mnuCheats.Size = new System.Drawing.Size(231, 22);
|
||||
this.mnuCheats.Text = "Cheats";
|
||||
this.mnuCheats.Click += new System.EventHandler(this.mnuCheats_Click);
|
||||
//
|
||||
// toolStripMenuItem12
|
||||
//
|
||||
this.toolStripMenuItem12.Name = "toolStripMenuItem12";
|
||||
this.toolStripMenuItem12.Size = new System.Drawing.Size(182, 6);
|
||||
this.toolStripMenuItem12.Size = new System.Drawing.Size(228, 6);
|
||||
//
|
||||
// mnuTests
|
||||
//
|
||||
|
@ -1139,7 +1141,7 @@ namespace Mesen.GUI.Forms
|
|||
this.mnuRunAllTests,
|
||||
this.mnuRunAllGameTests});
|
||||
this.mnuTests.Name = "mnuTests";
|
||||
this.mnuTests.Size = new System.Drawing.Size(185, 22);
|
||||
this.mnuTests.Size = new System.Drawing.Size(231, 22);
|
||||
this.mnuTests.Text = "Tests";
|
||||
//
|
||||
// mnuTestRun
|
||||
|
@ -1214,7 +1216,7 @@ namespace Mesen.GUI.Forms
|
|||
// mnuDebugger
|
||||
//
|
||||
this.mnuDebugger.Name = "mnuDebugger";
|
||||
this.mnuDebugger.Size = new System.Drawing.Size(185, 22);
|
||||
this.mnuDebugger.Size = new System.Drawing.Size(231, 22);
|
||||
this.mnuDebugger.Text = "Debugger";
|
||||
this.mnuDebugger.Click += new System.EventHandler(this.mnuDebugger_Click);
|
||||
//
|
||||
|
@ -1222,21 +1224,30 @@ namespace Mesen.GUI.Forms
|
|||
//
|
||||
this.mnuLogWindow.Image = global::Mesen.GUI.Properties.Resources.LogWindow;
|
||||
this.mnuLogWindow.Name = "mnuLogWindow";
|
||||
this.mnuLogWindow.Size = new System.Drawing.Size(185, 22);
|
||||
this.mnuLogWindow.Size = new System.Drawing.Size(231, 22);
|
||||
this.mnuLogWindow.Text = "Log Window";
|
||||
this.mnuLogWindow.Click += new System.EventHandler(this.mnuLogWindow_Click);
|
||||
//
|
||||
// toolStripMenuItem1
|
||||
//
|
||||
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
|
||||
this.toolStripMenuItem1.Size = new System.Drawing.Size(182, 6);
|
||||
this.toolStripMenuItem1.Size = new System.Drawing.Size(228, 6);
|
||||
//
|
||||
// mnuRandomGame
|
||||
//
|
||||
this.mnuRandomGame.Image = global::Mesen.GUI.Properties.Resources.Dice;
|
||||
this.mnuRandomGame.Name = "mnuRandomGame";
|
||||
this.mnuRandomGame.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Insert)));
|
||||
this.mnuRandomGame.Size = new System.Drawing.Size(231, 22);
|
||||
this.mnuRandomGame.Text = "Load Random Game";
|
||||
this.mnuRandomGame.Click += new System.EventHandler(this.mnuRandomGame_Click);
|
||||
//
|
||||
// mnuTakeScreenshot
|
||||
//
|
||||
this.mnuTakeScreenshot.Image = global::Mesen.GUI.Properties.Resources.Camera;
|
||||
this.mnuTakeScreenshot.Name = "mnuTakeScreenshot";
|
||||
this.mnuTakeScreenshot.ShortcutKeys = System.Windows.Forms.Keys.F12;
|
||||
this.mnuTakeScreenshot.Size = new System.Drawing.Size(185, 22);
|
||||
this.mnuTakeScreenshot.Size = new System.Drawing.Size(231, 22);
|
||||
this.mnuTakeScreenshot.Text = "Take Screenshot";
|
||||
this.mnuTakeScreenshot.Click += new System.EventHandler(this.mnuTakeScreenshot_Click);
|
||||
//
|
||||
|
@ -1446,6 +1457,7 @@ namespace Mesen.GUI.Forms
|
|||
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem20;
|
||||
private System.Windows.Forms.ToolStripMenuItem mnuReportBug;
|
||||
private System.Windows.Forms.ToolStripMenuItem mnuRunAllGameTests;
|
||||
private System.Windows.Forms.ToolStripMenuItem mnuRandomGame;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@ using System.ComponentModel;
|
|||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
|
@ -207,7 +208,7 @@ namespace Mesen.GUI.Forms
|
|||
{
|
||||
InteropEmu.InitializeEmu(ConfigManager.HomeFolder, this.Handle, this.ctrlRenderer.Handle, _noAudio, _noVideo, _noInput);
|
||||
foreach(RecentItem recentItem in ConfigManager.Config.RecentFiles) {
|
||||
InteropEmu.AddKnowGameFolder(Path.GetDirectoryName(recentItem.Path).ToLowerInvariant());
|
||||
InteropEmu.AddKnownGameFolder(Path.GetDirectoryName(recentItem.Path).ToLowerInvariant());
|
||||
}
|
||||
|
||||
ConfigManager.Config.InitializeDefaults();
|
||||
|
@ -1581,5 +1582,25 @@ namespace Mesen.GUI.Forms
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void mnuRandomGame_Click(object sender, EventArgs e)
|
||||
{
|
||||
IEnumerable<string> gameFolders = ConfigManager.Config.RecentFiles.Select(recentFile => Path.GetDirectoryName(recentFile.Path).ToLowerInvariant()).Distinct();
|
||||
List<string> gameRoms = new List<string>();
|
||||
|
||||
foreach(string folder in gameFolders) {
|
||||
gameRoms.AddRange(Directory.EnumerateFiles(folder, "*.nes", SearchOption.TopDirectoryOnly));
|
||||
gameRoms.AddRange(Directory.EnumerateFiles(folder, "*.unf", SearchOption.TopDirectoryOnly));
|
||||
gameRoms.AddRange(Directory.EnumerateFiles(folder, "*.fds", SearchOption.TopDirectoryOnly));
|
||||
}
|
||||
|
||||
if(gameRoms.Count == 0) {
|
||||
MesenMsgBox.Show("RandomGameNoGameFound", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
} else {
|
||||
Random random = new Random();
|
||||
string randomGame = gameRoms[random.Next(gameRoms.Count - 1)];
|
||||
LoadFile(randomGame);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -875,6 +875,7 @@
|
|||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Icon.ico" />
|
||||
<None Include="Resources\Dice.png" />
|
||||
<None Include="Resources\Warning.png" />
|
||||
<None Include="Resources\Import.png" />
|
||||
<None Include="Resources\Export.png" />
|
||||
|
|
|
@ -27,7 +27,7 @@ namespace Mesen.GUI
|
|||
[DllImport(DLLPath)] [return: MarshalAs(UnmanagedType.I1)] public static extern bool IsRunning();
|
||||
|
||||
[DllImport(DLLPath)] public static extern void LoadROM([MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(UTF8Marshaler))]string filename, Int32 archiveFileIndex, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Marshaler))]string ipsFile);
|
||||
[DllImport(DLLPath)] public static extern void AddKnowGameFolder([MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(UTF8Marshaler))]string folder);
|
||||
[DllImport(DLLPath)] public static extern void AddKnownGameFolder([MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(UTF8Marshaler))]string folder);
|
||||
|
||||
[DllImport(DLLPath, EntryPoint = "GetArchiveRomList")] private static extern IntPtr GetArchiveRomListWrapper([MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(UTF8Marshaler))]string filename);
|
||||
public static List<string> GetArchiveRomList(string filename) { return new List<string>(PtrToStringUtf8(InteropEmu.GetArchiveRomListWrapper(filename)).Split(new string[] { "[!|!]" }, StringSplitOptions.RemoveEmptyEntries)); }
|
||||
|
|
10
GUI.NET/Properties/Resources.Designer.cs
generated
10
GUI.NET/Properties/Resources.Designer.cs
generated
|
@ -150,6 +150,16 @@ namespace Mesen.GUI.Properties {
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap Dice {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Dice", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
|
|
|
@ -238,4 +238,7 @@
|
|||
<data name="Warning" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Warning.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Dice" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Dice.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
BIN
GUI.NET/Resources/Dice.png
Normal file
BIN
GUI.NET/Resources/Dice.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1 KiB |
|
@ -87,7 +87,7 @@ namespace InteropEmu {
|
|||
DllExport bool __stdcall IsRunning() { return Console::IsRunning(); }
|
||||
|
||||
DllExport void __stdcall LoadROM(char* filename, int32_t archiveFileIndex, char* ipsFile) { Console::LoadROM(filename, nullptr, archiveFileIndex, ipsFile); }
|
||||
DllExport void __stdcall AddKnowGameFolder(char* folder) { FolderUtilities::AddKnowGameFolder(folder); }
|
||||
DllExport void __stdcall AddKnownGameFolder(char* folder) { FolderUtilities::AddKnownGameFolder(folder); }
|
||||
|
||||
DllExport const char* __stdcall GetArchiveRomList(char* filename) {
|
||||
std::ostringstream out;
|
||||
|
|
|
@ -24,7 +24,7 @@ string FolderUtilities::GetHomeFolder()
|
|||
return _homeFolder;
|
||||
}
|
||||
|
||||
void FolderUtilities::AddKnowGameFolder(string gameFolder)
|
||||
void FolderUtilities::AddKnownGameFolder(string gameFolder)
|
||||
{
|
||||
bool alreadyExists = false;
|
||||
for(string folder : _gameFolders) {
|
||||
|
@ -40,7 +40,7 @@ void FolderUtilities::AddKnowGameFolder(string gameFolder)
|
|||
}
|
||||
}
|
||||
|
||||
vector<string> FolderUtilities::GetKnowGameFolders()
|
||||
vector<string> FolderUtilities::GetKnownGameFolders()
|
||||
{
|
||||
return _gameFolders;
|
||||
}
|
||||
|
|
|
@ -12,8 +12,8 @@ public:
|
|||
static void SetHomeFolder(string homeFolder);
|
||||
static string GetHomeFolder();
|
||||
|
||||
static void AddKnowGameFolder(string gameFolder);
|
||||
static vector<string> GetKnowGameFolders();
|
||||
static void AddKnownGameFolder(string gameFolder);
|
||||
static vector<string> GetKnownGameFolders();
|
||||
|
||||
static string GetSaveFolder();
|
||||
static string GetSaveStateFolder();
|
||||
|
|
Loading…
Add table
Reference in a new issue