#247 fix color key issues in Kohan: Immortal Sovereigns
This commit is contained in:
parent
a95003fbc2
commit
c17db0349a
2 changed files with 8 additions and 2 deletions
2
src/dd.c
2
src/dd.c
|
@ -653,7 +653,7 @@ HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwFl
|
||||||
{
|
{
|
||||||
g_ddraw->render.mode.dmFields |= DM_DISPLAYFREQUENCY;
|
g_ddraw->render.mode.dmFields |= DM_DISPLAYFREQUENCY;
|
||||||
g_ddraw->render.mode.dmDisplayFrequency = g_config.refresh_rate;
|
g_ddraw->render.mode.dmDisplayFrequency = g_config.refresh_rate;
|
||||||
|
|
||||||
if (ChangeDisplaySettings(&g_ddraw->render.mode, CDS_TEST) != DISP_CHANGE_SUCCESSFUL)
|
if (ChangeDisplaySettings(&g_ddraw->render.mode, CDS_TEST) != DISP_CHANGE_SUCCESSFUL)
|
||||||
{
|
{
|
||||||
g_config.refresh_rate = 0;
|
g_config.refresh_rate = 0;
|
||||||
|
|
|
@ -1296,7 +1296,7 @@ HRESULT dd_CreateSurface(
|
||||||
if (lpDDSurfaceDesc->ddsCaps.dwCaps & DDSCAPS_OVERLAY)
|
if (lpDDSurfaceDesc->ddsCaps.dwCaps & DDSCAPS_OVERLAY)
|
||||||
return DDERR_UNSUPPORTED;
|
return DDERR_UNSUPPORTED;
|
||||||
|
|
||||||
if (!(lpDDSurfaceDesc->ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE) &&
|
if (!(lpDDSurfaceDesc->ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE) &&
|
||||||
(lpDDSurfaceDesc->dwWidth > 16384 || lpDDSurfaceDesc->dwHeight > 16384))
|
(lpDDSurfaceDesc->dwWidth > 16384 || lpDDSurfaceDesc->dwHeight > 16384))
|
||||||
{
|
{
|
||||||
return DDERR_INVALIDPARAMS;
|
return DDERR_INVALIDPARAMS;
|
||||||
|
@ -1328,6 +1328,12 @@ HRESULT dd_CreateSurface(
|
||||||
dst_surface->caps = lpDDSurfaceDesc->ddsCaps.dwCaps;
|
dst_surface->caps = lpDDSurfaceDesc->ddsCaps.dwCaps;
|
||||||
dst_surface->ddraw = This;
|
dst_surface->ddraw = This;
|
||||||
|
|
||||||
|
if (dst_surface->flags & DDSD_CKSRCBLT)
|
||||||
|
{
|
||||||
|
dst_surface->color_key.dwColorSpaceHighValue = lpDDSurfaceDesc->ddckCKSrcBlt.dwColorSpaceHighValue;
|
||||||
|
dst_surface->color_key.dwColorSpaceLowValue = lpDDSurfaceDesc->ddckCKSrcBlt.dwColorSpaceLowValue;
|
||||||
|
}
|
||||||
|
|
||||||
if (dst_surface->flags & DDSD_PIXELFORMAT)
|
if (dst_surface->flags & DDSD_PIXELFORMAT)
|
||||||
{
|
{
|
||||||
switch (lpDDSurfaceDesc->ddpfPixelFormat.dwRGBBitCount)
|
switch (lpDDSurfaceDesc->ddpfPixelFormat.dwRGBBitCount)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue