Skip to content

Commit ebca254

Browse files
committed
HACK: winex11.drv: Enable the FULLSCREEN_PRESERVE_WINDOW_SIZE hack for RiME.
After 2d25b07, windows larger than the monitor size are also considered fullscreen. The game changes resolution by first changing the size of the main window, and then changing the resolution. For example, when switching from 1920x800 to 1920x1080, the game first changes the main window from 1920x800 to 1920x1080 and then changes the resolution to 1920x1080. However, the game is also picky about its fullscreen window size. With 2d25b07, after the main window becomes 1920x1080 and before the resolution is changed to 1920x1080, X11DRV_ConfigureNotify() changes the size of the main window back to 1920x800 because the fullscreen hack is considered enabled for the window. The game sees that its main window changes and will issue another resolution change to 1920x800 after changing to 1920x1080, giving the impression that the resolution change is unsuccessful. CW-Bug-Id: #24197
1 parent 9455631 commit ebca254

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

dlls/winex11.drv/event.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1221,9 +1221,11 @@ static BOOL X11DRV_ConfigureNotify( HWND hwnd, XEvent *xev )
12211221
const char *preserve_window_size = getenv( "FULLSCREEN_PRESERVE_WINDOW_SIZE" );
12221222

12231223
if ((preserve_window_size && *preserve_window_size == '1') ||
1224-
(steamgameid && (!strcmp( steamgameid, "590380" ) || !strcmp( steamgameid, "307690" ))))
1224+
(steamgameid && (!strcmp( steamgameid, "590380" ) /* Into The Breach */
1225+
|| !strcmp( steamgameid, "307690" ) /* Sleeping Dogs */
1226+
|| !strcmp( steamgameid, "493200" )))) /* RiME */
12251227
{
1226-
/* Into The Breach and Sleeping Dogs are extremely picky about the size of its window. */
1228+
/* These games are extremely picky about the size of its window. */
12271229
if (NtUserIsWindowRectFullScreen( &data->whole_rect ) && NtUserIsWindowRectFullScreen( &rect ))
12281230
{
12291231
TRACE( "window is fullscreen and new size is also fullscreen, so preserving window size\n" );

0 commit comments

Comments
 (0)