diff --git a/Standard Gaming Platform/video.cpp b/Standard Gaming Platform/video.cpp index f6564f96..3c7134ef 100644 --- a/Standard Gaming Platform/video.cpp +++ b/Standard Gaming Platform/video.cpp @@ -288,14 +288,22 @@ BOOLEAN InitializeVideoManager(HINSTANCE hInstance, UINT16 usCommandShow, void * } else // fullscreen mode { - // Buggler: Get Primary Desktop Resolution - DWORD dwScreenWidth = ::GetSystemMetrics(SM_CXSCREEN); - DWORD dwScreenHeight = ::GetSystemMetrics(SM_CYSCREEN); - - if (SCREEN_WIDTH > dwScreenWidth || SCREEN_HEIGHT > dwScreenHeight ) + // Buggler: Get Primary Screen Supported Resolutions + DEVMODE DevMode; + BOOLEAN fResSupported = FALSE; + for( INT32 iModeNum = 0; EnumDisplaySettings( 0, iModeNum, &DevMode ) != 0; iModeNum++ ) + { + if (SCREEN_WIDTH == DevMode.dmPelsWidth && SCREEN_HEIGHT == DevMode.dmPelsHeight ) + { + fResSupported = TRUE; + break; + } + } + + if ( !fResSupported ) { CHAR16 sString[ 256 ]; - swprintf( sString, Additional113Text[ADDTEXT_LOWERRES_REQUIRED], dwScreenWidth, dwScreenHeight ); + swprintf( sString, Additional113Text[ADDTEXT_DIFFRES_REQUIRED], SCREEN_WIDTH, SCREEN_HEIGHT ); MessageBoxW( NULL, sString, APPLICATION_NAMEW, MB_ICONEXCLAMATION); PostQuitMessage(1); return FALSE; diff --git a/Utils/Text.h b/Utils/Text.h index 91118253..fe904ab0 100644 --- a/Utils/Text.h +++ b/Utils/Text.h @@ -2528,7 +2528,7 @@ extern STR16 gszMPMapscreenText[]; enum { ADDTEXT_16BPP_REQUIRED, - ADDTEXT_LOWERRES_REQUIRED, + ADDTEXT_DIFFRES_REQUIRED, ADDTEXT_WRONG_TEAM_SIZE, ERROR_MAX_MERCSVEHICLES, ERROR_MAX_ENEMIES, diff --git a/Utils/_ChineseText.cpp b/Utils/_ChineseText.cpp index 42ea9dee..6d108dd9 100644 --- a/Utils/_ChineseText.cpp +++ b/Utils/_ChineseText.cpp @@ -7303,8 +7303,8 @@ STR16 gzFacilityAssignmentStrings[]= }; STR16 Additional113Text[]= { - L"Jagged Alliance 2 v1.13 窗口模式需要一个16bpp或更少的颜色深度。", - L"Jagged Alliance 2 v1.13 全屏模式选择的分辨率不能高于系统桌面分辨率 (%d x %d)。", // + L"Jagged Alliance 2 v1.13 窗口模式需要一个16bpp的颜色深度。", + L"Jagged Alliance 2 v1.13 fullscreen mode (%d x %d) is not supported by your primary screen.\nPlease either change the game resolution or use 16bpp windowed mode.", // TODO.Translate L"存盘文件内部读取错误:存盘文件的“%s”数量跟 Ja2_Options.ini 设置的($d)不一致。", //L"Internal error in reading %s slots from Savegame: Number of slots in Savegame (%d) differs from defined slots in ja2_options.ini settings (%d)", // WANNE: Savegame slots validation against INI file L"佣兵 (MAX_NUMBER_PLAYER_MERCS) / 交通工具 (MAX_NUMBER_PLAYER_VEHICLES)", diff --git a/Utils/_DutchText.cpp b/Utils/_DutchText.cpp index b7ac1c98..3e15dc73 100644 --- a/Utils/_DutchText.cpp +++ b/Utils/_DutchText.cpp @@ -7312,7 +7312,7 @@ STR16 gzFacilityAssignmentStrings[]= STR16 Additional113Text[]= { L"Jagged Alliance 2 v1.13 windowed modus vereist een kleurdiepte van 16 bits per pixel.", - L"Jagged Alliance 2 v1.13 fullscreen mode requires to run at your desktop resolution (%d x %d) or less.", // TODO.Translate + L"Jagged Alliance 2 v1.13 fullscreen mode (%d x %d) is not supported by your primary screen.\nPlease either change the game resolution or use 16bpp windowed mode.", // TODO.Translate L"Internal error in reading %s slots from Savegame: Number of slots in Savegame (%d) differs from defined slots in ja2_options.ini settings (%d)", // TODO.Translate // WANNE: Savegame slots validation against INI file diff --git a/Utils/_EnglishText.cpp b/Utils/_EnglishText.cpp index 630c415c..4b8da40a 100644 --- a/Utils/_EnglishText.cpp +++ b/Utils/_EnglishText.cpp @@ -7301,8 +7301,8 @@ STR16 gzFacilityAssignmentStrings[]= }; STR16 Additional113Text[]= { - L"Jagged Alliance 2 v1.13 windowed mode requires a color depth of 16bpp or less.", - L"Jagged Alliance 2 v1.13 fullscreen mode requires to run at your desktop resolution (%d x %d) or less.", + L"Jagged Alliance 2 v1.13 windowed mode requires a color depth of 16bpp.", + L"Jagged Alliance 2 v1.13 fullscreen mode (%d x %d) is not supported by your primary screen.\nPlease either change the game resolution or use 16 bpp windowed mode.", L"Internal error in reading %s slots from Savegame: Number of slots in Savegame (%d) differs from defined slots in ja2_options.ini settings (%d)", // WANNE: Savegame slots validation against INI file L"Mercenary (MAX_NUMBER_PLAYER_MERCS) / Vehicle (MAX_NUMBER_PLAYER_VEHICLES)", diff --git a/Utils/_FrenchText.cpp b/Utils/_FrenchText.cpp index 65a1fb32..4c4a1d4d 100644 --- a/Utils/_FrenchText.cpp +++ b/Utils/_FrenchText.cpp @@ -7305,8 +7305,8 @@ STR16 gzFacilityAssignmentStrings[]= }; STR16 Additional113Text[]= { - L"Jagged Alliance 2 v1.13 mode fenêtré exige une profondeur de couleur de 16 bit ou moins.", - L"Jagged Alliance 2 v1.13 mode plein écran nécessite pour fonctionner la résolution du bureau de votre ordinateur (%d x %d) ou moins.", + L"Jagged Alliance 2 v1.13 mode fenêtré exige une profondeur de couleur de 16 bit.", + L"Jagged Alliance 2 v1.13 fullscreen mode (%d x %d) is not supported by your primary screen.\nPlease either change the game resolution or use 16bpp windowed mode.", // TODO.Translate L"Erreur interne en lisant %s emplacements depuis la sauvegarde : Le nombre d'emplacements dans la sauvegarde (%d) diffère des emplacements définis dans les paramètres de ja2_options.ini (%d)", // WANNE: Savegame slots validation against INI file L"Mercenaires (MAX_NUMBER_PLAYER_MERCS) / Véhicule (MAX_NUMBER_PLAYER_VEHICLES)", diff --git a/Utils/_GermanText.cpp b/Utils/_GermanText.cpp index 6674bf26..2738d959 100644 --- a/Utils/_GermanText.cpp +++ b/Utils/_GermanText.cpp @@ -7136,7 +7136,7 @@ STR16 gzFacilityAssignmentStrings[]= STR16 Additional113Text[]= { L"Für die korrekte Arbeit im Fenster-Modus benötigt Jagged Alliance 2 v1.13 16-bit Farbmodus.", //Jagged Alliance 2 v1.13 windowed mode requires a color depth of 16bpp or less. - L"Jagged Alliance 2 v1.13 Vollbildmodus kann nur in Desktop Auflösung (%d x %d) oder niedriger laufen.", + L"Jagged Alliance 2 v1.13 fullscreen mode (%d x %d) is not supported by your primary screen.\nPlease either change the game resolution or use 16bpp windowed mode.", // TODO.Translate L"Interner Fehler beim Auslesen der %s Slots des zu ladenden Spielstandes: Die Anzahl der Slots im Spielstand (%d) unterscheidet sich mit den definierten Slots in der Datei ja2_options.ini (%d)", // WANNE: Savegame slots validation against INI file L"Söldner (MAX_NUMBER_PLAYER_MERCS) / Fahrzeuge (MAX_NUMBER_PLAYER_VEHICLES)", diff --git a/Utils/_ItalianText.cpp b/Utils/_ItalianText.cpp index d9937951..4ae9f27b 100644 --- a/Utils/_ItalianText.cpp +++ b/Utils/_ItalianText.cpp @@ -7306,8 +7306,8 @@ STR16 gzFacilityAssignmentStrings[]= STR16 Additional113Text[]= { - L"Jagged Alliance 2 v1.13 modalità finestra richiede una profondità di colore di 16bpp o meno.", - L"Jagged Alliance 2 v1.13 fullscreen mode requires to run at your desktop resolution (%d x %d) or less.", // TODO.Translate + L"Jagged Alliance 2 v1.13 modalità finestra richiede una profondità di colore di 16bpp.", + L"Jagged Alliance 2 v1.13 fullscreen mode (%d x %d) is not supported by your primary screen.\nPlease either change the game resolution or use 16bpp windowed mode.", // TODO.Translate L"Internal error in reading %s slots from Savegame: Number of slots in Savegame (%d) differs from defined slots in ja2_options.ini settings (%d)", // TODO.Translate // WANNE: Savegame slots validation against INI file diff --git a/Utils/_PolishText.cpp b/Utils/_PolishText.cpp index 59646882..c931a0b6 100644 --- a/Utils/_PolishText.cpp +++ b/Utils/_PolishText.cpp @@ -7320,8 +7320,8 @@ STR16 gzFacilityAssignmentStrings[]= STR16 Additional113Text[]= { - L"Jagged Alliance 2 v1.13 trybie okienkowym wymaga głębi koloru 16-bitowego lub mniej.", - L"Jagged Alliance 2 v1.13 fullscreen mode requires to run at your desktop resolution (%d x %d) or less.", // TODO.Translate + L"Jagged Alliance 2 v1.13 trybie okienkowym wymaga głębi koloru 16-bitowego.", + L"Jagged Alliance 2 v1.13 fullscreen mode (%d x %d) is not supported by your primary screen.\nPlease either change the game resolution or use 16bpp windowed mode.", // TODO.Translate L"Internal error in reading %s slots from Savegame: Number of slots in Savegame (%d) differs from defined slots in ja2_options.ini settings (%d)", // TODO.Translate // TODO.Translate // WANNE: Savegame slots validation against INI file diff --git a/Utils/_RussianText.cpp b/Utils/_RussianText.cpp index 33817a23..e2c5547b 100644 --- a/Utils/_RussianText.cpp +++ b/Utils/_RussianText.cpp @@ -7299,7 +7299,7 @@ STR16 gzFacilityAssignmentStrings[]= STR16 Additional113Text[]= { L"Для запуска Jagged Alliance 2 v1.13 в оконном режиме требуется установить 16-битное качество цветопередачи экрана", - L"Jagged Alliance 2 v1.13 полноэкранный режим требует запуска с разрешением как на десктопе (%d x %d) или меньше.", + L"Jagged Alliance 2 v1.13 fullscreen mode (%d x %d) is not supported by your primary screen.\nPlease either change the game resolution or use 16bpp windowed mode.", // TODO.Translate L"Internal error in reading %s slots from Savegame: Number of slots in Savegame (%d) differs from defined slots in ja2_options.ini settings (%d)", // TODO.Translate // WANNE: Savegame slots validation against INI file L"Наемники (MAX_NUMBER_PLAYER_MERCS) / Машины (MAX_NUMBER_PLAYER_VEHICLES)",