UI: Increased save slot count to 10 (and re-labelled auto slot in UI)

This commit is contained in:
Sour 2018-03-20 22:48:00 -04:00
parent 3a4cea91c0
commit bdc7bd8b14
19 changed files with 115 additions and 25 deletions

View file

@ -7,7 +7,7 @@
class AutoSaveManager
{
private:
const uint32_t _autoSaveSlot = 8;
const uint32_t _autoSaveSlot = 11;
std::thread _autoSaveThread;
atomic<bool> _stopThread;

View file

@ -453,6 +453,9 @@ enum class EmulatorShortcut
SaveStateSlot5,
SaveStateSlot6,
SaveStateSlot7,
SaveStateSlot8,
SaveStateSlot9,
SaveStateSlot10,
SaveStateToFile,
LoadStateSlot1,
@ -463,6 +466,9 @@ enum class EmulatorShortcut
LoadStateSlot6,
LoadStateSlot7,
LoadStateSlot8,
LoadStateSlot9,
LoadStateSlot10,
LoadStateSlotAuto,
LoadStateFromFile,
OpenFile,

View file

@ -5,7 +5,7 @@
class SaveStateManager
{
private:
static const uint32_t MaxIndex = 7;
static const uint32_t MaxIndex = 10;
static atomic<uint32_t> _lastIndex;
static string GetStateFilepath(int stateIndex);

View file

@ -141,7 +141,7 @@ namespace Mesen.GUI.Config
ShortcutKeys1.Add(new ShortcutKeyInfo(EmulatorShortcut.LoadStateSlot5, new KeyCombination() { Key1 = InteropEmu.GetKeyCode("F5") }));
ShortcutKeys1.Add(new ShortcutKeyInfo(EmulatorShortcut.LoadStateSlot6, new KeyCombination() { Key1 = InteropEmu.GetKeyCode("F6") }));
ShortcutKeys1.Add(new ShortcutKeyInfo(EmulatorShortcut.LoadStateSlot7, new KeyCombination() { Key1 = InteropEmu.GetKeyCode("F7") }));
ShortcutKeys1.Add(new ShortcutKeyInfo(EmulatorShortcut.LoadStateSlot8, new KeyCombination() { Key1 = InteropEmu.GetKeyCode("F8") }));
ShortcutKeys1.Add(new ShortcutKeyInfo(EmulatorShortcut.LoadStateSlotAuto, new KeyCombination() { Key1 = InteropEmu.GetKeyCode("F8") }));
ShortcutKeys1.Add(new ShortcutKeyInfo(EmulatorShortcut.LoadStateFromFile, new KeyCombination() { Key1 = InteropEmu.GetKeyCode("Ctrl"), Key2 = InteropEmu.GetKeyCode("L") }));
ShortcutKeys2 = new List<ShortcutKeyInfo>();

View file

@ -375,7 +375,7 @@
<Control ID="tpgSaveData">Còpies de seguretat</Control>
<Control ID="grpAutomaticSaves">Desat de partida</Control>
<Control ID="chkAutoSave">Desa automàticament cada</Control>
<Control ID="lblAutoSave">minuts (prem F8 per a carregar-la)</Control>
<Control ID="lblAutoSave">minuts</Control>
<Control ID="chkAutoSaveNotify">Mostrar una notificación en pantalla al hacer la copia de seguridad automática</Control>
<Control ID="chkAllowMismatchingSaveStates">Allow save states to be loaded on modified ROMs (e.g IPS patches)</Control>
@ -814,6 +814,9 @@
<Message ID="EmulatorShortcutMappings_SaveStateSlot5">Desa la partida - Posició 5</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot6">Desa la partida - Posició 6</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot7">Desa la partida - Posició 7</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot8">Desa la partida - Posició 8</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot9">Desa la partida - Posició 9</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot10">Desa la partida - Posició 10</Message>
<Message ID="EmulatorShortcutMappings_SaveStateToFile">Desa la partida a un fitxer</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot1">Carrega la partida - Posició 1</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot2">Carrega la partida - Posició 2</Message>
@ -823,6 +826,9 @@
<Message ID="EmulatorShortcutMappings_LoadStateSlot6">Carrega la partida - Posició 6</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot7">Carrega la partida - Posició 7</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot8">Carrega la partida - Posició 8</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot9">Carrega la partida - Posició 9</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot10">Carrega la partida - Posició 10</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlotAuto">Load State - Auto Save Slot</Message>
<Message ID="EmulatorShortcutMappings_LoadStateFromFile">Carrega la partida des d'un fitxer</Message>
<Message ID="EmulatorShortcutMappings_OpenFile">Obre un fitxer</Message>
<Message ID="EmulatorShortcutMappings_OpenDebugger">Obre el depurador</Message>

View file

@ -145,6 +145,9 @@
<Message ID="EmulatorShortcutMappings_SaveStateSlot5">Save State - Slot 5</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot6">Save State - Slot 6</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot7">Save State - Slot 7</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot8">Save State - Slot 8</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot9">Save State - Slot 9</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot10">Save State - Slot 10</Message>
<Message ID="EmulatorShortcutMappings_SaveStateToFile">Save State to File</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot1">Load State - Slot 1</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot2">Load State - Slot 2</Message>
@ -154,6 +157,9 @@
<Message ID="EmulatorShortcutMappings_LoadStateSlot6">Load State - Slot 6</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot7">Load State - Slot 7</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot8">Load State - Slot 8</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot9">Load State - Slot 9</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot10">Load State - Slot 10</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlotAuto">Load State - Auto Save Slot</Message>
<Message ID="EmulatorShortcutMappings_LoadStateFromFile">Load State from File</Message>
<Message ID="EmulatorShortcutMappings_OpenFile">Open File</Message>
<Message ID="EmulatorShortcutMappings_OpenDebugger">Open Debugger</Message>

View file

@ -374,7 +374,7 @@
<Control ID="tpgSaveData">Copias de seguridad</Control>
<Control ID="grpAutomaticSaves">Guardado de estado</Control>
<Control ID="chkAutoSave">Crear una copia de seguridad de cada estado</Control>
<Control ID="lblAutoSave">minutos (Pulse F8 para cargar)</Control>
<Control ID="lblAutoSave">minutos</Control>
<Control ID="chkAutoSaveNotify">Mostrar una notificación en pantalla al hacer la copia de seguridad automática</Control>
<Control ID="chkAllowMismatchingSaveStates">Allow save states to be loaded on modified ROMs (e.g IPS patches)</Control>
<Control ID="grpCloudSaves">Copia de seguridad online</Control>
@ -831,6 +831,9 @@
<Message ID="EmulatorShortcutMappings_SaveStateSlot5">Guardar partida - Hueco 5</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot6">Guardar partida - Hueco 6</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot7">Guardar partida - Hueco 7</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot8">Guardar partida - Hueco 8</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot9">Guardar partida - Hueco 9</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot10">Guardar partida - Hueco 10</Message>
<Message ID="EmulatorShortcutMappings_SaveStateToFile">Guardar partida en archivo</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot1">Cargar partida - Hueco 1</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot2">Cargar partida - Hueco 2</Message>
@ -840,6 +843,9 @@
<Message ID="EmulatorShortcutMappings_LoadStateSlot6">Cargar partida - Hueco 6</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot7">Cargar partida - Hueco 7</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot8">Cargar partida - Hueco 8</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot9">Cargar partida - Hueco 9</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot10">Cargar partida - Hueco 10</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlotAuto">Load State - Auto Save Slot</Message>
<Message ID="EmulatorShortcutMappings_LoadStateFromFile">Cargar partida de archivo</Message>
<Message ID="EmulatorShortcutMappings_OpenFile">Abrir archivo</Message>
<Message ID="EmulatorShortcutMappings_OpenDebugger">Abrir depurador</Message>

View file

@ -384,7 +384,7 @@
<Control ID="tpgSaveData">Sauvegardes</Control>
<Control ID="grpAutomaticSaves">Sauvegardes d'état</Control>
<Control ID="chkAutoSave">Créer une sauvegarde d'état à chaque</Control>
<Control ID="lblAutoSave">minutes (Appuyer sur F8 pour charger)</Control>
<Control ID="lblAutoSave">minutes</Control>
<Control ID="chkAutoSaveNotify">Afficher une notification à l'écran au moment de la sauvegarde automatique</Control>
<Control ID="chkAllowMismatchingSaveStates">Permettre le chargement de sauvegardes créés dans un autre ROM (ex: IPS)</Control>
@ -844,6 +844,9 @@
<Message ID="EmulatorShortcutMappings_SaveStateSlot5">Sauvegarde d'état - Position 5</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot6">Sauvegarde d'état - Position 6</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot7">Sauvegarde d'état - Position 7</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot8">Sauvegarde d'état - Position 8</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot9">Sauvegarde d'état - Position 9</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot10">Sauvegarde d'état - Position 10</Message>
<Message ID="EmulatorShortcutMappings_SaveStateToFile">Sauvergarde l'état dans un fichier</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot1">Chargement d'état - Position 1</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot2">Chargement d'état - Position 2</Message>
@ -853,6 +856,9 @@
<Message ID="EmulatorShortcutMappings_LoadStateSlot6">Chargement d'état - Position 6</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot7">Chargement d'état - Position 7</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot8">Chargement d'état - Position 8</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot9">Chargement d'état - Position 9</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot10">Chargement d'état - Position 10</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlotAuto">Chargement d'état - Sauvegarde auto</Message>
<Message ID="EmulatorShortcutMappings_LoadStateFromFile">Charger l'état à partir d'un fichier</Message>
<Message ID="EmulatorShortcutMappings_OpenFile">Ouvrir un fichier</Message>
<Message ID="EmulatorShortcutMappings_OpenDebugger">Ouvrir le débogueur</Message>

View file

@ -384,7 +384,7 @@
<Control ID="tpgSaveData">セーブデータ</Control>
<Control ID="grpAutomaticSaves">クイックセーブ</Control>
<Control ID="chkAutoSave">オートクイックセーブを</Control>
<Control ID="lblAutoSave">分おきにするF8でクイックロード</Control>
<Control ID="lblAutoSave">分おきにする</Control>
<Control ID="chkAutoSaveNotify">オートクイックセーブする際、通信を表示する</Control>
<Control ID="chkAllowMismatchingSaveStates">違うROMで作られたクイックセーブをロード可能にする</Control>
@ -828,6 +828,9 @@
<Message ID="EmulatorShortcutMappings_SaveStateSlot5">クイックセーブスロット5に保存する</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot6">クイックセーブスロット6に保存する</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot7">クイックセーブスロット7に保存する</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot8">クイックセーブスロット8に保存する</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot9">クイックセーブスロット9に保存する</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot10">クイックセーブスロット10に保存する</Message>
<Message ID="EmulatorShortcutMappings_SaveStateToFile">クイックセーブデータをファイルに保存する</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot1">クイックセーブスロット1からロードする</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot2">クイックセーブスロット2からロードする</Message>
@ -837,6 +840,9 @@
<Message ID="EmulatorShortcutMappings_LoadStateSlot6">クイックセーブスロット6からロードする</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot7">クイックセーブスロット7からロードする</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot8">クイックセーブスロット8からロードする</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot9">クイックセーブスロット9からロードする</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot10">クイックセーブスロット10からロードする</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlotAuto">自動クイックセーブスロットからロードする</Message>
<Message ID="EmulatorShortcutMappings_LoadStateFromFile">クイックセーブデータをファイルからロードする</Message>
<Message ID="EmulatorShortcutMappings_OpenFile">ファイルを開く</Message>
<Message ID="EmulatorShortcutMappings_OpenDebugger">デバッガを開く</Message>

View file

@ -372,7 +372,7 @@
<Control ID="tpgSaveData">Cópias de segurança</Control>
<Control ID="grpAutomaticSaves">Salvar estado</Control>
<Control ID="chkAutoSave">Salvar estado do jogo automaticamente a cada</Control>
<Control ID="lblAutoSave">minutos (Aperte F8 para carregar)</Control>
<Control ID="lblAutoSave">minutos</Control>
<Control ID="chkAutoSaveNotify">Mostrar uma notificação na tela ao fazer a cópia de segurança automática</Control>
<Control ID="chkAllowMismatchingSaveStates">Allow save states to be loaded on modified ROMs (e.g IPS patches)</Control>
<Control ID="grpCloudSaves">Cópia de segurança online</Control>
@ -829,6 +829,9 @@
<Message ID="EmulatorShortcutMappings_SaveStateSlot5">Salvar estado - Compartimento 5</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot6">Salvar estado - Compartimento 6</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot7">Salvar estado - Compartimento 7</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot8">Salvar estado - Compartimento 8</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot9">Salvar estado - Compartimento 9</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot10">Salvar estado - Compartimento 10</Message>
<Message ID="EmulatorShortcutMappings_SaveStateToFile">Salvar estado para arquivo</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot1">Carregar estado - Compartimento 1</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot2">Carregar estado - Compartimento 2</Message>
@ -838,6 +841,9 @@
<Message ID="EmulatorShortcutMappings_LoadStateSlot6">Carregar estado - Compartimento 6</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot7">Carregar estado - Compartimento 7</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot8">Carregar estado - Compartimento 8</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot9">Carregar estado - Compartimento 9</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot10">Carregar estado - Compartimento 10</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlotAuto">Load State - Auto Save Slot</Message>
<Message ID="EmulatorShortcutMappings_LoadStateFromFile">Carregar estado de arquivo</Message>
<Message ID="EmulatorShortcutMappings_OpenFile">Abrir arquivo</Message>
<Message ID="EmulatorShortcutMappings_OpenDebugger">Abrir depurador</Message>

View file

@ -382,7 +382,7 @@
<Control ID="tpgSaveData">Сохранения</Control>
<Control ID="grpAutomaticSaves">Сохранения</Control>
<Control ID="chkAutoSave">Автоматически создавать сохранения через</Control>
<Control ID="lblAutoSave">минут (нажмите F8 для загрузки)</Control>
<Control ID="lblAutoSave">минут</Control>
<Control ID="chkAutoSaveNotify">Оповещать при сохранении</Control>
<Control ID="chkAllowMismatchingSaveStates">Allow save states to be loaded on modified ROMs (e.g IPS patches)</Control>
@ -833,6 +833,9 @@
<Message ID="EmulatorShortcutMappings_SaveStateSlot5">Save State - Slot 5</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot6">Save State - Slot 6</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot7">Save State - Slot 7</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot8">Save State - Slot 8</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot9">Save State - Slot 9</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot10">Save State - Slot 10</Message>
<Message ID="EmulatorShortcutMappings_SaveStateToFile">Save State to File</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot1">Load State - Slot 1</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot2">Load State - Slot 2</Message>
@ -842,6 +845,9 @@
<Message ID="EmulatorShortcutMappings_LoadStateSlot6">Load State - Slot 6</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot7">Load State - Slot 7</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot8">Load State - Slot 8</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot9">Load State - Slot 9</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot10">Load State - Slot 10</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlotAuto">Load State - Auto Save Slot</Message>
<Message ID="EmulatorShortcutMappings_LoadStateFromFile">Load State from File</Message>
<Message ID="EmulatorShortcutMappings_OpenFile">Open File</Message>
<Message ID="EmulatorShortcutMappings_OpenDebugger">Open Debugger</Message>

View file

@ -382,7 +382,7 @@
<Control ID="tpgSaveData">Збереження</Control>
<Control ID="grpAutomaticSaves">Збереження</Control>
<Control ID="chkAutoSave">Автоматично створювати збереження через</Control>
<Control ID="lblAutoSave">хвилин (натисніть F8 для завантаження)</Control>
<Control ID="lblAutoSave">хвилин</Control>
<Control ID="chkAutoSaveNotify">Сповіщати при збереженні</Control>
<Control ID="chkAllowMismatchingSaveStates">Allow save states to be loaded on modified ROMs (e.g IPS patches)</Control>
@ -833,6 +833,9 @@
<Message ID="EmulatorShortcutMappings_SaveStateSlot5">Save State - Slot 5</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot6">Save State - Slot 6</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot7">Save State - Slot 7</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot8">Save State - Slot 8</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot9">Save State - Slot 9</Message>
<Message ID="EmulatorShortcutMappings_SaveStateSlot10">Save State - Slot 10</Message>
<Message ID="EmulatorShortcutMappings_SaveStateToFile">Зберегти стан в файл</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot1">Load State - Slot 1</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot2">Load State - Slot 2</Message>
@ -842,6 +845,9 @@
<Message ID="EmulatorShortcutMappings_LoadStateSlot6">Load State - Slot 6</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot7">Load State - Slot 7</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot8">Load State - Slot 8</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot9">Load State - Slot 9</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlot10">Load State - Slot 10</Message>
<Message ID="EmulatorShortcutMappings_LoadStateSlotAuto">Load State - Auto Save Slot</Message>
<Message ID="EmulatorShortcutMappings_LoadStateFromFile">Завантажити стан з файлу</Message>
<Message ID="EmulatorShortcutMappings_OpenFile">Відкрити файл</Message>
<Message ID="EmulatorShortcutMappings_OpenDebugger">Відкрити Debugger</Message>

View file

@ -95,6 +95,9 @@ namespace Mesen.GUI.Forms.Config
EmulatorShortcut.SaveStateSlot5,
EmulatorShortcut.SaveStateSlot6,
EmulatorShortcut.SaveStateSlot7,
EmulatorShortcut.SaveStateSlot8,
EmulatorShortcut.SaveStateSlot9,
EmulatorShortcut.SaveStateSlot10,
EmulatorShortcut.SaveStateToFile,
EmulatorShortcut.LoadStateSlot1,
@ -105,6 +108,9 @@ namespace Mesen.GUI.Forms.Config
EmulatorShortcut.LoadStateSlot6,
EmulatorShortcut.LoadStateSlot7,
EmulatorShortcut.LoadStateSlot8,
EmulatorShortcut.LoadStateSlot9,
EmulatorShortcut.LoadStateSlot10,
EmulatorShortcut.LoadStateSlotAuto,
EmulatorShortcut.LoadStateFromFile,
};

View file

@ -787,7 +787,7 @@ namespace Mesen.GUI.Forms.Config
this.lblAutoSave.Name = "lblAutoSave";
this.lblAutoSave.Size = new System.Drawing.Size(99, 13);
this.lblAutoSave.TabIndex = 2;
this.lblAutoSave.Text = "minutes (F8 to load)";
this.lblAutoSave.Text = "minutes";
//
// tpgNsf
//

View file

@ -347,50 +347,50 @@ namespace Mesen.GUI.Forms
//
this.mnuOpen.Image = global::Mesen.GUI.Properties.Resources.FolderOpen;
this.mnuOpen.Name = "mnuOpen";
this.mnuOpen.Size = new System.Drawing.Size(136, 22);
this.mnuOpen.Size = new System.Drawing.Size(152, 22);
this.mnuOpen.Text = "Open";
//
// toolStripMenuItem4
//
this.toolStripMenuItem4.Name = "toolStripMenuItem4";
this.toolStripMenuItem4.Size = new System.Drawing.Size(133, 6);
this.toolStripMenuItem4.Size = new System.Drawing.Size(149, 6);
//
// mnuSaveState
//
this.mnuSaveState.Name = "mnuSaveState";
this.mnuSaveState.Size = new System.Drawing.Size(136, 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(136, 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(133, 6);
this.toolStripMenuItem7.Size = new System.Drawing.Size(149, 6);
//
// mnuRecentFiles
//
this.mnuRecentFiles.Name = "mnuRecentFiles";
this.mnuRecentFiles.Size = new System.Drawing.Size(136, 22);
this.mnuRecentFiles.Size = new System.Drawing.Size(152, 22);
this.mnuRecentFiles.Text = "Recent Files";
this.mnuRecentFiles.DropDownOpening += new System.EventHandler(this.mnuRecentFiles_DropDownOpening);
//
// toolStripMenuItem6
//
this.toolStripMenuItem6.Name = "toolStripMenuItem6";
this.toolStripMenuItem6.Size = new System.Drawing.Size(133, 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(136, 22);
this.mnuExit.Size = new System.Drawing.Size(152, 22);
this.mnuExit.Text = "Exit";
//
// mnuGame

View file

@ -13,7 +13,7 @@ namespace Mesen.GUI.Forms
{
partial class frmMain
{
const int NumberOfSaveSlots = 7;
const int NumberOfSaveSlots = 10;
private void UpdateStateMenu(ToolStripMenuItem menu, bool forSave)
{
if(this.InvokeRequired) {
@ -22,11 +22,14 @@ namespace Mesen.GUI.Forms
for(uint i = 1; i <= frmMain.NumberOfSaveSlots + (forSave ? 0 : 1); i++) {
Int64 fileTime = InteropEmu.GetStateInfo(i);
string label;
bool isAutoSaveSlot = i == NumberOfSaveSlots + 1;
string slotName = isAutoSaveSlot ? "Auto" : i.ToString();
if(fileTime == 0) {
label = i.ToString() + ". " + ResourceHelper.GetMessage("EmptyState");
label = slotName + ". " + ResourceHelper.GetMessage("EmptyState");
} else {
DateTime dateTime = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc).AddSeconds(fileTime).ToLocalTime();
label = i.ToString() + ". " + dateTime.ToShortDateString() + " " + dateTime.ToShortTimeString();
label = slotName + ". " + dateTime.ToShortDateString() + " " + dateTime.ToShortTimeString();
}
if(i == NumberOfSaveSlots + 1) {
@ -42,9 +45,7 @@ namespace Mesen.GUI.Forms
private void InitializeStateMenu(ToolStripMenuItem menu, bool forSave)
{
Action<uint> addSaveStateInfo = (i) => {
string label = i.ToString() + ". " + ResourceHelper.GetMessage("EmptyState");
ToolStripMenuItem item = new ToolStripMenuItem(label);
ToolStripMenuItem item = new ToolStripMenuItem();
menu.DropDownItems.Add(item);
if(forSave) {

View file

@ -75,6 +75,23 @@ namespace Mesen.GUI.Forms
}
}
if(oldVersion <= new Version("0.9.4")) {
ShortcutKeyInfo oldLoadAutoSlot1 = ConfigManager.Config.PreferenceInfo.ShortcutKeys1.Where(o => o.Shortcut == EmulatorShortcut.LoadStateSlot8).FirstOrDefault();
ShortcutKeyInfo oldLoadAutoSlot2 = ConfigManager.Config.PreferenceInfo.ShortcutKeys2.Where(o => o.Shortcut == EmulatorShortcut.LoadStateSlot8).FirstOrDefault();
ShortcutKeyInfo newLoadAutoSlot1 = ConfigManager.Config.PreferenceInfo.ShortcutKeys1.Where(o => o.Shortcut == EmulatorShortcut.LoadStateSlotAuto).FirstOrDefault();
ShortcutKeyInfo newLoadAutoSlot2 = ConfigManager.Config.PreferenceInfo.ShortcutKeys2.Where(o => o.Shortcut == EmulatorShortcut.LoadStateSlotAuto).FirstOrDefault();
//Copy old "Load State - Slot 8" shortcut to "Load State - Auto Save Slot"
if(oldLoadAutoSlot1 != null && !oldLoadAutoSlot1.KeyCombination.IsEmpty && newLoadAutoSlot1 == null) {
ConfigManager.Config.PreferenceInfo.ShortcutKeys1.Add(new ShortcutKeyInfo(EmulatorShortcut.LoadStateSlotAuto, oldLoadAutoSlot1.KeyCombination));
oldLoadAutoSlot1.KeyCombination = new KeyCombination();
}
if(oldLoadAutoSlot2 != null && !oldLoadAutoSlot2.KeyCombination.IsEmpty && newLoadAutoSlot2 == null) {
ConfigManager.Config.PreferenceInfo.ShortcutKeys2.Add(new ShortcutKeyInfo(EmulatorShortcut.LoadStateSlotAuto, oldLoadAutoSlot2.KeyCombination));
oldLoadAutoSlot2.KeyCombination = new KeyCombination();
}
}
ConfigManager.Config.MesenVersion = InteropEmu.GetMesenVersion();
ConfigManager.ApplyChanges();

View file

@ -774,6 +774,9 @@ namespace Mesen.GUI.Forms
case EmulatorShortcut.SaveStateSlot5: SaveState(5); break;
case EmulatorShortcut.SaveStateSlot6: SaveState(6); break;
case EmulatorShortcut.SaveStateSlot7: SaveState(7); break;
case EmulatorShortcut.SaveStateSlot8: SaveState(8); break;
case EmulatorShortcut.SaveStateSlot9: SaveState(9); break;
case EmulatorShortcut.SaveStateSlot10: SaveState(10); break;
case EmulatorShortcut.LoadStateSlot1: LoadState(1); break;
case EmulatorShortcut.LoadStateSlot2: LoadState(2); break;
case EmulatorShortcut.LoadStateSlot3: LoadState(3); break;
@ -782,6 +785,9 @@ namespace Mesen.GUI.Forms
case EmulatorShortcut.LoadStateSlot6: LoadState(6); break;
case EmulatorShortcut.LoadStateSlot7: LoadState(7); break;
case EmulatorShortcut.LoadStateSlot8: LoadState(8); break;
case EmulatorShortcut.LoadStateSlot9: LoadState(9); break;
case EmulatorShortcut.LoadStateSlot10: LoadState(10); break;
case EmulatorShortcut.LoadStateSlotAuto: LoadState(11); break;
}
if(restoreFullscreen && _frmFullscreenRenderer == null) {

View file

@ -1750,6 +1750,9 @@ namespace Mesen.GUI
SaveStateSlot5,
SaveStateSlot6,
SaveStateSlot7,
SaveStateSlot8,
SaveStateSlot9,
SaveStateSlot10,
SaveStateToFile,
LoadStateSlot1,
@ -1760,6 +1763,9 @@ namespace Mesen.GUI
LoadStateSlot6,
LoadStateSlot7,
LoadStateSlot8,
LoadStateSlot9,
LoadStateSlot10,
LoadStateSlotAuto,
LoadStateFromFile,
OpenFile,