2012-12-24 10:20:23 -05:00
|
|
|
#include <windows.h>
|
2013-08-01 12:16:53 -04:00
|
|
|
#include "syslibs.h"
|
2012-12-24 10:20:23 -05:00
|
|
|
|
2015-05-19 12:40:46 -04:00
|
|
|
#define DDSQLEN 0x20
|
2013-01-19 11:16:54 -05:00
|
|
|
|
2014-04-01 12:38:40 -04:00
|
|
|
typedef struct {
|
2014-11-01 12:38:41 -04:00
|
|
|
DWORD dwTimerType;
|
|
|
|
union{
|
|
|
|
struct {
|
|
|
|
UINT uTimerId;
|
|
|
|
UINT uDelay;
|
|
|
|
UINT uResolution;
|
|
|
|
LPTIMECALLBACK lpTimeProc;
|
|
|
|
DWORD_PTR dwUser;
|
|
|
|
UINT fuEvent;
|
|
|
|
};
|
|
|
|
struct {
|
|
|
|
HWND hWnd;
|
|
|
|
UINT_PTR nIDEvent;
|
|
|
|
UINT uElapse;
|
|
|
|
TIMERPROC lpTimerFunc;
|
|
|
|
};
|
|
|
|
} t;
|
2014-04-01 12:38:40 -04:00
|
|
|
} TimerEvent_Type;
|
|
|
|
|
2015-05-19 12:40:46 -04:00
|
|
|
typedef struct {
|
|
|
|
LPDIRECTDRAWSURFACE lpdds;
|
|
|
|
USHORT uRef;
|
|
|
|
USHORT uRole;
|
|
|
|
USHORT uVersion;
|
|
|
|
} SurfaceDB_Type;
|
|
|
|
|
2016-02-09 11:47:00 -05:00
|
|
|
typedef struct {
|
|
|
|
LPDIRECTDRAWSURFACE lpdds;
|
|
|
|
DWORD dwCaps;
|
|
|
|
} CapsDB_Type;
|
|
|
|
|
2015-05-19 12:40:46 -04:00
|
|
|
typedef enum {
|
|
|
|
SURFACE_ROLE_PRIMARY = 1,
|
|
|
|
SURFACE_ROLE_BACKBUFFER
|
|
|
|
} Enum_Surface_Role_Type;
|
|
|
|
|
2012-12-24 10:20:23 -05:00
|
|
|
class dxwCore
|
|
|
|
{
|
|
|
|
// Construction/destruction
|
|
|
|
public:
|
|
|
|
dxwCore();
|
|
|
|
virtual ~dxwCore();
|
|
|
|
|
|
|
|
// Operations
|
2013-01-04 10:30:38 -05:00
|
|
|
public: // methods
|
2013-06-01 12:16:52 -04:00
|
|
|
void InitTarget(TARGETMAP *);
|
2013-08-25 12:38:13 -04:00
|
|
|
void SethWnd(HWND hwnd);
|
2013-06-15 12:21:25 -04:00
|
|
|
void SethWnd(HWND hwnd, HWND hwndfps) {hWnd=hwnd; hWndFPS=hwndfps;}
|
2013-01-19 11:16:54 -05:00
|
|
|
void InitWindowPos(int, int, int, int);
|
2013-01-04 10:30:38 -05:00
|
|
|
HWND GethWnd(void) {return hWnd;}
|
2014-04-01 12:38:40 -04:00
|
|
|
void SetScreenSize(void);
|
|
|
|
void SetScreenSize(int x, int y);
|
2013-01-04 10:30:38 -05:00
|
|
|
DWORD GetScreenWidth(void) {return dwScreenWidth;}
|
|
|
|
DWORD GetScreenHeight(void) {return dwScreenHeight;}
|
2013-08-25 12:38:13 -04:00
|
|
|
void SetFullScreen(BOOL);
|
|
|
|
void SetFullScreen(BOOL, int);
|
|
|
|
BOOL IsFullScreen();
|
2016-04-03 12:42:48 -04:00
|
|
|
BOOL IsToRemap(HDC);
|
2013-05-16 12:19:15 -04:00
|
|
|
BOOL IsDesktop(HWND);
|
2013-08-25 12:38:13 -04:00
|
|
|
BOOL IsRealDesktop(HWND);
|
2012-12-24 10:20:23 -05:00
|
|
|
POINT FixCursorPos(POINT);
|
2013-01-04 10:30:38 -05:00
|
|
|
void FixNCHITCursorPos(LPPOINT);
|
|
|
|
void SetClipCursor(void);
|
|
|
|
void EraseClipCursor(void);
|
2014-05-11 12:39:56 -04:00
|
|
|
RECT MapWindowRect(LPRECT);
|
2013-01-04 10:30:38 -05:00
|
|
|
RECT MapWindowRect(void);
|
2014-05-11 12:39:56 -04:00
|
|
|
RECT MapClientRect(LPRECT);
|
2013-05-16 12:19:15 -04:00
|
|
|
void MapClient(LPPOINT);
|
|
|
|
void MapClient(LPRECT);
|
|
|
|
void MapClient(int *, int *, int *, int *);
|
2013-08-25 12:38:13 -04:00
|
|
|
void MapClient(int *, int *);
|
2015-11-29 11:42:34 -05:00
|
|
|
//void MapClient(float *, float *);
|
2013-08-30 12:38:14 -04:00
|
|
|
void UnmapClient(LPPOINT);
|
|
|
|
void UnmapClient(int *, int *);
|
2016-08-03 12:45:12 -04:00
|
|
|
void UnmapClient(int *, int *, int *, int *);
|
2014-03-23 12:38:58 -04:00
|
|
|
void UnmapClient(LPRECT);
|
2013-05-16 12:19:15 -04:00
|
|
|
void MapWindow(LPPOINT);
|
|
|
|
void MapWindow(LPRECT);
|
|
|
|
void MapWindow(int *, int *, int *, int *);
|
2015-01-03 11:40:25 -05:00
|
|
|
void UnmapWindow(LPRECT);
|
2015-07-04 12:40:35 -04:00
|
|
|
void UnmapWindow(LPPOINT);
|
2016-04-01 12:42:40 -04:00
|
|
|
RECT GetMainWindow(void);
|
2013-09-16 12:38:17 -04:00
|
|
|
void FixWorkarea(LPRECT);
|
2013-05-16 12:19:15 -04:00
|
|
|
RECT GetScreenRect(void);
|
2014-11-01 12:38:41 -04:00
|
|
|
RECT GetUnmappedScreenRect();
|
2013-05-16 12:19:15 -04:00
|
|
|
RECT GetWindowRect(RECT);
|
|
|
|
RECT GetClientRect(RECT);
|
2014-07-28 12:39:37 -04:00
|
|
|
POINT GetFrameOffset();
|
2013-05-16 12:19:15 -04:00
|
|
|
POINT AddCoordinates(POINT, POINT);
|
2014-04-22 12:39:07 -04:00
|
|
|
RECT AddCoordinates(RECT, POINT);
|
2013-05-16 12:19:15 -04:00
|
|
|
POINT SubCoordinates(POINT, POINT);
|
|
|
|
POINT ClientOffset(HWND);
|
2013-01-04 10:30:38 -05:00
|
|
|
void ScreenRefresh(void);
|
2013-01-19 11:16:54 -05:00
|
|
|
BOOL HandleFPS(void);
|
2014-10-30 12:39:54 -04:00
|
|
|
BOOL ishWndFPS(HWND);
|
2013-08-01 12:16:53 -04:00
|
|
|
DWORD GetTickCount(void);
|
2014-04-01 12:38:40 -04:00
|
|
|
void GetSystemTime(LPSYSTEMTIME);
|
|
|
|
void GetSystemTimeAsFileTime(LPFILETIME);
|
2013-01-19 11:16:54 -05:00
|
|
|
DWORD StretchTime(DWORD);
|
2013-11-17 11:38:28 -05:00
|
|
|
DWORD StretchCounter(DWORD);
|
2014-04-01 12:38:40 -04:00
|
|
|
LARGE_INTEGER dxwCore::StretchCounter(LARGE_INTEGER);
|
2013-03-12 12:38:32 -04:00
|
|
|
void ShowOverlay();
|
|
|
|
void ShowOverlay(HDC);
|
2014-10-08 12:39:38 -04:00
|
|
|
void ShowOverlay(HDC, int, int);
|
2013-03-12 12:38:32 -04:00
|
|
|
void ShowOverlay(LPDIRECTDRAWSURFACE);
|
2013-01-22 11:17:01 -05:00
|
|
|
char *GetTSCaption(void);
|
2013-03-12 12:38:32 -04:00
|
|
|
char *GetTSCaption(int);
|
2013-05-02 12:17:06 -04:00
|
|
|
void DoSlow(int);
|
2013-12-02 11:17:07 -05:00
|
|
|
void ShowBanner(HWND);
|
2014-01-24 11:38:44 -05:00
|
|
|
void HideDesktop(HWND);
|
2013-04-04 12:17:08 -04:00
|
|
|
POINT ScreenToClient(POINT);
|
2013-02-06 11:19:16 -05:00
|
|
|
int GetDLLIndex(char *);
|
2013-06-29 12:38:04 -04:00
|
|
|
void FixStyle(char *, HWND, WPARAM, LPARAM);
|
2014-04-01 12:38:40 -04:00
|
|
|
void FixWindowFrame(HWND);
|
2016-07-30 12:46:40 -04:00
|
|
|
DWORD FixWinStyle(DWORD);
|
|
|
|
DWORD FixWinExStyle(DWORD);
|
2013-08-30 12:38:14 -04:00
|
|
|
HDC AcquireEmulatedDC(HWND);
|
|
|
|
BOOL ReleaseEmulatedDC(HWND);
|
2015-04-10 12:42:09 -04:00
|
|
|
HDC AcquireSharedDC(HWND);
|
|
|
|
BOOL ReleaseSharedDC(HWND, HDC);
|
2013-08-30 12:38:14 -04:00
|
|
|
BOOL IsVirtual(HDC);
|
|
|
|
void ResetEmulatedDC();
|
2015-10-21 12:42:12 -04:00
|
|
|
int VirtualOffsetX, VirtualOffsetY, VirtualExtentX, VirtualExtentY;
|
2013-11-28 11:38:31 -05:00
|
|
|
void DumpPalette(DWORD, LPPALETTEENTRY);
|
2014-04-01 12:38:40 -04:00
|
|
|
void PushTimer(UINT, UINT, UINT, LPTIMECALLBACK, DWORD_PTR, UINT);
|
2014-11-01 12:38:41 -04:00
|
|
|
void PushTimer(HWND, UINT_PTR, UINT, TIMERPROC);
|
2014-04-01 12:38:40 -04:00
|
|
|
void PopTimer(UINT);
|
2014-11-01 12:38:41 -04:00
|
|
|
void PopTimer(HWND, UINT_PTR);
|
2014-04-01 12:38:40 -04:00
|
|
|
void RenewTimers();
|
2014-01-19 11:38:43 -05:00
|
|
|
BOOL CheckScreenResolution(unsigned int, unsigned int);
|
2014-02-19 11:38:50 -05:00
|
|
|
LARGE_INTEGER StretchLargeCounter(LARGE_INTEGER);
|
2014-05-14 12:39:12 -04:00
|
|
|
UINT MapKeysConfig(UINT, LPARAM, WPARAM);
|
2014-05-24 12:39:16 -04:00
|
|
|
void MapKeysInit();
|
2014-10-08 12:39:38 -04:00
|
|
|
void SetVSyncDelays(UINT);
|
|
|
|
void VSyncWait();
|
|
|
|
void DumpDesktopStatus();
|
2015-11-19 11:42:28 -05:00
|
|
|
void ToggleFreezedTime();
|
2013-01-04 10:30:38 -05:00
|
|
|
|
|
|
|
public: // simple data variables
|
2014-02-05 11:39:10 -05:00
|
|
|
BOOL Windowize;
|
2013-01-04 10:30:38 -05:00
|
|
|
DDPIXELFORMAT ActualPixelFormat;
|
|
|
|
DDPIXELFORMAT VirtualPixelFormat;
|
|
|
|
DWORD dwDDVersion;
|
2013-06-01 12:16:52 -04:00
|
|
|
DWORD dwTargetDDVersion;
|
2013-01-04 10:30:38 -05:00
|
|
|
DWORD dwMaxDDVersion;
|
2016-01-19 11:42:45 -05:00
|
|
|
DWORD MaxDdrawInterface;
|
2013-01-04 10:30:38 -05:00
|
|
|
DWORD dwFlags1;
|
|
|
|
DWORD dwFlags2;
|
2013-04-27 12:19:14 -04:00
|
|
|
DWORD dwFlags3;
|
|
|
|
DWORD dwFlags4;
|
2014-07-28 12:39:37 -04:00
|
|
|
DWORD dwFlags5;
|
2015-04-26 12:40:41 -04:00
|
|
|
DWORD dwFlags6;
|
2016-01-19 11:42:45 -05:00
|
|
|
DWORD dwFlags7;
|
|
|
|
DWORD dwFlags8;
|
2013-01-04 10:30:38 -05:00
|
|
|
DWORD dwTFlags;
|
|
|
|
HWND hParentWnd;
|
|
|
|
HWND hChildWnd;
|
|
|
|
BOOL bActive;
|
|
|
|
BOOL bDInputAbs;
|
2013-06-01 12:16:52 -04:00
|
|
|
DWORD MaxFPS;
|
2015-04-26 12:40:41 -04:00
|
|
|
DWORD SwapEffect;
|
2013-06-01 12:16:52 -04:00
|
|
|
char *gsModules;
|
2013-08-01 12:16:53 -04:00
|
|
|
int TimeShift;
|
2013-01-19 11:16:54 -05:00
|
|
|
short iPosX;
|
|
|
|
short iPosY;
|
|
|
|
short iSizX;
|
|
|
|
short iSizY;
|
2014-08-10 12:39:50 -04:00
|
|
|
int iRatioX;
|
|
|
|
int iRatioY;
|
2013-01-19 11:16:54 -05:00
|
|
|
char *CustomOpenGLLib;
|
2013-01-25 11:17:02 -05:00
|
|
|
WORD palVersion;
|
|
|
|
WORD palNumEntries;
|
|
|
|
PALETTEENTRY palPalEntry[256];
|
2013-01-27 11:17:04 -05:00
|
|
|
short FakeVersionId;
|
2014-04-01 12:38:40 -04:00
|
|
|
short Coordinates;
|
|
|
|
short MaxScreenRes;
|
2016-10-05 12:45:56 -04:00
|
|
|
short SlowRatio;
|
2014-04-01 12:38:40 -04:00
|
|
|
HDC RealHDC;
|
|
|
|
HDC VirtualHDC;
|
2015-12-11 11:42:26 -05:00
|
|
|
int GDIEmulationMode;
|
2015-11-19 11:42:28 -05:00
|
|
|
BOOL TimeFreeze;
|
2016-04-24 12:45:47 -04:00
|
|
|
RECT VirtualDesktop;
|
2016-07-24 12:46:36 -04:00
|
|
|
BOOL bHintActive;
|
2012-12-24 10:20:23 -05:00
|
|
|
|
|
|
|
// Implementation
|
|
|
|
protected:
|
2013-01-04 10:30:38 -05:00
|
|
|
DWORD dwScreenWidth;
|
|
|
|
DWORD dwScreenHeight;
|
|
|
|
BOOL FullScreen;
|
2013-06-15 12:21:25 -04:00
|
|
|
HWND hWnd, hWndFPS;
|
2013-08-30 12:38:14 -04:00
|
|
|
HBITMAP VirtualPic;
|
2014-04-22 12:39:07 -04:00
|
|
|
RECT VirtualPicRect;
|
2013-11-10 11:38:21 -05:00
|
|
|
|
|
|
|
private:
|
2013-08-12 12:38:35 -04:00
|
|
|
BOOL MustShowOverlay;
|
2014-10-08 12:39:38 -04:00
|
|
|
void ShowFPS(HDC, int, int);
|
|
|
|
void ShowTimeStretching(HDC, int, int);
|
2014-04-01 12:38:40 -04:00
|
|
|
TimerEvent_Type TimerEvent;
|
2014-10-08 12:39:38 -04:00
|
|
|
DWORD gdwRefreshRate;
|
|
|
|
#define MAXREFRESHDELAYCOUNT 20
|
|
|
|
int iRefreshDelays[MAXREFRESHDELAYCOUNT];
|
|
|
|
int iRefreshDelayCount;
|
2012-12-24 10:20:23 -05:00
|
|
|
};
|
2013-01-04 10:30:38 -05:00
|
|
|
|
2015-05-23 12:40:49 -04:00
|
|
|
class dxwSStack
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
dxwSStack();
|
|
|
|
virtual ~dxwSStack();
|
|
|
|
|
|
|
|
public:
|
|
|
|
char *ExplainSurfaceRole(LPDIRECTDRAWSURFACE);
|
|
|
|
void ClearSurfaceList();
|
|
|
|
void PushPrimarySurface(LPDIRECTDRAWSURFACE, int);
|
|
|
|
BOOL IsAPrimarySurface(LPDIRECTDRAWSURFACE);
|
|
|
|
void UnrefSurface(LPDIRECTDRAWSURFACE);
|
|
|
|
LPDIRECTDRAWSURFACE GetPrimarySurface(void);
|
|
|
|
void PushBackBufferSurface(LPDIRECTDRAWSURFACE, int);
|
|
|
|
BOOL IsABackBufferSurface(LPDIRECTDRAWSURFACE);
|
|
|
|
LPDIRECTDRAWSURFACE GetBackBufferSurface(void);
|
|
|
|
void PopSurface(LPDIRECTDRAWSURFACE);
|
|
|
|
|
|
|
|
protected:
|
|
|
|
SurfaceDB_Type SurfaceDB[DDSQLEN+1];
|
|
|
|
LPDIRECTDRAWSURFACE lpDDSPrimary;
|
|
|
|
LPDIRECTDRAWSURFACE lpDDSBackBuffer;
|
|
|
|
|
|
|
|
private:
|
|
|
|
void PushSurface(LPDIRECTDRAWSURFACE, USHORT, USHORT);
|
|
|
|
LPDIRECTDRAWSURFACE GetSurfaceByRole(USHORT);
|
|
|
|
void SetSurfaceEntry(LPDIRECTDRAWSURFACE, USHORT, USHORT);
|
|
|
|
};
|
|
|
|
|
2016-02-09 11:47:00 -05:00
|
|
|
class dxwCapsDB
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
dxwCapsDB();
|
|
|
|
virtual ~dxwCapsDB();
|
|
|
|
|
|
|
|
public:
|
|
|
|
// void ClearCapsDB();
|
|
|
|
void PushCaps(LPDIRECTDRAWSURFACE, DWORD);
|
|
|
|
DWORD GetCaps(LPDIRECTDRAWSURFACE);
|
|
|
|
|
|
|
|
protected:
|
|
|
|
CapsDB_Type CapsDB[DDSQLEN+1];
|
|
|
|
};
|
|
|
|
|
2015-05-23 12:40:49 -04:00
|
|
|
typedef struct {
|
|
|
|
HWND hwnd;
|
|
|
|
WNDPROC wndproc;
|
|
|
|
int w;
|
|
|
|
int h;
|
|
|
|
} wndstack_entry;
|
|
|
|
|
|
|
|
class dxwWStack
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
dxwWStack();
|
|
|
|
virtual ~dxwWStack();
|
|
|
|
|
|
|
|
public:
|
|
|
|
void Put(HWND, WNDPROC, int, int);
|
|
|
|
void PutProc(HWND, WNDPROC);
|
|
|
|
void PutSize(HWND, int, int);
|
|
|
|
BOOL GetSize(HWND, int *, int *);
|
|
|
|
WNDPROC GetProc(HWND);
|
|
|
|
|
|
|
|
private:
|
|
|
|
wndstack_entry *WhndStack;
|
|
|
|
int WhndTOS;
|
|
|
|
int WhndSize;
|
|
|
|
};
|
|
|
|
|
2013-01-04 10:30:38 -05:00
|
|
|
extern dxwCore dxw;
|
2015-05-23 12:40:49 -04:00
|
|
|
extern dxwSStack dxwss;
|
|
|
|
extern dxwWStack dxwws;
|
2016-02-09 11:47:00 -05:00
|
|
|
extern dxwCapsDB dxwcdb;
|
2013-02-06 11:19:16 -05:00
|
|
|
|
2016-06-21 12:46:09 -04:00
|
|
|
#if 0
|
|
|
|
typedef enum {
|
|
|
|
SYSLIBIDX_VERSION = 0,
|
|
|
|
SYSLIBIDX_DPLAYX,
|
|
|
|
SYSLIBIDX_WSOCK,
|
|
|
|
SYSLIBIDX_SHFOLDER,
|
|
|
|
SYSLIBIDX_SHELL32,
|
|
|
|
SYSLIBIDX_WS2_32,
|
|
|
|
SYSLIBIDX_TAPI32,
|
|
|
|
SYSLIBIDX_NETAPI32,
|
|
|
|
SYSLIBIDX_GLIDE,
|
|
|
|
SYSLIBIDX_GLIDE2X,
|
|
|
|
SYSLIBIDX_GLIDE3X,
|
|
|
|
}
|
|
|
|
enum_skipsyslibraries;
|
|
|
|
|
|
|
|
#ifdef SYSLIBNAMES_DEFINES
|
|
|
|
char *SkipNames[]={
|
|
|
|
"version",
|
|
|
|
"dplayx",
|
|
|
|
"wsock32",
|
|
|
|
"shfolder",
|
|
|
|
"shell32",
|
|
|
|
"ws2_32",
|
|
|
|
"tapi32",
|
|
|
|
"netapi32",
|
|
|
|
"glide",
|
|
|
|
"glide2x",
|
|
|
|
"glide3x",
|
|
|
|
NULL
|
|
|
|
}
|
|
|
|
#else
|
|
|
|
extern char *SkipNames[];
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
2013-02-06 11:19:16 -05:00
|
|
|
typedef enum {
|
|
|
|
SYSLIBIDX_KERNEL32 = 0,
|
|
|
|
SYSLIBIDX_USER32,
|
|
|
|
SYSLIBIDX_GDI32,
|
2013-06-15 12:21:25 -04:00
|
|
|
SYSLIBIDX_IMELIB,
|
2013-02-06 11:19:16 -05:00
|
|
|
SYSLIBIDX_ADVAPI32,
|
|
|
|
SYSLIBIDX_OLE32,
|
|
|
|
SYSLIBIDX_DIRECTDRAW,
|
|
|
|
SYSLIBIDX_DIRECT3D8,
|
|
|
|
SYSLIBIDX_DIRECT3D9,
|
|
|
|
SYSLIBIDX_DIRECT3D10,
|
|
|
|
SYSLIBIDX_DIRECT3D10_1,
|
2014-01-19 11:38:43 -05:00
|
|
|
SYSLIBIDX_DIRECT3D11,
|
2013-02-06 11:19:16 -05:00
|
|
|
SYSLIBIDX_OPENGL,
|
|
|
|
SYSLIBIDX_MSVFW,
|
|
|
|
SYSLIBIDX_SMACK,
|
|
|
|
SYSLIBIDX_DSOUND,
|
|
|
|
SYSLIBIDX_WINMM,
|
2013-06-15 12:21:25 -04:00
|
|
|
SYSLIBIDX_IMM32,
|
2013-02-06 11:19:16 -05:00
|
|
|
SYSLIBIDX_DINPUT,
|
|
|
|
SYSLIBIDX_DINPUT8,
|
2013-06-15 12:21:25 -04:00
|
|
|
SYSLIBIDX_WINTRUST,
|
2013-11-10 11:38:21 -05:00
|
|
|
SYSLIBIDX_DIRECT3D,
|
|
|
|
SYSLIBIDX_DIRECT3D700,
|
2014-08-10 12:39:50 -04:00
|
|
|
SYSLIBIDX_IMAGEHLP,
|
2015-06-22 12:40:59 -04:00
|
|
|
SYSLIBIDX_COMDLG32,
|
2016-06-21 12:46:09 -04:00
|
|
|
SYSLIBIDX_COMCTL32,
|
|
|
|
SYSLIBIDX_AVIFIL32,
|
|
|
|
SYSLIBIDX_MAX
|
|
|
|
}
|
2013-06-15 12:21:25 -04:00
|
|
|
enum_syslibraries;
|
2014-01-19 11:38:43 -05:00
|
|
|
|
2016-07-24 12:46:36 -04:00
|
|
|
typedef enum {
|
|
|
|
HINT_HINT = 0,
|
|
|
|
HINT_DDRAW, HINT_D3D8, HINT_D3D9, HINT_D3D10,
|
|
|
|
HINT_D3D11, HINT_OPENGL, HINT_DSOUND, HINT_DINPUT,
|
|
|
|
HINT_DINPUT8, HINT_MOVIES, HINT_D3D, HINT_IHLP,
|
2016-07-30 12:46:40 -04:00
|
|
|
HINT_FAKEOS, HINT_OBFUSCATED,HINT_SAFEDISC, HINT_SECUROM,
|
2016-07-09 12:47:08 -04:00
|
|
|
HINT_LIMITMEM, HINT_HOOKUPDATE,
|
2016-07-24 12:46:36 -04:00
|
|
|
HINT_LAST
|
|
|
|
} HintEnumIds;
|
|
|
|
|
2015-06-22 12:40:59 -04:00
|
|
|
#ifdef SYSLIBNAMES_DEFINES
|
|
|
|
char *SysNames[]={
|
|
|
|
"kernel32",
|
|
|
|
"USER32",
|
|
|
|
"GDI32",
|
|
|
|
"imelib",
|
|
|
|
"ADVAPI32",
|
|
|
|
"ole32",
|
|
|
|
"ddraw",
|
|
|
|
"d3d8",
|
|
|
|
"d3d9",
|
|
|
|
"d3d10",
|
|
|
|
"d3d10_1",
|
|
|
|
"d3d11",
|
|
|
|
"opengl32",
|
|
|
|
"msvfw32",
|
|
|
|
"smackw32",
|
|
|
|
"dsound",
|
|
|
|
"winmm",
|
|
|
|
"imm32",
|
|
|
|
"dinput",
|
|
|
|
"dinput8",
|
|
|
|
"wintrust",
|
|
|
|
"d3dim",
|
|
|
|
"d3dim700",
|
|
|
|
"imagehlp",
|
|
|
|
"comdlg32",
|
2016-06-21 12:46:09 -04:00
|
|
|
"comctl32",
|
|
|
|
"AVIFIL32",
|
2015-06-22 12:40:59 -04:00
|
|
|
NULL
|
|
|
|
};
|
|
|
|
#else
|
|
|
|
extern char *SysNames[];
|
|
|
|
#endif
|
|
|
|
|
2014-05-14 12:39:12 -04:00
|
|
|
typedef enum {
|
|
|
|
DXVK_NONE=0,
|
|
|
|
DXVK_CLIPTOGGLE,
|
|
|
|
DXVK_REFRESH,
|
|
|
|
DXVK_LOGTOGGLE,
|
|
|
|
DXVK_PLOCKTOGGLE,
|
|
|
|
DXVK_FPSTOGGLE,
|
|
|
|
DXVK_TIMEFAST,
|
|
|
|
DXVK_TIMESLOW,
|
|
|
|
DXVK_TIMETOGGLE,
|
|
|
|
DXVK_ALTF4,
|
2015-11-03 11:40:28 -05:00
|
|
|
DXVK_PRINTSCREEN,
|
2015-10-21 12:42:12 -04:00
|
|
|
DXVK_CORNERIZE,
|
2015-11-19 11:42:28 -05:00
|
|
|
DXVK_FREEZETIME,
|
2016-12-04 11:45:35 -05:00
|
|
|
DXVK_FULLSCREEN,
|
|
|
|
DXVK_FAKEWORKAREA,
|
|
|
|
DXVK_FAKEDESKTOP,
|
2014-05-14 12:39:12 -04:00
|
|
|
DXVK_SIZE
|
2014-12-28 11:40:12 -05:00
|
|
|
};
|
|
|
|
|
2016-04-03 12:42:48 -04:00
|
|
|
typedef enum {
|
|
|
|
GDIMODE_NONE = 0,
|
|
|
|
GDIMODE_STRETCHED,
|
|
|
|
GDIMODE_EMULATED,
|
|
|
|
GDIMODE_SHAREDDC
|
|
|
|
};
|
2015-12-11 11:42:26 -05:00
|
|
|
|
2016-06-04 12:45:32 -04:00
|
|
|
typedef HRESULT (WINAPI *ColorConversion_Type)(int, LPDIRECTDRAWSURFACE, RECT, LPDIRECTDRAWSURFACE *);
|
2014-12-28 11:40:12 -05:00
|
|
|
extern ColorConversion_Type pColorConversion;
|
2015-12-11 11:42:26 -05:00
|
|
|
extern void ToggleAcquiredDevices(BOOL);
|
2016-04-17 12:45:41 -04:00
|
|
|
extern GetWindowLong_Type pGetWindowLong;
|
|
|
|
extern SetWindowLong_Type pSetWindowLong;
|