mirror of
https://github.com/narzoul/DDrawCompat
synced 2024-12-30 08:55:36 +01:00
Hooked the IDirectDrawGammaControl interface
This commit is contained in:
parent
5c91706b03
commit
4b02a40bc9
@ -40,6 +40,7 @@ namespace Compat
|
|||||||
DEFINE_BASE_INTF(IDirectDrawSurface3, IDirectDrawSurface);
|
DEFINE_BASE_INTF(IDirectDrawSurface3, IDirectDrawSurface);
|
||||||
DEFINE_BASE_INTF(IDirectDrawSurface4, IDirectDrawSurface);
|
DEFINE_BASE_INTF(IDirectDrawSurface4, IDirectDrawSurface);
|
||||||
DEFINE_BASE_INTF(IDirectDrawSurface7, IDirectDrawSurface);
|
DEFINE_BASE_INTF(IDirectDrawSurface7, IDirectDrawSurface);
|
||||||
|
DEFINE_BASE_INTF(IDirectDrawGammaControl, IDirectDrawSurface);
|
||||||
|
|
||||||
DEFINE_BASE_INTF(IDirect3D, IDirectDraw);
|
DEFINE_BASE_INTF(IDirect3D, IDirectDraw);
|
||||||
DEFINE_BASE_INTF(IDirect3D2, IDirectDraw);
|
DEFINE_BASE_INTF(IDirect3D2, IDirectDraw);
|
||||||
|
8
DDrawCompat/DDraw/DirectDrawGammaControl.cpp
Normal file
8
DDrawCompat/DDraw/DirectDrawGammaControl.cpp
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#include "DDraw/DirectDrawGammaControl.h"
|
||||||
|
|
||||||
|
namespace DDraw
|
||||||
|
{
|
||||||
|
void DirectDrawGammaControl::setCompatVtable(IDirectDrawGammaControlVtbl& /*vtable*/)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
15
DDrawCompat/DDraw/DirectDrawGammaControl.h
Normal file
15
DDrawCompat/DDraw/DirectDrawGammaControl.h
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "Common/CompatVtable.h"
|
||||||
|
#include "DDraw/Visitors/DirectDrawGammaControlVtblVisitor.h"
|
||||||
|
|
||||||
|
namespace DDraw
|
||||||
|
{
|
||||||
|
class DirectDrawGammaControl : public CompatVtable<IDirectDrawGammaControlVtbl>
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
static void setCompatVtable(IDirectDrawGammaControlVtbl& vtable);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
SET_COMPAT_VTABLE(IDirectDrawGammaControlVtbl, DDraw::DirectDrawGammaControl);
|
@ -8,6 +8,7 @@
|
|||||||
#include "DDraw/ActivateAppHandler.h"
|
#include "DDraw/ActivateAppHandler.h"
|
||||||
#include "DDraw/DirectDraw.h"
|
#include "DDraw/DirectDraw.h"
|
||||||
#include "DDraw/DirectDrawClipper.h"
|
#include "DDraw/DirectDrawClipper.h"
|
||||||
|
#include "DDraw/DirectDrawGammaControl.h"
|
||||||
#include "DDraw/DirectDrawPalette.h"
|
#include "DDraw/DirectDrawPalette.h"
|
||||||
#include "DDraw/DirectDrawSurface.h"
|
#include "DDraw/DirectDrawSurface.h"
|
||||||
#include "DDraw/Hooks.h"
|
#include "DDraw/Hooks.h"
|
||||||
@ -81,6 +82,7 @@ namespace
|
|||||||
hookVtable<IDirectDrawSurface3>(surface);
|
hookVtable<IDirectDrawSurface3>(surface);
|
||||||
hookVtable<IDirectDrawSurface4>(surface);
|
hookVtable<IDirectDrawSurface4>(surface);
|
||||||
hookVtable<IDirectDrawSurface7>(surface);
|
hookVtable<IDirectDrawSurface7>(surface);
|
||||||
|
hookVtable<IDirectDrawGammaControl>(surface);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -91,7 +93,10 @@ namespace
|
|||||||
template <typename Interface>
|
template <typename Interface>
|
||||||
void hookVtable(const CompatPtr<Interface>& intf)
|
void hookVtable(const CompatPtr<Interface>& intf)
|
||||||
{
|
{
|
||||||
CompatVtable<Vtable<Interface>>::hookVtable(intf.get()->lpVtbl);
|
if (intf)
|
||||||
|
{
|
||||||
|
CompatVtable<Vtable<Interface>>::hookVtable(intf.get()->lpVtbl);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -0,0 +1,16 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "Common/VtableVisitor.h"
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct VtableForEach<IDirectDrawGammaControlVtbl>
|
||||||
|
{
|
||||||
|
template <typename Vtable, typename Visitor>
|
||||||
|
static void forEach(Visitor& visitor)
|
||||||
|
{
|
||||||
|
VtableForEach<IUnknownVtbl>::forEach<Vtable>(visitor);
|
||||||
|
|
||||||
|
DD_VISIT(GetGammaRamp);
|
||||||
|
DD_VISIT(SetGammaRamp);
|
||||||
|
}
|
||||||
|
};
|
@ -183,6 +183,7 @@
|
|||||||
<ClInclude Include="DDraw\ActivateAppHandler.h" />
|
<ClInclude Include="DDraw\ActivateAppHandler.h" />
|
||||||
<ClInclude Include="DDraw\DirectDraw.h" />
|
<ClInclude Include="DDraw\DirectDraw.h" />
|
||||||
<ClInclude Include="DDraw\DirectDrawClipper.h" />
|
<ClInclude Include="DDraw\DirectDrawClipper.h" />
|
||||||
|
<ClInclude Include="DDraw\DirectDrawGammaControl.h" />
|
||||||
<ClInclude Include="DDraw\DirectDrawPalette.h" />
|
<ClInclude Include="DDraw\DirectDrawPalette.h" />
|
||||||
<ClInclude Include="DDraw\DirectDrawSurface.h" />
|
<ClInclude Include="DDraw\DirectDrawSurface.h" />
|
||||||
<ClInclude Include="DDraw\Hooks.h" />
|
<ClInclude Include="DDraw\Hooks.h" />
|
||||||
@ -197,6 +198,7 @@
|
|||||||
<ClInclude Include="DDraw\IReleaseNotifier.h" />
|
<ClInclude Include="DDraw\IReleaseNotifier.h" />
|
||||||
<ClInclude Include="DDraw\RealPrimarySurface.h" />
|
<ClInclude Include="DDraw\RealPrimarySurface.h" />
|
||||||
<ClInclude Include="DDraw\Visitors\DirectDrawClipperVtblVisitor.h" />
|
<ClInclude Include="DDraw\Visitors\DirectDrawClipperVtblVisitor.h" />
|
||||||
|
<ClInclude Include="DDraw\Visitors\DirectDrawGammaControlVtblVisitor.h" />
|
||||||
<ClInclude Include="DDraw\Visitors\DirectDrawPaletteVtblVisitor.h" />
|
<ClInclude Include="DDraw\Visitors\DirectDrawPaletteVtblVisitor.h" />
|
||||||
<ClInclude Include="DDraw\Visitors\DirectDrawSurfaceVtblVisitor.h" />
|
<ClInclude Include="DDraw\Visitors\DirectDrawSurfaceVtblVisitor.h" />
|
||||||
<ClInclude Include="DDraw\Visitors\DirectDrawVtblVisitor.h" />
|
<ClInclude Include="DDraw\Visitors\DirectDrawVtblVisitor.h" />
|
||||||
@ -248,6 +250,7 @@
|
|||||||
<ClCompile Include="DDraw\ActivateAppHandler.cpp" />
|
<ClCompile Include="DDraw\ActivateAppHandler.cpp" />
|
||||||
<ClCompile Include="DDraw\DirectDraw.cpp" />
|
<ClCompile Include="DDraw\DirectDraw.cpp" />
|
||||||
<ClCompile Include="DDraw\DirectDrawClipper.cpp" />
|
<ClCompile Include="DDraw\DirectDrawClipper.cpp" />
|
||||||
|
<ClCompile Include="DDraw\DirectDrawGammaControl.cpp" />
|
||||||
<ClCompile Include="DDraw\DirectDrawPalette.cpp" />
|
<ClCompile Include="DDraw\DirectDrawPalette.cpp" />
|
||||||
<ClCompile Include="DDraw\DirectDrawSurface.cpp" />
|
<ClCompile Include="DDraw\DirectDrawSurface.cpp" />
|
||||||
<ClCompile Include="DDraw\Hooks.cpp" />
|
<ClCompile Include="DDraw\Hooks.cpp" />
|
||||||
|
@ -306,6 +306,12 @@
|
|||||||
<ClInclude Include="Win32\DisplayMode.h">
|
<ClInclude Include="Win32\DisplayMode.h">
|
||||||
<Filter>Header Files\Win32</Filter>
|
<Filter>Header Files\Win32</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="DDraw\Visitors\DirectDrawGammaControlVtblVisitor.h">
|
||||||
|
<Filter>Header Files\DDraw\Visitors</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="DDraw\DirectDrawGammaControl.h">
|
||||||
|
<Filter>Header Files\DDraw</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="Gdi\Gdi.cpp">
|
<ClCompile Include="Gdi\Gdi.cpp">
|
||||||
@ -467,6 +473,9 @@
|
|||||||
<ClCompile Include="Win32\DisplayMode.cpp">
|
<ClCompile Include="Win32\DisplayMode.cpp">
|
||||||
<Filter>Source Files\Win32</Filter>
|
<Filter>Source Files\Win32</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="DDraw\DirectDrawGammaControl.cpp">
|
||||||
|
<Filter>Source Files\DDraw</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="Dll\DDrawCompat.def">
|
<None Include="Dll\DDrawCompat.def">
|
||||||
|
Loading…
x
Reference in New Issue
Block a user