mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-25 01:57:47 +01:00
some more tweaks to GetCaps
This commit is contained in:
parent
71e8f6deb4
commit
76b384e0cd
1
inc/dd.h
1
inc/dd.h
@ -16,6 +16,7 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, BOOL setBy
|
|||||||
HRESULT dd_SetCooperativeLevel(HWND hwnd, DWORD dwFlags);
|
HRESULT dd_SetCooperativeLevel(HWND hwnd, DWORD dwFlags);
|
||||||
HRESULT dd_RestoreDisplayMode();
|
HRESULT dd_RestoreDisplayMode();
|
||||||
HRESULT dd_GetCaps(LPDDCAPS lpDDDriverCaps, LPDDCAPS lpDDEmulCaps);
|
HRESULT dd_GetCaps(LPDDCAPS lpDDDriverCaps, LPDDCAPS lpDDEmulCaps);
|
||||||
|
HRESULT dd_GetCaps(LPDDCAPS_DX1 lpDDDriverCaps, LPDDCAPS_DX1 lpDDEmulCaps);
|
||||||
HRESULT dd_GetDisplayMode(LPDDSURFACEDESC2 lpDDSurfaceDesc);
|
HRESULT dd_GetDisplayMode(LPDDSURFACEDESC2 lpDDSurfaceDesc);
|
||||||
HRESULT dd_GetMonitorFrequency(LPDWORD lpdwFreq);
|
HRESULT dd_GetMonitorFrequency(LPDWORD lpdwFreq);
|
||||||
HRESULT dd_GetAvailableVidMem(LPDDSCAPS2 lpDDCaps, LPDWORD lpdwTotal, LPDWORD lpdwFree);
|
HRESULT dd_GetAvailableVidMem(LPDDSCAPS2 lpDDCaps, LPDWORD lpdwTotal, LPDWORD lpdwFree);
|
||||||
|
@ -303,7 +303,7 @@ HRESULT __stdcall IDirectDraw__FlipToGDISurface(IDirectDrawImpl* This)
|
|||||||
HRESULT __stdcall IDirectDraw__GetCaps(IDirectDrawImpl* This, LPDDCAPS lpDDDriverCaps, LPDDCAPS lpDDEmulCaps)
|
HRESULT __stdcall IDirectDraw__GetCaps(IDirectDrawImpl* This, LPDDCAPS lpDDDriverCaps, LPDDCAPS lpDDEmulCaps)
|
||||||
{
|
{
|
||||||
TRACE("-> %s(This=%p, lpDDDriverCaps=%p, lpDDEmulCaps=%p)\n", __FUNCTION__, This, lpDDDriverCaps, lpDDEmulCaps);
|
TRACE("-> %s(This=%p, lpDDDriverCaps=%p, lpDDEmulCaps=%p)\n", __FUNCTION__, This, lpDDDriverCaps, lpDDEmulCaps);
|
||||||
HRESULT ret = dd_GetCaps(lpDDDriverCaps, lpDDEmulCaps);
|
HRESULT ret = dd_GetCaps((LPDDCAPS_DX1)lpDDDriverCaps, (LPDDCAPS_DX1)lpDDEmulCaps);
|
||||||
TRACE("<- %s\n", __FUNCTION__);
|
TRACE("<- %s\n", __FUNCTION__);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
26
src/dd.c
26
src/dd.c
@ -249,11 +249,20 @@ HRESULT dd_EnumDisplayModes(
|
|||||||
return DD_OK;
|
return DD_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT dd_GetCaps(LPDDCAPS lpDDDriverCaps, LPDDCAPS lpDDEmulCaps)
|
HRESULT dd_GetCaps(LPDDCAPS_DX1 lpDDDriverCaps, LPDDCAPS_DX1 lpDDEmulCaps)
|
||||||
{
|
{
|
||||||
if (lpDDDriverCaps)
|
if (lpDDDriverCaps)
|
||||||
{
|
{
|
||||||
lpDDDriverCaps->dwSize = sizeof(DDCAPS_DX5);
|
int size =
|
||||||
|
lpDDDriverCaps->dwSize == sizeof(DDCAPS_DX3) ? sizeof(DDCAPS_DX3) :
|
||||||
|
lpDDDriverCaps->dwSize == sizeof(DDCAPS_DX5) ? sizeof(DDCAPS_DX5) :
|
||||||
|
lpDDDriverCaps->dwSize == sizeof(DDCAPS_DX6) ? sizeof(DDCAPS_DX6) :
|
||||||
|
lpDDDriverCaps->dwSize == sizeof(DDCAPS_DX7) ? sizeof(DDCAPS_DX7) :
|
||||||
|
sizeof(DDCAPS_DX1);
|
||||||
|
|
||||||
|
memset(lpDDDriverCaps, 0, size);
|
||||||
|
|
||||||
|
lpDDDriverCaps->dwSize = size;
|
||||||
lpDDDriverCaps->dwCaps =
|
lpDDDriverCaps->dwCaps =
|
||||||
DDCAPS_BLT |
|
DDCAPS_BLT |
|
||||||
DDCAPS_PALETTE |
|
DDCAPS_PALETTE |
|
||||||
@ -273,12 +282,21 @@ HRESULT dd_GetCaps(LPDDCAPS lpDDDriverCaps, LPDDCAPS lpDDEmulCaps)
|
|||||||
lpDDDriverCaps->dwAlignSizeSrc = 0;
|
lpDDDriverCaps->dwAlignSizeSrc = 0;
|
||||||
lpDDDriverCaps->dwAlignBoundaryDest = 0;
|
lpDDDriverCaps->dwAlignBoundaryDest = 0;
|
||||||
lpDDDriverCaps->dwAlignSizeDest = 0;
|
lpDDDriverCaps->dwAlignSizeDest = 0;
|
||||||
lpDDDriverCaps->ddsOldCaps.dwCaps = DDSCAPS_FLIP;
|
lpDDDriverCaps->ddsCaps.dwCaps = DDSCAPS_FLIP;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lpDDEmulCaps)
|
if (lpDDEmulCaps)
|
||||||
{
|
{
|
||||||
lpDDEmulCaps->dwSize = 0;
|
int size =
|
||||||
|
lpDDEmulCaps->dwSize == sizeof(DDCAPS_DX3) ? sizeof(DDCAPS_DX3) :
|
||||||
|
lpDDEmulCaps->dwSize == sizeof(DDCAPS_DX5) ? sizeof(DDCAPS_DX5) :
|
||||||
|
lpDDEmulCaps->dwSize == sizeof(DDCAPS_DX6) ? sizeof(DDCAPS_DX6) :
|
||||||
|
lpDDEmulCaps->dwSize == sizeof(DDCAPS_DX7) ? sizeof(DDCAPS_DX7) :
|
||||||
|
sizeof(DDCAPS_DX1);
|
||||||
|
|
||||||
|
memset(lpDDEmulCaps, 0, size);
|
||||||
|
|
||||||
|
lpDDEmulCaps->dwSize = size;
|
||||||
}
|
}
|
||||||
|
|
||||||
return DD_OK;
|
return DD_OK;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user