1
0
mirror of https://github.com/FunkyFr3sh/cnc-ddraw.git synced 2025-03-14 22:03:27 +01:00

use older version of structs by default and cast to newer ones if needed

This commit is contained in:
FunkyFr3sh 2021-06-14 09:57:26 +02:00
parent 76b384e0cd
commit f29f712016
17 changed files with 5916 additions and 51 deletions

View File

@ -3,7 +3,7 @@
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <ddraw.h>
#include "ddraw.h"
struct IDirectDrawImpl;

View File

@ -3,7 +3,7 @@
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <ddraw.h>
#include "ddraw.h"
struct IDirectDrawClipperImpl;

View File

@ -3,7 +3,7 @@
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <ddraw.h>
#include "ddraw.h"
struct IDirectDrawGammaControlImpl;

View File

@ -3,7 +3,7 @@
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <ddraw.h>
#include "ddraw.h"
struct IDirectDrawPaletteImpl;

View File

@ -3,7 +3,7 @@
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <ddraw.h>
#include "ddraw.h"
#include "IDirectDrawPalette.h"
#include "IDirectDrawClipper.h"
#include "IDirectDraw.h"

View File

@ -3,23 +3,22 @@
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <ddraw.h>
#include "ddraw.h"
typedef HRESULT(WINAPI* DIRECTDRAWCREATEPROC)(GUID FAR*, LPDIRECTDRAW FAR*, IUnknown FAR*);
ULONG dd_AddRef();
ULONG dd_Release();
HRESULT dd_EnumDisplayModes(DWORD dwFlags, LPDDSURFACEDESC2 lpDDSurfaceDesc, LPVOID lpContext, LPDDENUMMODESCALLBACK2 lpEnumModesCallback);
HRESULT dd_EnumDisplayModes(DWORD dwFlags, LPDDSURFACEDESC lpDDSurfaceDesc, LPVOID lpContext, LPDDENUMMODESCALLBACK lpEnumModesCallback);
HRESULT dd_WaitForVerticalBlank(DWORD dwFlags, HANDLE hEvent);
HRESULT dd_SetDisplayMode(DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, BOOL setByGame);
HRESULT dd_SetCooperativeLevel(HWND hwnd, DWORD dwFlags);
HRESULT dd_RestoreDisplayMode();
HRESULT dd_GetCaps(LPDDCAPS lpDDDriverCaps, LPDDCAPS lpDDEmulCaps);
HRESULT dd_GetCaps(LPDDCAPS_DX1 lpDDDriverCaps, LPDDCAPS_DX1 lpDDEmulCaps);
HRESULT dd_GetDisplayMode(LPDDSURFACEDESC2 lpDDSurfaceDesc);
HRESULT dd_GetDisplayMode(LPDDSURFACEDESC lpDDSurfaceDesc);
HRESULT dd_GetMonitorFrequency(LPDWORD lpdwFreq);
HRESULT dd_GetAvailableVidMem(LPDDSCAPS2 lpDDCaps, LPDWORD lpdwTotal, LPDWORD lpdwFree);
HRESULT dd_GetAvailableVidMem(LPDDSCAPS lpDDCaps, LPDWORD lpdwTotal, LPDWORD lpdwFree);
HRESULT dd_GetVerticalBlankStatus(LPBOOL lpbIsInVB);
HRESULT dd_CreateEx(GUID* lpGuid, LPVOID* lplpDD, REFIID iid, IUnknown* pUnkOuter);

View File

@ -3,7 +3,7 @@
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <ddraw.h>
#include "ddraw.h"
#include "IDirectDrawClipper.h"

View File

@ -3,7 +3,7 @@
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <ddraw.h>
#include "ddraw.h"
#include "IDirectDrawPalette.h"
#include "dd.h"

