diff --git a/Core/Console.cpp b/Core/Console.cpp
index f746373f..fa4f72f3 100644
--- a/Core/Console.cpp
+++ b/Core/Console.cpp
@@ -101,7 +101,7 @@ bool Console::Initialize(VirtualFile &romFile, VirtualFile &patchFile)
if(mapper) {
if(_mapper) {
//Send notification only if a game was already running and we successfully loaded the new one
- MessageManager::SendNotification(ConsoleNotificationType::GameStopped);
+ MessageManager::SendNotification(ConsoleNotificationType::GameStopped, (void*)1);
}
if(_romFilepath != (string)romFile || _patchFilename != (string)patchFile) {
diff --git a/Core/IRenderingDevice.h b/Core/IRenderingDevice.h
index 68ea2436..a8612eab 100644
--- a/Core/IRenderingDevice.h
+++ b/Core/IRenderingDevice.h
@@ -9,4 +9,5 @@ class IRenderingDevice
virtual void UpdateFrame(void *frameBuffer, uint32_t width, uint32_t height) = 0;
virtual void Render() = 0;
virtual void Reset() = 0;
+ virtual void SetFullscreenMode(bool fullscreen, void* windowHandle, uint32_t monitorWidth, uint32_t monitorHeight) = 0;
};
\ No newline at end of file
diff --git a/GUI.NET/Config/VideoInfo.cs b/GUI.NET/Config/VideoInfo.cs
index d1951c6d..02682206 100644
--- a/GUI.NET/Config/VideoInfo.cs
+++ b/GUI.NET/Config/VideoInfo.cs
@@ -51,6 +51,7 @@ namespace Mesen.GUI.Config
public bool ForceSpritesFirstColumn = false;
public bool FullscreenForceIntegerScale = false;
+ public bool UseExclusiveFullscreen = false;
public bool UseCustomVsPalette = false;
public bool ShowColorIndexes = true;
diff --git a/GUI.NET/Dependencies/resources.ca.xml b/GUI.NET/Dependencies/resources.ca.xml
index 5111a70c..09253f45 100644
--- a/GUI.NET/Dependencies/resources.ca.xml
+++ b/GUI.NET/Dependencies/resources.ca.xml
@@ -256,6 +256,7 @@
Fes servir valors enters d'escalat al mode de pantalla completa
Mostra els FPS
Fes servir els paquets d'alta resolució d'HDNes
+ Use exclusive fullscreen mode
Sobreescaneig
Retall de vídeo
Esquerra
diff --git a/GUI.NET/Dependencies/resources.es.xml b/GUI.NET/Dependencies/resources.es.xml
index 82cdbb0f..e78d442f 100644
--- a/GUI.NET/Dependencies/resources.es.xml
+++ b/GUI.NET/Dependencies/resources.es.xml
@@ -256,6 +256,7 @@
Utilizar valores enteros de escalado en modo de pantalla completa
Mostrar FPS
Utilizar los paquetes de alta resolución de HDNes
+ Use exclusive fullscreen mode
Overscan
Recorte
Izquierda
diff --git a/GUI.NET/Dependencies/resources.fr.xml b/GUI.NET/Dependencies/resources.fr.xml
index 3b9dd458..69b88da6 100644
--- a/GUI.NET/Dependencies/resources.fr.xml
+++ b/GUI.NET/Dependencies/resources.fr.xml
@@ -259,6 +259,7 @@
Utiliser une valeur entière pour l'échelle vidéo en mode plein écran
Afficher le FPS
Utiliser les packs haute-définition de HDNes
+ Utiliser le mode plein écran exclusif
Overscan
Overscan
Gauche
diff --git a/GUI.NET/Dependencies/resources.ja.xml b/GUI.NET/Dependencies/resources.ja.xml
index 80c32b12..73ab27b8 100644
--- a/GUI.NET/Dependencies/resources.ja.xml
+++ b/GUI.NET/Dependencies/resources.ja.xml
@@ -260,6 +260,7 @@
全画面表示モードに入る時、画面サイズの倍率を整数にする
フレームレート表示
HDNesのHDパックを使う
+ 排他的なフルスクリーンモードを使う
オーバースキャン
オーバースキャン
左
diff --git a/GUI.NET/Dependencies/resources.pt.xml b/GUI.NET/Dependencies/resources.pt.xml
index 37ae53f9..225f26cb 100644
--- a/GUI.NET/Dependencies/resources.pt.xml
+++ b/GUI.NET/Dependencies/resources.pt.xml
@@ -256,6 +256,7 @@
Usar valores de escala inteira ao entrar no modo de tela cheia
Mostrar FPS
Usar os pacotes de alta definição do HDNes
+ Use exclusive fullscreen mode
Overscan
Recorte
Esquerda
diff --git a/GUI.NET/Dependencies/resources.ru.xml b/GUI.NET/Dependencies/resources.ru.xml
index 97ac0312..01997852 100644
--- a/GUI.NET/Dependencies/resources.ru.xml
+++ b/GUI.NET/Dependencies/resources.ru.xml
@@ -258,6 +258,7 @@
Use integer scale values when entering fullscreen mode
Показывать FPS
Использовать HDNes HD packs
+ Use exclusive fullscreen mode
Overscan
Overscan
Слева
diff --git a/GUI.NET/Dependencies/resources.uk.xml b/GUI.NET/Dependencies/resources.uk.xml
index 585b9474..82dec56e 100644
--- a/GUI.NET/Dependencies/resources.uk.xml
+++ b/GUI.NET/Dependencies/resources.uk.xml
@@ -258,6 +258,7 @@
Використовуйте цілі значення масштабу при введенні повноекранного режиму
Показувати FPS
Використовувати HDNes HD packs
+ Use exclusive fullscreen mode
Overscan
Overscan
Злiва
diff --git a/GUI.NET/Forms/BaseInputForm.cs b/GUI.NET/Forms/BaseInputForm.cs
new file mode 100644
index 00000000..287be3fa
--- /dev/null
+++ b/GUI.NET/Forms/BaseInputForm.cs
@@ -0,0 +1,92 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace Mesen.GUI.Forms
+{
+ public class BaseInputForm : BaseForm, IMessageFilter
+ {
+ private static Stack