mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
247 lines
14 KiB
Diff
247 lines
14 KiB
Diff
From 2e7afb2a34c951f50d2349dbc9d6453cca60a23c Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
|
Date: Sat, 28 Feb 2015 21:30:37 +0100
|
|
Subject: ddraw: Make some functions hotpachable.
|
|
|
|
---
|
|
dlls/ddraw/surface.c | 55 ++++++++++++++++++++++++++++------------------------
|
|
1 file changed, 30 insertions(+), 25 deletions(-)
|
|
|
|
diff --git a/dlls/ddraw/surface.c b/dlls/ddraw/surface.c
|
|
index a387d12..c14ba47 100644
|
|
--- a/dlls/ddraw/surface.c
|
|
+++ b/dlls/ddraw/surface.c
|
|
@@ -1153,7 +1153,7 @@ static HRESULT WINAPI ddraw_surface1_Lock(IDirectDrawSurface *iface, RECT *rect,
|
|
* For more details, see IWineD3DSurface::UnlockRect
|
|
*
|
|
*****************************************************************************/
|
|
-static HRESULT WINAPI ddraw_surface7_Unlock(IDirectDrawSurface7 *iface, RECT *pRect)
|
|
+static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface7_Unlock(IDirectDrawSurface7 *iface, RECT *pRect)
|
|
{
|
|
struct ddraw_surface *surface = impl_from_IDirectDrawSurface7(iface);
|
|
HRESULT hr;
|
|
@@ -1169,7 +1169,7 @@ static HRESULT WINAPI ddraw_surface7_Unlock(IDirectDrawSurface7 *iface, RECT *pR
|
|
return hr;
|
|
}
|
|
|
|
-static HRESULT WINAPI ddraw_surface4_Unlock(IDirectDrawSurface4 *iface, RECT *pRect)
|
|
+static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface4_Unlock(IDirectDrawSurface4 *iface, RECT *pRect)
|
|
{
|
|
struct ddraw_surface *surface = impl_from_IDirectDrawSurface4(iface);
|
|
|
|
@@ -1178,7 +1178,7 @@ static HRESULT WINAPI ddraw_surface4_Unlock(IDirectDrawSurface4 *iface, RECT *pR
|
|
return ddraw_surface7_Unlock(&surface->IDirectDrawSurface7_iface, pRect);
|
|
}
|
|
|
|
-static HRESULT WINAPI ddraw_surface3_Unlock(IDirectDrawSurface3 *iface, void *data)
|
|
+static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface3_Unlock(IDirectDrawSurface3 *iface, void *data)
|
|
{
|
|
struct ddraw_surface *surface = impl_from_IDirectDrawSurface3(iface);
|
|
|
|
@@ -1188,7 +1188,7 @@ static HRESULT WINAPI ddraw_surface3_Unlock(IDirectDrawSurface3 *iface, void *da
|
|
return ddraw_surface7_Unlock(&surface->IDirectDrawSurface7_iface, NULL);
|
|
}
|
|
|
|
-static HRESULT WINAPI ddraw_surface2_Unlock(IDirectDrawSurface2 *iface, void *data)
|
|
+static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface2_Unlock(IDirectDrawSurface2 *iface, void *data)
|
|
{
|
|
struct ddraw_surface *surface = impl_from_IDirectDrawSurface2(iface);
|
|
|
|
@@ -1198,7 +1198,7 @@ static HRESULT WINAPI ddraw_surface2_Unlock(IDirectDrawSurface2 *iface, void *da
|
|
return ddraw_surface7_Unlock(&surface->IDirectDrawSurface7_iface, NULL);
|
|
}
|
|
|
|
-static HRESULT WINAPI ddraw_surface1_Unlock(IDirectDrawSurface *iface, void *data)
|
|
+static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface1_Unlock(IDirectDrawSurface *iface, void *data)
|
|
{
|
|
struct ddraw_surface *surface = impl_from_IDirectDrawSurface(iface);
|
|
|
|
@@ -1208,7 +1208,8 @@ static HRESULT WINAPI ddraw_surface1_Unlock(IDirectDrawSurface *iface, void *dat
|
|
return ddraw_surface7_Unlock(&surface->IDirectDrawSurface7_iface, NULL);
|
|
}
|
|
|
|
-static HRESULT WINAPI ddraw_surface7_Flip(IDirectDrawSurface7 *iface, IDirectDrawSurface7 *src, DWORD flags)
|
|
+static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface7_Flip(IDirectDrawSurface7 *iface,
|
|
+ IDirectDrawSurface7 *src, DWORD flags)
|
|
{
|
|
struct ddraw_surface *dst_impl = impl_from_IDirectDrawSurface7(iface);
|
|
struct ddraw_surface *src_impl = unsafe_impl_from_IDirectDrawSurface7(src);
|
|
@@ -1330,7 +1331,8 @@ static HRESULT WINAPI ddraw_surface7_Flip(IDirectDrawSurface7 *iface, IDirectDra
|
|
return hr;
|
|
}
|
|
|
|
-static HRESULT WINAPI ddraw_surface4_Flip(IDirectDrawSurface4 *iface, IDirectDrawSurface4 *dst, DWORD flags)
|
|
+static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface4_Flip(IDirectDrawSurface4 *iface,
|
|
+ IDirectDrawSurface4 *dst, DWORD flags)
|
|
{
|
|
struct ddraw_surface *surface = impl_from_IDirectDrawSurface4(iface);
|
|
struct ddraw_surface *dst_impl = unsafe_impl_from_IDirectDrawSurface4(dst);
|
|
@@ -1341,7 +1343,8 @@ static HRESULT WINAPI ddraw_surface4_Flip(IDirectDrawSurface4 *iface, IDirectDra
|
|
dst_impl ? &dst_impl->IDirectDrawSurface7_iface : NULL, flags);
|
|
}
|
|
|
|
-static HRESULT WINAPI ddraw_surface3_Flip(IDirectDrawSurface3 *iface, IDirectDrawSurface3 *dst, DWORD flags)
|
|
+static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface3_Flip(IDirectDrawSurface3 *iface,
|
|
+ IDirectDrawSurface3 *dst, DWORD flags)
|
|
{
|
|
struct ddraw_surface *surface = impl_from_IDirectDrawSurface3(iface);
|
|
struct ddraw_surface *dst_impl = unsafe_impl_from_IDirectDrawSurface3(dst);
|
|
@@ -1352,7 +1355,8 @@ static HRESULT WINAPI ddraw_surface3_Flip(IDirectDrawSurface3 *iface, IDirectDra
|
|
dst_impl ? &dst_impl->IDirectDrawSurface7_iface : NULL, flags);
|
|
}
|
|
|
|
-static HRESULT WINAPI ddraw_surface2_Flip(IDirectDrawSurface2 *iface, IDirectDrawSurface2 *dst, DWORD flags)
|
|
+static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface2_Flip(IDirectDrawSurface2 *iface,
|
|
+ IDirectDrawSurface2 *dst, DWORD flags)
|
|
{
|
|
struct ddraw_surface *surface = impl_from_IDirectDrawSurface2(iface);
|
|
struct ddraw_surface *dst_impl = unsafe_impl_from_IDirectDrawSurface2(dst);
|
|
@@ -1363,7 +1367,8 @@ static HRESULT WINAPI ddraw_surface2_Flip(IDirectDrawSurface2 *iface, IDirectDra
|
|
dst_impl ? &dst_impl->IDirectDrawSurface7_iface : NULL, flags);
|
|
}
|
|
|
|
-static HRESULT WINAPI ddraw_surface1_Flip(IDirectDrawSurface *iface, IDirectDrawSurface *dst, DWORD flags)
|
|
+static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface1_Flip(IDirectDrawSurface *iface,
|
|
+ IDirectDrawSurface *dst, DWORD flags)
|
|
{
|
|
struct ddraw_surface *surface = impl_from_IDirectDrawSurface(iface);
|
|
struct ddraw_surface *dst_impl = unsafe_impl_from_IDirectDrawSurface(dst);
|
|
@@ -1512,7 +1517,7 @@ static HRESULT ddraw_surface_blt_clipped(struct ddraw_surface *dst_surface, cons
|
|
* See IWineD3DSurface::Blt for more details
|
|
*
|
|
*****************************************************************************/
|
|
-static HRESULT WINAPI ddraw_surface7_Blt(IDirectDrawSurface7 *iface, RECT *DestRect,
|
|
+static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface7_Blt(IDirectDrawSurface7 *iface, RECT *DestRect,
|
|
IDirectDrawSurface7 *SrcSurface, RECT *SrcRect, DWORD Flags, DDBLTFX *DDBltFx)
|
|
{
|
|
struct ddraw_surface *dst_surface = impl_from_IDirectDrawSurface7(iface);
|
|
@@ -1560,7 +1565,7 @@ static HRESULT WINAPI ddraw_surface7_Blt(IDirectDrawSurface7 *iface, RECT *DestR
|
|
}
|
|
}
|
|
|
|
-static HRESULT WINAPI ddraw_surface4_Blt(IDirectDrawSurface4 *iface, RECT *dst_rect,
|
|
+static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface4_Blt(IDirectDrawSurface4 *iface, RECT *dst_rect,
|
|
IDirectDrawSurface4 *src_surface, RECT *src_rect, DWORD flags, DDBLTFX *fx)
|
|
{
|
|
struct ddraw_surface *dst = impl_from_IDirectDrawSurface4(iface);
|
|
@@ -1573,7 +1578,7 @@ static HRESULT WINAPI ddraw_surface4_Blt(IDirectDrawSurface4 *iface, RECT *dst_r
|
|
src ? &src->IDirectDrawSurface7_iface : NULL, src_rect, flags, fx);
|
|
}
|
|
|
|
-static HRESULT WINAPI ddraw_surface3_Blt(IDirectDrawSurface3 *iface, RECT *dst_rect,
|
|
+static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface3_Blt(IDirectDrawSurface3 *iface, RECT *dst_rect,
|
|
IDirectDrawSurface3 *src_surface, RECT *src_rect, DWORD flags, DDBLTFX *fx)
|
|
{
|
|
struct ddraw_surface *dst = impl_from_IDirectDrawSurface3(iface);
|
|
@@ -1586,7 +1591,7 @@ static HRESULT WINAPI ddraw_surface3_Blt(IDirectDrawSurface3 *iface, RECT *dst_r
|
|
src_impl ? &src_impl->IDirectDrawSurface7_iface : NULL, src_rect, flags, fx);
|
|
}
|
|
|
|
-static HRESULT WINAPI ddraw_surface2_Blt(IDirectDrawSurface2 *iface, RECT *dst_rect,
|
|
+static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface2_Blt(IDirectDrawSurface2 *iface, RECT *dst_rect,
|
|
IDirectDrawSurface2 *src_surface, RECT *src_rect, DWORD flags, DDBLTFX *fx)
|
|
{
|
|
struct ddraw_surface *dst = impl_from_IDirectDrawSurface2(iface);
|
|
@@ -1599,7 +1604,7 @@ static HRESULT WINAPI ddraw_surface2_Blt(IDirectDrawSurface2 *iface, RECT *dst_r
|
|
src_impl ? &src_impl->IDirectDrawSurface7_iface : NULL, src_rect, flags, fx);
|
|
}
|
|
|
|
-static HRESULT WINAPI ddraw_surface1_Blt(IDirectDrawSurface *iface, RECT *dst_rect,
|
|
+static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface1_Blt(IDirectDrawSurface *iface, RECT *dst_rect,
|
|
IDirectDrawSurface *src_surface, RECT *src_rect, DWORD flags, DDBLTFX *fx)
|
|
{
|
|
struct ddraw_surface *dst = impl_from_IDirectDrawSurface(iface);
|
|
@@ -2560,7 +2565,7 @@ static HRESULT WINAPI ddraw_surface2_PageUnlock(IDirectDrawSurface2 *iface, DWOR
|
|
* DDERR_UNSUPPORTED
|
|
*
|
|
*****************************************************************************/
|
|
-static HRESULT WINAPI ddraw_surface7_BltBatch(IDirectDrawSurface7 *iface, DDBLTBATCH *Batch, DWORD Count, DWORD Flags)
|
|
+static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface7_BltBatch(IDirectDrawSurface7 *iface, DDBLTBATCH *Batch, DWORD Count, DWORD Flags)
|
|
{
|
|
TRACE("iface %p, batch %p, count %u, flags %#x.\n", iface, Batch, Count, Flags);
|
|
|
|
@@ -2568,7 +2573,7 @@ static HRESULT WINAPI ddraw_surface7_BltBatch(IDirectDrawSurface7 *iface, DDBLTB
|
|
return DDERR_UNSUPPORTED;
|
|
}
|
|
|
|
-static HRESULT WINAPI ddraw_surface4_BltBatch(IDirectDrawSurface4 *iface, DDBLTBATCH *batch, DWORD count, DWORD flags)
|
|
+static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface4_BltBatch(IDirectDrawSurface4 *iface, DDBLTBATCH *batch, DWORD count, DWORD flags)
|
|
{
|
|
struct ddraw_surface *surface = impl_from_IDirectDrawSurface4(iface);
|
|
|
|
@@ -2577,7 +2582,7 @@ static HRESULT WINAPI ddraw_surface4_BltBatch(IDirectDrawSurface4 *iface, DDBLTB
|
|
return ddraw_surface7_BltBatch(&surface->IDirectDrawSurface7_iface, batch, count, flags);
|
|
}
|
|
|
|
-static HRESULT WINAPI ddraw_surface3_BltBatch(IDirectDrawSurface3 *iface, DDBLTBATCH *batch, DWORD count, DWORD flags)
|
|
+static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface3_BltBatch(IDirectDrawSurface3 *iface, DDBLTBATCH *batch, DWORD count, DWORD flags)
|
|
{
|
|
struct ddraw_surface *surface = impl_from_IDirectDrawSurface3(iface);
|
|
|
|
@@ -2586,7 +2591,7 @@ static HRESULT WINAPI ddraw_surface3_BltBatch(IDirectDrawSurface3 *iface, DDBLTB
|
|
return ddraw_surface7_BltBatch(&surface->IDirectDrawSurface7_iface, batch, count, flags);
|
|
}
|
|
|
|
-static HRESULT WINAPI ddraw_surface2_BltBatch(IDirectDrawSurface2 *iface, DDBLTBATCH *batch, DWORD count, DWORD flags)
|
|
+static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface2_BltBatch(IDirectDrawSurface2 *iface, DDBLTBATCH *batch, DWORD count, DWORD flags)
|
|
{
|
|
struct ddraw_surface *surface = impl_from_IDirectDrawSurface2(iface);
|
|
|
|
@@ -2595,7 +2600,7 @@ static HRESULT WINAPI ddraw_surface2_BltBatch(IDirectDrawSurface2 *iface, DDBLTB
|
|
return ddraw_surface7_BltBatch(&surface->IDirectDrawSurface7_iface, batch, count, flags);
|
|
}
|
|
|
|
-static HRESULT WINAPI ddraw_surface1_BltBatch(IDirectDrawSurface *iface, DDBLTBATCH *batch, DWORD count, DWORD flags)
|
|
+static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface1_BltBatch(IDirectDrawSurface *iface, DDBLTBATCH *batch, DWORD count, DWORD flags)
|
|
{
|
|
struct ddraw_surface *surface = impl_from_IDirectDrawSurface(iface);
|
|
|
|
@@ -4042,7 +4047,7 @@ static HRESULT WINAPI ddraw_surface7_GetLOD(IDirectDrawSurface7 *iface, DWORD *M
|
|
* For more details, see IWineD3DSurface::BltFast
|
|
*
|
|
*****************************************************************************/
|
|
-static HRESULT WINAPI ddraw_surface7_BltFast(IDirectDrawSurface7 *iface, DWORD dstx, DWORD dsty,
|
|
+static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface7_BltFast(IDirectDrawSurface7 *iface, DWORD dstx, DWORD dsty,
|
|
IDirectDrawSurface7 *Source, RECT *rsrc, DWORD trans)
|
|
{
|
|
struct ddraw_surface *This = impl_from_IDirectDrawSurface7(iface);
|
|
@@ -4114,7 +4119,7 @@ static HRESULT WINAPI ddraw_surface7_BltFast(IDirectDrawSurface7 *iface, DWORD d
|
|
}
|
|
}
|
|
|
|
-static HRESULT WINAPI ddraw_surface4_BltFast(IDirectDrawSurface4 *iface, DWORD dst_x, DWORD dst_y,
|
|
+static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface4_BltFast(IDirectDrawSurface4 *iface, DWORD dst_x, DWORD dst_y,
|
|
IDirectDrawSurface4 *src_surface, RECT *src_rect, DWORD flags)
|
|
{
|
|
struct ddraw_surface *dst_impl = impl_from_IDirectDrawSurface4(iface);
|
|
@@ -4127,7 +4132,7 @@ static HRESULT WINAPI ddraw_surface4_BltFast(IDirectDrawSurface4 *iface, DWORD d
|
|
src_impl ? &src_impl->IDirectDrawSurface7_iface : NULL, src_rect, flags);
|
|
}
|
|
|
|
-static HRESULT WINAPI ddraw_surface3_BltFast(IDirectDrawSurface3 *iface, DWORD dst_x, DWORD dst_y,
|
|
+static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface3_BltFast(IDirectDrawSurface3 *iface, DWORD dst_x, DWORD dst_y,
|
|
IDirectDrawSurface3 *src_surface, RECT *src_rect, DWORD flags)
|
|
{
|
|
struct ddraw_surface *dst_impl = impl_from_IDirectDrawSurface3(iface);
|
|
@@ -4140,7 +4145,7 @@ static HRESULT WINAPI ddraw_surface3_BltFast(IDirectDrawSurface3 *iface, DWORD d
|
|
src_impl ? &src_impl->IDirectDrawSurface7_iface : NULL, src_rect, flags);
|
|
}
|
|
|
|
-static HRESULT WINAPI ddraw_surface2_BltFast(IDirectDrawSurface2 *iface, DWORD dst_x, DWORD dst_y,
|
|
+static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface2_BltFast(IDirectDrawSurface2 *iface, DWORD dst_x, DWORD dst_y,
|
|
IDirectDrawSurface2 *src_surface, RECT *src_rect, DWORD flags)
|
|
{
|
|
struct ddraw_surface *dst_impl = impl_from_IDirectDrawSurface2(iface);
|
|
@@ -4153,7 +4158,7 @@ static HRESULT WINAPI ddraw_surface2_BltFast(IDirectDrawSurface2 *iface, DWORD d
|
|
src_impl ? &src_impl->IDirectDrawSurface7_iface : NULL, src_rect, flags);
|
|
}
|
|
|
|
-static HRESULT WINAPI ddraw_surface1_BltFast(IDirectDrawSurface *iface, DWORD dst_x, DWORD dst_y,
|
|
+static HRESULT WINAPI DECLSPEC_HOTPATCH ddraw_surface1_BltFast(IDirectDrawSurface *iface, DWORD dst_x, DWORD dst_y,
|
|
IDirectDrawSurface *src_surface, RECT *src_rect, DWORD flags)
|
|
{
|
|
struct ddraw_surface *dst_impl = impl_from_IDirectDrawSurface(iface);
|
|
--
|
|
2.3.0
|
|
|