create backbuffer for flip games

This commit is contained in:
FunkyFr3sh 2021-05-04 22:49:22 +02:00
parent 9717d7b906
commit ae4446becb
9 changed files with 109 additions and 34 deletions

View file

@ -35,6 +35,8 @@ typedef struct IDirectDrawSurfaceImpl
DWORD last_flip_tick;
DWORD last_blt_tick;
struct IDirectDrawSurfaceImpl *backbuffer;
} IDirectDrawSurfaceImpl;
typedef struct IDirectDrawSurfaceImplVtbl IDirectDrawSurfaceImplVtbl;

View file

@ -106,6 +106,7 @@ typedef struct cnc_ddraw
BOOL nonexclusive;
BOOL fixchildwindows;
BOOL d3d9linear;
BOOL backbuffer;
int maxgameticks;
BOOL alt_key_down;
BOOL bnet_active;

View file

@ -26,6 +26,8 @@ HRESULT dds_Lock(IDirectDrawSurfaceImpl* This, LPRECT lpDestRect, LPDDSURFACEDES
HRESULT dds_SetColorKey(IDirectDrawSurfaceImpl* This, DWORD flags, LPDDCOLORKEY colorKey);
HRESULT dds_SetPalette(IDirectDrawSurfaceImpl* This, LPDIRECTDRAWPALETTE lpDDPalette);
HRESULT dds_Unlock(IDirectDrawSurfaceImpl* This, LPVOID lpRect);
void* dds_GetBuffer(IDirectDrawSurfaceImpl* This);
HDC dds_GetHDC(IDirectDrawSurfaceImpl* This);
HRESULT dd_CreateSurface(LPDDSURFACEDESC lpDDSurfaceDesc, LPDIRECTDRAWSURFACE FAR* lpDDSurface, IUnknown FAR* unkOuter);