summaryrefslogtreecommitdiff
path: root/emulators
diff options
context:
space:
mode:
authorjmcneill <jmcneill@pkgsrc.org>2008-06-28 05:18:57 +0000
committerjmcneill <jmcneill@pkgsrc.org>2008-06-28 05:18:57 +0000
commit0e2d2108ce34a28f4d61a7d3982ace369bc7b370 (patch)
tree334a780bacab839f881780e4b00d45f7fcac8a38 /emulators
parent9672671b30ac3bc60fdcf76ba6b07d3699262e50 (diff)
downloadpkgsrc-0e2d2108ce34a28f4d61a7d3982ace369bc7b370.tar.gz
winex11.drv: if 800x600 is not available, attempt 800x480 before giving up.
This lets me launch Diablo II on an EeePC, which runs menus at 800x600 but allows the actual game itself to run at 640x480, without hooking up an external VGA monitor.
Diffstat (limited to 'emulators')
-rw-r--r--emulators/wine/distinfo3
-rw-r--r--emulators/wine/patches/patch-ca21
2 files changed, 23 insertions, 1 deletions
diff --git a/emulators/wine/distinfo b/emulators/wine/distinfo
index 56710c0d022..4a17f46e918 100644
--- a/emulators/wine/distinfo
+++ b/emulators/wine/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.81 2008/06/28 00:13:08 jmcneill Exp $
+$NetBSD: distinfo,v 1.82 2008/06/28 05:18:57 jmcneill Exp $
SHA1 (wine-1.0.tar.bz2) = 84150abdda18bc34b187335c6862718a6e08d255
RMD160 (wine-1.0.tar.bz2) = 1dbfa38e54e7d6269ad4110f22b2791393fd3b59
@@ -16,3 +16,4 @@ SHA1 (patch-ak) = 5f9836d5b6c957a2a6828b1979c1beeb4e900b31
SHA1 (patch-ba) = 342564062296d316a20f1c0b3ad7aaa17e7e79be
SHA1 (patch-bb) = 77cad41a7e8e34f12243e53f6c1cec998bedefda
SHA1 (patch-bc) = 1542a59718229a41e23aff93e4571bf7127a276b
+SHA1 (patch-ca) = 1383c03cc83cefe6099b58340db2bc468c7524bb
diff --git a/emulators/wine/patches/patch-ca b/emulators/wine/patches/patch-ca
new file mode 100644
index 00000000000..53f04edef0d
--- /dev/null
+++ b/emulators/wine/patches/patch-ca
@@ -0,0 +1,21 @@
+$NetBSD: patch-ca,v 1.1 2008/06/28 05:18:57 jmcneill Exp $
+
+--- dlls/winex11.drv/settings.c.orig 2008-06-27 11:42:50.000000000 -0400
++++ dlls/winex11.drv/settings.c 2008-06-27 11:43:40.000000000 -0400
+@@ -431,6 +431,16 @@
+ return DISP_CHANGE_SUCCESSFUL;
+ }
+
++ if (devmode->dmPelsWidth == 800 && devmode->dmPelsHeight == 600)
++ {
++ DEVMODEW newdm = *devmode;
++
++ ERR("800x600 not available, trying 800x480\n");
++ newdm.dmPelsWidth = 800;
++ newdm.dmPelsHeight = 480;
++ return X11DRV_ChangeDisplaySettingsEx(devname, &newdm, hwnd, flags, lpvoid);
++ }
++
+ /* no valid modes found */
+ ERR("No matching mode found %ux%ux%u @%u! (%s)\n",
+ devmode->dmPelsWidth, devmode->dmPelsHeight,