mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-15 06:04:49 +01:00
add bpp check to dds blt
This commit is contained in:
parent
ca195bcb3f
commit
1e03e9cec6
@ -23,9 +23,9 @@ typedef struct IDirectDrawSurfaceImpl
|
|||||||
|
|
||||||
ULONG ref;
|
ULONG ref;
|
||||||
|
|
||||||
|
DWORD bpp;
|
||||||
DWORD width;
|
DWORD width;
|
||||||
DWORD height;
|
DWORD height;
|
||||||
DWORD bpp;
|
|
||||||
DWORD size;
|
DWORD size;
|
||||||
DWORD flags;
|
DWORD flags;
|
||||||
DWORD caps;
|
DWORD caps;
|
||||||
|
@ -50,6 +50,15 @@ HRESULT dds_Blt(
|
|||||||
DWORD dwFlags,
|
DWORD dwFlags,
|
||||||
LPDDBLTFX lpDDBltFx)
|
LPDDBLTFX lpDDBltFx)
|
||||||
{
|
{
|
||||||
|
if (lpDDSrcSurface &&
|
||||||
|
lpDDSrcSurface->bpp != 8 &&
|
||||||
|
lpDDSrcSurface->bpp != 16 &&
|
||||||
|
lpDDSrcSurface->bpp != 24 &&
|
||||||
|
lpDDSrcSurface->bpp != 32)
|
||||||
|
{
|
||||||
|
return DDERR_INVALIDPARAMS;
|
||||||
|
}
|
||||||
|
|
||||||
dbg_dump_dds_blt_flags(dwFlags);
|
dbg_dump_dds_blt_flags(dwFlags);
|
||||||
dbg_dump_dds_blt_fx_flags((dwFlags & DDBLT_DDFX) && lpDDBltFx ? lpDDBltFx->dwDDFX : 0);
|
dbg_dump_dds_blt_fx_flags((dwFlags & DDBLT_DDFX) && lpDDBltFx ? lpDDBltFx->dwDDFX : 0);
|
||||||
|
|
||||||
@ -77,13 +86,13 @@ HRESULT dds_Blt(
|
|||||||
|
|
||||||
if (lpSrcRect && src_surface)
|
if (lpSrcRect && src_surface)
|
||||||
{
|
{
|
||||||
//dbg_print_rect("lpSrcRect", lpSrcRect);
|
dbg_print_rect("lpSrcRect", lpSrcRect);
|
||||||
src_rect = *lpSrcRect;
|
src_rect = *lpSrcRect;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lpDestRect)
|
if (lpDestRect)
|
||||||
{
|
{
|
||||||
//dbg_print_rect("lpDestRect", lpDestRect);
|
dbg_print_rect("lpDestRect", lpDestRect);
|
||||||
dst_rect = *lpDestRect;
|
dst_rect = *lpDestRect;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user