5856
inc/ddraw.h Normal file

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,7 @@
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <ddraw.h>
#include "ddraw.h"
#include "IDirectDrawSurface.h"
#include "IDirectDraw.h"
@ -14,17 +14,17 @@ HRESULT dds_AddAttachedSurface(IDirectDrawSurfaceImpl* This, IDirectDrawSurfaceI
HRESULT dds_Blt(IDirectDrawSurfaceImpl* This, LPRECT lpDestRect, IDirectDrawSurfaceImpl* lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwFlags, LPDDBLTFX lpDDBltFx);
HRESULT dds_BltFast(IDirectDrawSurfaceImpl* This, DWORD dwX, DWORD dwY, IDirectDrawSurfaceImpl* lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwFlags);
HRESULT dds_DeleteAttachedSurface(IDirectDrawSurfaceImpl* This, DWORD dwFlags, IDirectDrawSurfaceImpl* lpDDSurface);
HRESULT dds_EnumAttachedSurfaces(IDirectDrawSurfaceImpl* This, LPVOID lpContext, LPDDENUMSURFACESCALLBACK7 lpEnumSurfacesCallback);
HRESULT dds_EnumAttachedSurfaces(IDirectDrawSurfaceImpl* This, LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpEnumSurfacesCallback);
HRESULT dds_Flip(IDirectDrawSurfaceImpl* This, IDirectDrawSurfaceImpl* lpDDSurfaceTargetOverride, DWORD dwFlags);
HRESULT dds_GetAttachedSurface(IDirectDrawSurfaceImpl* This, LPDDSCAPS2 lpDdsCaps, IDirectDrawSurfaceImpl** lpDDsurface);
HRESULT dds_GetCaps(IDirectDrawSurfaceImpl* This, LPDDSCAPS2 lpDDSCaps);
HRESULT dds_GetAttachedSurface(IDirectDrawSurfaceImpl* This, LPDDSCAPS lpDdsCaps, IDirectDrawSurfaceImpl** lpDDsurface);
HRESULT dds_GetCaps(IDirectDrawSurfaceImpl* This, LPDDSCAPS lpDDSCaps);
HRESULT dds_GetClipper(IDirectDrawSurfaceImpl* This, IDirectDrawClipperImpl** lpClipper);
HRESULT dds_GetColorKey(IDirectDrawSurfaceImpl* This, DWORD dwFlags, LPDDCOLORKEY lpColorKey);
HRESULT dds_GetDC(IDirectDrawSurfaceImpl* This, HDC FAR* lpHDC);
HRESULT dds_GetPalette(IDirectDrawSurfaceImpl* This, IDirectDrawPaletteImpl** lplpDDPalette);
HRESULT dds_GetPixelFormat(IDirectDrawSurfaceImpl* This, LPDDPIXELFORMAT ddpfPixelFormat);
HRESULT dds_GetSurfaceDesc(IDirectDrawSurfaceImpl* This, LPDDSURFACEDESC2 lpDDSurfaceDesc);
HRESULT dds_Lock(IDirectDrawSurfaceImpl* This, LPRECT lpDestRect, LPDDSURFACEDESC2 lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent);
HRESULT dds_GetSurfaceDesc(IDirectDrawSurfaceImpl* This, LPDDSURFACEDESC lpDDSurfaceDesc);
HRESULT dds_Lock(IDirectDrawSurfaceImpl* This, LPRECT lpDestRect, LPDDSURFACEDESC lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent);
HRESULT dds_ReleaseDC(IDirectDrawSurfaceImpl* This, HDC hDC);
HRESULT dds_SetClipper(IDirectDrawSurfaceImpl* This, IDirectDrawClipperImpl* lpClipper);
HRESULT dds_SetColorKey(IDirectDrawSurfaceImpl* This, DWORD dwFlags, LPDDCOLORKEY lpColorKey);
@ -32,7 +32,7 @@ HRESULT dds_SetPalette(IDirectDrawSurfaceImpl* This, IDirectDrawPaletteImpl* lpD
HRESULT dds_Unlock(IDirectDrawSurfaceImpl* This, LPRECT lpRect);
HRESULT dds_GetDDInterface(IDirectDrawSurfaceImpl* This, LPVOID* lplpDD);
void* dds_GetBuffer(IDirectDrawSurfaceImpl* This);
HRESULT dd_CreateSurface(IDirectDrawImpl* This, LPDDSURFACEDESC2 lpDDSurfaceDesc, IDirectDrawSurfaceImpl** lpDDSurface, IUnknown FAR* unkOuter);
HRESULT dd_CreateSurface(IDirectDrawImpl* This, LPDDSURFACEDESC lpDDSurfaceDesc, IDirectDrawSurfaceImpl** lpDDSurface, IUnknown FAR* unkOuter);
#endif

View File

@ -240,7 +240,12 @@ HRESULT __stdcall IDirectDraw__CreateSurface(
lpDDSurface,
unkOuter);
HRESULT ret = dd_CreateSurface(This, lpDDSurfaceDesc, (IDirectDrawSurfaceImpl**)lpDDSurface, unkOuter);
HRESULT ret =
dd_CreateSurface(
This,
(LPDDSURFACEDESC)lpDDSurfaceDesc,
(IDirectDrawSurfaceImpl**)lpDDSurface,
unkOuter);
TRACE("<- %s\n", __FUNCTION__);
return ret;
@ -273,7 +278,12 @@ HRESULT __stdcall IDirectDraw__EnumDisplayModes(
lpContext,
lpEnumModesCallback);
HRESULT ret = dd_EnumDisplayModes(dwFlags, lpDDSurfaceDesc, lpContext, lpEnumModesCallback);
HRESULT ret =
dd_EnumDisplayModes(
dwFlags,
(LPDDSURFACEDESC)lpDDSurfaceDesc,
lpContext,
(LPDDENUMMODESCALLBACK)lpEnumModesCallback);
TRACE("<- %s\n", __FUNCTION__);
return ret;
@ -311,7 +321,7 @@ HRESULT __stdcall IDirectDraw__GetCaps(IDirectDrawImpl* This, LPDDCAPS lpDDDrive
HRESULT __stdcall IDirectDraw__GetDisplayMode(IDirectDrawImpl* This, LPDDSURFACEDESC2 lpDDSurfaceDesc)
{
TRACE("-> %s(This=%p)\n", __FUNCTION__, This);
HRESULT ret = dd_GetDisplayMode(lpDDSurfaceDesc);
HRESULT ret = dd_GetDisplayMode((LPDDSURFACEDESC)lpDDSurfaceDesc);
TRACE("<- %s\n", __FUNCTION__);
return ret;
}
@ -434,7 +444,7 @@ HRESULT __stdcall IDirectDraw__GetAvailableVidMem(
lpdwTotal,
lpdwFree);
HRESULT ret = dd_GetAvailableVidMem(lpDDCaps, lpdwTotal, lpdwFree);
HRESULT ret = dd_GetAvailableVidMem((LPDDSCAPS)lpDDCaps, lpdwTotal, lpdwFree);
TRACE("<- %s\n", __FUNCTION__);
return ret;

View File

@ -213,7 +213,7 @@ HRESULT __stdcall IDirectDrawSurface__EnumAttachedSurfaces(
lpContext,
lpEnumSurfacesCallback);
HRESULT ret = dds_EnumAttachedSurfaces(This, lpContext, lpEnumSurfacesCallback);
HRESULT ret = dds_EnumAttachedSurfaces(This, lpContext, (LPDDENUMSURFACESCALLBACK)lpEnumSurfacesCallback);
TRACE("<- %s\n", __FUNCTION__);
return ret;
@ -255,7 +255,7 @@ HRESULT __stdcall IDirectDrawSurface__GetAttachedSurface(
LPDIRECTDRAWSURFACE7 FAR* lpDDsurface)
{
TRACE("-> %s(This=%p, dwCaps=%08X, lpDDsurface=%p)\n", __FUNCTION__, This, lpDdsCaps->dwCaps, lpDDsurface);
HRESULT ret = dds_GetAttachedSurface(This, lpDdsCaps, (IDirectDrawSurfaceImpl**)lpDDsurface);
HRESULT ret = dds_GetAttachedSurface(This, (LPDDSCAPS)lpDdsCaps, (IDirectDrawSurfaceImpl**)lpDDsurface);
TRACE("<- %s\n", __FUNCTION__);
return ret;
}
@ -271,7 +271,7 @@ HRESULT __stdcall IDirectDrawSurface__GetBltStatus(IDirectDrawSurfaceImpl* This,
HRESULT __stdcall IDirectDrawSurface__GetCaps(IDirectDrawSurfaceImpl* This, LPDDSCAPS2 lpDDSCaps)
{
TRACE("-> %s(This=%p, lpDDSCaps=%p)\n", __FUNCTION__, This, lpDDSCaps);
HRESULT ret = dds_GetCaps(This, lpDDSCaps);
HRESULT ret = dds_GetCaps(This, (LPDDSCAPS)lpDDSCaps);
TRACE("<- %s\n", __FUNCTION__);
return ret;
}
@ -335,7 +335,7 @@ HRESULT __stdcall IDirectDrawSurface__GetPixelFormat(IDirectDrawSurfaceImpl* Thi
HRESULT __stdcall IDirectDrawSurface__GetSurfaceDesc(IDirectDrawSurfaceImpl* This, LPDDSURFACEDESC2 lpDDSurfaceDesc)
{
TRACE_EXT("-> %s(This=%p, lpDDSurfaceDesc=%p)\n", __FUNCTION__, This, lpDDSurfaceDesc);
HRESULT ret = dds_GetSurfaceDesc(This, lpDDSurfaceDesc);
HRESULT ret = dds_GetSurfaceDesc(This, (LPDDSURFACEDESC)lpDDSurfaceDesc);
TRACE_EXT("<- %s\n", __FUNCTION__);
return ret;
}
@ -375,7 +375,7 @@ HRESULT __stdcall IDirectDrawSurface__Lock(
dwFlags,
hEvent);
HRESULT ret = dds_Lock(This, lpDestRect, lpDDSurfaceDesc, dwFlags, hEvent);
HRESULT ret = dds_Lock(This, lpDestRect, (LPDDSURFACEDESC)lpDDSurfaceDesc, dwFlags, hEvent);
TRACE_EXT("<- %s\n", __FUNCTION__);
return ret;

View File

@ -1,5 +1,5 @@
#include <windows.h>
#include <ddraw.h>
#include "ddraw.h"
#include "IDirectDraw.h"
#include "dd.h"
#include "hook.h"
@ -18,9 +18,9 @@ CNCDDRAW* g_ddraw = NULL;
HRESULT dd_EnumDisplayModes(
DWORD dwFlags,
LPDDSURFACEDESC2 lpDDSurfaceDesc,
LPDDSURFACEDESC lpDDSurfaceDesc,
LPVOID lpContext,
LPDDENUMMODESCALLBACK2 lpEnumModesCallback)
LPDDENUMMODESCALLBACK lpEnumModesCallback)
{
DWORD i = 0;
DDSURFACEDESC2 s;
@ -109,7 +109,7 @@ HRESULT dd_EnumDisplayModes(
if (g_ddraw->bpp == 8 || g_ddraw->resolutions == RESLIST_FULL)
{
if (lpEnumModesCallback(&s, lpContext) == DDENUMRET_CANCEL)
if (lpEnumModesCallback((LPDDSURFACEDESC)&s, lpContext) == DDENUMRET_CANCEL)
{
TRACE(" DDENUMRET_CANCEL returned, stopping\n");
return DD_OK;
@ -125,7 +125,7 @@ HRESULT dd_EnumDisplayModes(
if (g_ddraw->bpp == 16 || g_ddraw->resolutions == RESLIST_FULL)
{
if (lpEnumModesCallback(&s, lpContext) == DDENUMRET_CANCEL)
if (lpEnumModesCallback((LPDDSURFACEDESC)&s, lpContext) == DDENUMRET_CANCEL)
{
TRACE(" DDENUMRET_CANCEL returned, stopping\n");
return DD_OK;
@ -141,7 +141,7 @@ HRESULT dd_EnumDisplayModes(
if (g_ddraw->bpp == 32 || g_ddraw->resolutions == RESLIST_FULL)
{
if (lpEnumModesCallback(&s, lpContext) == DDENUMRET_CANCEL)
if (lpEnumModesCallback((LPDDSURFACEDESC)&s, lpContext) == DDENUMRET_CANCEL)
{
TRACE(" DDENUMRET_CANCEL returned, stopping\n");
return DD_OK;
@ -209,7 +209,7 @@ HRESULT dd_EnumDisplayModes(
s.ddpfPixelFormat.dwFlags = DDPF_PALETTEINDEXED8 | DDPF_RGB;
s.ddpfPixelFormat.dwRGBBitCount = 8;
if (lpEnumModesCallback(&s, lpContext) == DDENUMRET_CANCEL)
if (lpEnumModesCallback((LPDDSURFACEDESC)&s, lpContext) == DDENUMRET_CANCEL)
{
TRACE(" DDENUMRET_CANCEL returned, stopping\n");
return DD_OK;
@ -222,7 +222,7 @@ HRESULT dd_EnumDisplayModes(
s.ddpfPixelFormat.dwGBitMask = 0x07E0;
s.ddpfPixelFormat.dwBBitMask = 0x001F;
if (lpEnumModesCallback(&s, lpContext) == DDENUMRET_CANCEL)
if (lpEnumModesCallback((LPDDSURFACEDESC)&s, lpContext) == DDENUMRET_CANCEL)
{
TRACE(" DDENUMRET_CANCEL returned, stopping\n");
return DD_OK;
@ -238,7 +238,7 @@ HRESULT dd_EnumDisplayModes(
s.ddpfPixelFormat.dwGBitMask = 0x00FF00;
s.ddpfPixelFormat.dwBBitMask = 0x0000FF;
if (lpEnumModesCallback(&s, lpContext) == DDENUMRET_CANCEL)
if (lpEnumModesCallback((LPDDSURFACEDESC)&s, lpContext) == DDENUMRET_CANCEL)
{
TRACE(" DDENUMRET_CANCEL returned, stopping\n");
return DD_OK;
@ -302,7 +302,7 @@ HRESULT dd_GetCaps(LPDDCAPS_DX1 lpDDDriverCaps, LPDDCAPS_DX1 lpDDEmulCaps)
return DD_OK;
}
HRESULT dd_GetDisplayMode(LPDDSURFACEDESC2 lpDDSurfaceDesc)
HRESULT dd_GetDisplayMode(LPDDSURFACEDESC lpDDSurfaceDesc)
{
if (lpDDSurfaceDesc)
{
@ -1015,7 +1015,7 @@ ULONG dd_Release()
return g_ddraw->ref;
}
HRESULT dd_GetAvailableVidMem(LPDDSCAPS2 lpDDCaps, LPDWORD lpdwTotal, LPDWORD lpdwFree)
HRESULT dd_GetAvailableVidMem(LPDDSCAPS lpDDCaps, LPDWORD lpdwTotal, LPDWORD lpdwFree)
{
*lpdwTotal = 16777216;
*lpdwFree = 16777216;

View File

@ -811,7 +811,7 @@ HRESULT dds_DeleteAttachedSurface(IDirectDrawSurfaceImpl* This, DWORD dwFlags, I
return DD_OK;
}
HRESULT dds_GetSurfaceDesc(IDirectDrawSurfaceImpl* This, LPDDSURFACEDESC2 lpDDSurfaceDesc)
HRESULT dds_GetSurfaceDesc(IDirectDrawSurfaceImpl* This, LPDDSURFACEDESC lpDDSurfaceDesc)
{
if (lpDDSurfaceDesc)
{
@ -859,7 +859,7 @@ HRESULT dds_GetSurfaceDesc(IDirectDrawSurfaceImpl* This, LPDDSURFACEDESC2 lpDDSu
HRESULT dds_EnumAttachedSurfaces(
IDirectDrawSurfaceImpl* This,
LPVOID lpContext,
LPDDENUMSURFACESCALLBACK7 lpEnumSurfacesCallback)
LPDDENUMSURFACESCALLBACK lpEnumSurfacesCallback)
{
static DDSURFACEDESC2 desc;
@ -867,9 +867,9 @@ HRESULT dds_EnumAttachedSurfaces(
if (This->backbuffer)
{
dds_GetSurfaceDesc(This->backbuffer, &desc);
dds_GetSurfaceDesc(This->backbuffer, (LPDDSURFACEDESC)&desc);
IDirectDrawSurface_AddRef(This->backbuffer);
lpEnumSurfacesCallback((LPDIRECTDRAWSURFACE7)This->backbuffer, &desc, lpContext);
lpEnumSurfacesCallback((LPDIRECTDRAWSURFACE)This->backbuffer, (LPDDSURFACEDESC)&desc, lpContext);
}
return DD_OK;
@ -920,7 +920,7 @@ HRESULT dds_Flip(IDirectDrawSurfaceImpl* This, IDirectDrawSurfaceImpl* lpDDSurfa
return DD_OK;
}
HRESULT dds_GetAttachedSurface(IDirectDrawSurfaceImpl* This, LPDDSCAPS2 lpDdsCaps, IDirectDrawSurfaceImpl** lpDDsurface)
HRESULT dds_GetAttachedSurface(IDirectDrawSurfaceImpl* This, LPDDSCAPS lpDdsCaps, IDirectDrawSurfaceImpl** lpDDsurface)
{
if ((This->caps & DDSCAPS_PRIMARYSURFACE) && (This->caps & DDSCAPS_FLIP) && (lpDdsCaps->dwCaps & DDSCAPS_BACKBUFFER))
{
@ -939,7 +939,7 @@ HRESULT dds_GetAttachedSurface(IDirectDrawSurfaceImpl* This, LPDDSCAPS2 lpDdsCap
return DD_OK;
}
HRESULT dds_GetCaps(IDirectDrawSurfaceImpl* This, LPDDSCAPS2 lpDDSCaps)
HRESULT dds_GetCaps(IDirectDrawSurfaceImpl* This, LPDDSCAPS lpDDSCaps)
{
lpDDSCaps->dwCaps = This->caps;
return DD_OK;
@ -1062,7 +1062,7 @@ HRESULT dds_GetPixelFormat(IDirectDrawSurfaceImpl* This, LPDDPIXELFORMAT ddpfPix
HRESULT dds_Lock(
IDirectDrawSurfaceImpl* This,
LPRECT lpDestRect,
LPDDSURFACEDESC2 lpDDSurfaceDesc,
LPDDSURFACEDESC lpDDSurfaceDesc,
DWORD dwFlags,
HANDLE hEvent)
{
@ -1301,7 +1301,7 @@ void* dds_GetBuffer(IDirectDrawSurfaceImpl* This)
HRESULT dd_CreateSurface(
IDirectDrawImpl* This,
LPDDSURFACEDESC2 lpDDSurfaceDesc,
LPDDSURFACEDESC lpDDSurfaceDesc,
IDirectDrawSurfaceImpl** lpDDSurface,
IUnknown FAR* unkOuter)
{
@ -1453,7 +1453,7 @@ HRESULT dd_CreateSurface(
{
TRACE(" dwBackBufferCount=%d\n", lpDDSurfaceDesc->dwBackBufferCount);
DDSURFACEDESC2 desc;
DDSURFACEDESC desc;
memset(&desc, 0, sizeof(desc));
if (lpDDSurfaceDesc->dwBackBufferCount > 1)

View File

@ -1,7 +1,7 @@
#include <windows.h>
#include <dbghelp.h>
#include <stdio.h>
#include <ddraw.h>
#include "ddraw.h"
#include "dd.h"
#include "ddsurface.h"
#include "debug.h"

View File

@ -1,5 +1,5 @@
#include <windows.h>
#include <ddraw.h>
#include "ddraw.h"
#include <stdio.h>
#include "dllmain.h"
#include "IDirectDraw.h"

View File

@ -1,5 +1,5 @@
#include <windows.h>
#include <ddraw.h>
#include "ddraw.h"
#include "dd.h"
#include "ddsurface.h"
#include "hook.h"