[Bug 3778] morrowind faild to detect graphics correctly
Wine Bugs
wine-bugs at winehq.org
Wed Nov 9 04:34:17 CST 2005
http://bugs.winehq.org/show_bug.cgi?id=3778
------- Additional Comments From saulius.krasuckas at elst.vtu.lt 2005-09-11 04:34 -------
| I guess they mean SB_PIXEL_ALPHA, part of SHADEBLENDCAPS in GetDeviceCaps for
| x11drv. SHADEBLENDCAPS seems to be completely missing currently:
...
| I would add them myself, seems to be gruntwork, but there are numbers in the
| header file behind all other capabilities - I don't know what they mean, or
| what the correct values for those caps would be...
As for correct header filenames you can always check Platform SDK and DX SDK
[*]. grep is your friend:
$ grep -rEC3 'SB_PIXEL_ALPHA|SHADEBLENDCAPS' Microsoft\ SDK/include/
| Microsoft SDK/include/WinGDI.h-#define BLTALIGNMENT 119 /* Preferred blt
alignment */
| Microsoft SDK/include/WinGDI.h-
| Microsoft SDK/include/WinGDI.h-#if(WINVER >= 0x0500)
| Microsoft SDK/include/WinGDI.h:#define SHADEBLENDCAPS 120 /* Shading and
blending caps */
| Microsoft SDK/include/WinGDI.h-#define COLORMGMTCAPS 121 /* Color
Management caps */
| Microsoft SDK/include/WinGDI.h-#endif /* WINVER >= 0x0500 */
| Microsoft SDK/include/WinGDI.h-
| --
| Microsoft SDK/include/WinGDI.h-/* Shading and blending caps */
| Microsoft SDK/include/WinGDI.h-#define SB_NONE 0x00000000
| Microsoft SDK/include/WinGDI.h-#define SB_CONST_ALPHA 0x00000001
| Microsoft SDK/include/WinGDI.h:#define SB_PIXEL_ALPHA 0x00000002
| Microsoft SDK/include/WinGDI.h-#define SB_PREMULT_ALPHA 0x00000004
| Microsoft SDK/include/WinGDI.h-
| Microsoft SDK/include/WinGDI.h-#define SB_GRAD_RECT 0x00000010
As for values, you can formally use MSDN or get the same info from the SDKs. :-)
Think of adding a corresponding test [2][3] for the SHADEBLENDCAPS parameter
passed to GetDeviceCaps(), as none such exists yet:
$ cd /usr/src/wine-cvs/wine
$ grr GetDeviceCaps dlls/*/tests/
| dlls/gdi/tests/gdiobj.c: ok(!GetDeviceCaps(hgdiobj_event->hdc, TECHNOLOGY),
"GetDeviceCaps(TECHNOLOGY) should fail\n");
| dlls/gdi/tests/gdiobj.c: ret = GetDeviceCaps(hgdiobj_event.hdc, TECHNOLOGY);
| dlls/gdi/tests/gdiobj.c: ok(ret == DT_RASDISPLAY,
"GetDeviceCaps(TECHNOLOGY) should return DT_RASDISPLAY not %d\n", ret);
| dlls/gdi/tests/metafile.c: ok(GetDeviceCaps(hdcMetafile, TECHNOLOGY) ==
DT_RASDISPLAY,
| dlls/gdi/tests/metafile.c: "GetDeviceCaps(TECHNOLOGY) has to return
DT_RASDISPLAY for a display based EMF\n");
| dlls/gdi/tests/metafile.c: caps = GetDeviceCaps (hdcMetafile, TECHNOLOGY);
| dlls/gdi/tests/metafile.c: "GetDeviceCaps: TECHNOLOGY=%d !=
DT_METAFILE.\n", caps);
| dlls/gdi/tests/metafile.c: x0 = MulDiv(0, GetDeviceCaps(hdc,
HORZSIZE) * 100, GetDeviceCaps(hdc, HORZRES));
| dlls/gdi/tests/metafile.c: y0 = MulDiv(0, GetDeviceCaps(hdc,
VERTSIZE) * 100, GetDeviceCaps(hdc, VERTRES));
| dlls/gdi/tests/metafile.c: x1 = MulDiv(10, GetDeviceCaps(hdc,
HORZSIZE) * 100, GetDeviceCaps(hdc, HORZRES));
| dlls/gdi/tests/metafile.c: y1 = MulDiv(10, GetDeviceCaps(hdc,
VERTSIZE) * 100, GetDeviceCaps(hdc, VERTRES));
| dlls/gdi/tests/bitmap.c: screen_depth = GetDeviceCaps(hdc, BITSPIXEL);
| dlls/gdi/tests/bitmap.c: screen_depth = GetDeviceCaps(hdc, BITSPIXEL) *
GetDeviceCaps(hdc, PLANES);
| dlls/user/tests/sysparams.c: dpi = GetDeviceCaps( hdc, LOGPIXELSY);
| dlls/user/tests/text.c: lf.lfHeight = -MulDiv(9, GetDeviceCaps(hdc,
Of course, it's easiest to start by compiling simple Windows app which doesn't
work under Wine.
Then transform it to Wine test.
Then compile in windows.
Then make it compile using Wine.
IMHO wine-devel@ list will help you in any case. Feel free, thanks. :-)
Good luck.
[1] http://www.winehq.org/site/docs/winedev-guide/testing-windows
[2] http://www.winehq.org/site/docs/winedev-guide/testing-what
[3] http://www.winehq.org/site/docs/winedev-guide/testing-test
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the wine-bugs
mailing list