1
0
mirror of https://github.com/DxWnd/DxWnd.reloaded synced 2024-12-30 09:25:35 +01:00
DxWnd.reloaded/host/TargetDlg.cpp
gho tik 3ecf3a3a1f v2_02_04_src
Former-commit-id: 1367b767e90df1e072467161f9db16af667aed54
2017-03-06 11:16:54 -05:00

455 lines
14 KiB
C++

// TargetDlg.cpp : Implementation
//
#define _CRT_SECURE_NO_DEPRECATE 1
#include "stdafx.h"
#include "dxwndhost.h"
#include "TargetDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CTargetDlg Dialog
CTargetDlg::CTargetDlg(CWnd* pParent /*=NULL*/)
: CDialog(CTargetDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CTargetDlg)
m_DXVersion = -1;
m_EmulateSurface = FALSE;
m_NoEmulateSurface = TRUE; // current default
m_EmulateBuffer = FALSE;
m_HookDI = FALSE;
m_ModifyMouse = FALSE;
m_OutTrace = FALSE;
m_OutDebug = FALSE;
m_CursorTrace = FALSE;
m_OutWinMessages = FALSE;
m_OutDXTrace = FALSE;
m_DXProxed = FALSE;
m_HandleDC = FALSE;
m_HandleExceptions = FALSE;
m_UnNotify = FALSE;
m_FilePath = _T("");
m_Module = _T("");
m_SaveLoad = FALSE;
m_SlowDown = FALSE;
m_BlitFromBackBuffer = FALSE;
m_SuppressClipping = FALSE;
m_DisableGammaRamp = FALSE;
m_AutoRefresh = FALSE;
m_FixWinFrame = FALSE;
m_HideHwCursor = FALSE;
m_ShowHwCursor = FALSE;
m_EnableClipping = FALSE;
m_CursorClipping = FALSE;
m_VideoToSystemMem = FALSE;
m_FixTextOut = FALSE;
m_KeepCursorWithin = FALSE;
m_KeepCursorFixed = FALSE;
m_UseRGB565 = FALSE;
m_SuppressDXErrors = FALSE;
m_PreventMaximize = FALSE;
m_ClientRemapping = FALSE;
m_MapGDIToPrimary = FALSE;
m_LockWinPos = FALSE;
m_LockWinStyle = FALSE;
m_FixParentWin = FALSE;
m_ModalStyle = FALSE;
m_KeepAspectRatio = FALSE;
m_ForceWinResize = FALSE;
m_HookGDI = FALSE;
m_HideMultiMonitor = FALSE;
m_WallpaperMode = FALSE;
m_HookChildWin = FALSE;
m_MessageProc = FALSE;
m_FixNCHITTEST = FALSE;
m_RecoverScreenMode = FALSE;
m_RefreshOnResize = FALSE;
m_Init8BPP = FALSE;
m_Init16BPP = FALSE;
m_BackBufAttach = FALSE;
m_HandleAltF4 = FALSE;
m_LimitFPS = FALSE;
m_SkipFPS = FALSE;
m_ShowFPS = FALSE;
m_TimeStretch = FALSE;
m_HookOpenGL = FALSE;
m_InitX = 0;
m_InitY = 0;
m_MaxX = 0;
m_MaxY = 0;
m_MinX = 0;
m_MinY = 0;
m_PosX = 0;
m_PosY = 0;
m_SizX = 800;
m_SizY = 600;
m_MaxFPS = 0;
m_InitTS = 0;
//}}AFX_DATA_INIT
}
void CTargetDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CTargetDlg)
DDX_Control(pDX, IDC_FILE, m_File);
DDX_Radio(pDX, IDC_AUTO, m_DXVersion);
DDX_Check(pDX, IDC_EMULATESURFACE, m_EmulateSurface);
DDX_Check(pDX, IDC_NOEMULATESURFACE, m_NoEmulateSurface);
DDX_Check(pDX, IDC_EMULATEBUFFER, m_EmulateBuffer);
DDX_Check(pDX, IDC_HOOKDI, m_HookDI);
DDX_Check(pDX, IDC_MODIFYMOUSE, m_ModifyMouse);
DDX_Check(pDX, IDC_OUTTRACE, m_OutTrace);
DDX_Check(pDX, IDC_OUTDEBUG, m_OutDebug);
DDX_Check(pDX, IDC_CURSORTRACE, m_CursorTrace);
DDX_Check(pDX, IDC_LOGENABLED, m_LogEnabled);
DDX_Check(pDX, IDC_OUTWINMESSAGES, m_OutWinMessages);
DDX_Check(pDX, IDC_OUTDXTRACE, m_OutDXTrace);
DDX_Check(pDX, IDC_DXPROXED, m_DXProxed);
DDX_Check(pDX, IDC_ASSERT, m_AssertDialog);
DDX_Check(pDX, IDC_IMPORTTABLE, m_ImportTable);
DDX_Check(pDX, IDC_HANDLEDC, m_HandleDC);
DDX_Check(pDX, IDC_HANDLEEXCEPTIONS, m_HandleExceptions);
DDX_Check(pDX, IDC_UNNOTIFY, m_UnNotify);
DDX_Text(pDX, IDC_FILE, m_FilePath);
DDX_Text(pDX, IDC_MODULE, m_Module);
DDX_Text(pDX, IDC_TITLE, m_Title);
DDX_Check(pDX, IDC_SAVELOAD, m_SaveLoad);
DDX_Check(pDX, IDC_SLOW, m_SlowDown);
DDX_Check(pDX, IDC_BLITFROMBACKBUFFER, m_BlitFromBackBuffer);
DDX_Check(pDX, IDC_SUPPRESSCLIPPING, m_SuppressClipping);
DDX_Check(pDX, IDC_DISABLEGAMMARAMP, m_DisableGammaRamp);
DDX_Check(pDX, IDC_AUTOREFRESH, m_AutoRefresh);
DDX_Check(pDX, IDC_FIXWINFRAME, m_FixWinFrame);
DDX_Check(pDX, IDC_HIDEHWCURSOR, m_HideHwCursor);
DDX_Check(pDX, IDC_SHOWHWCURSOR, m_ShowHwCursor);
DDX_Check(pDX, IDC_ENABLECLIPPING, m_EnableClipping);
DDX_Check(pDX, IDC_CLIPCURSOR, m_CursorClipping);
DDX_Check(pDX, IDC_VIDEOTOSYSTEMMEM, m_VideoToSystemMem);
DDX_Check(pDX, IDC_FIXTEXTOUT, m_FixTextOut);
DDX_Check(pDX, IDC_KEEPCURSORWITHIN, m_KeepCursorWithin);
DDX_Check(pDX, IDC_KEEPCURSORFIXED, m_KeepCursorFixed);
DDX_Check(pDX, IDC_USERGB565, m_UseRGB565);
DDX_Check(pDX, IDC_SUPPRESSDXERRORS, m_SuppressDXErrors);
DDX_Check(pDX, IDC_PREVENTMAXIMIZE, m_PreventMaximize);
DDX_Check(pDX, IDC_CLIENTREMAPPING, m_ClientRemapping);
DDX_Check(pDX, IDC_MAPGDITOPRIMARY, m_MapGDIToPrimary);
DDX_Check(pDX, IDC_LOCKWINPOS, m_LockWinPos);
DDX_Check(pDX, IDC_LOCKWINSTYLE, m_LockWinStyle);
DDX_Check(pDX, IDC_FIXPARENTWIN, m_FixParentWin);
DDX_Check(pDX, IDC_MODALSTYLE, m_ModalStyle);
DDX_Check(pDX, IDC_KEEPASPECTRATIO, m_KeepAspectRatio);
DDX_Check(pDX, IDC_FORCEWINRESIZE, m_ForceWinResize);
DDX_Check(pDX, IDC_HOOKGDI, m_HookGDI);
DDX_Check(pDX, IDC_HIDEMULTIMONITOR, m_HideMultiMonitor);
DDX_Check(pDX, IDC_WALLPAPERMODE, m_WallpaperMode);
DDX_Check(pDX, IDC_HOOKCHILDWIN, m_HookChildWin);
DDX_Check(pDX, IDC_MESSAGEPROC, m_MessageProc);
DDX_Check(pDX, IDC_FIXNCHITTEST, m_FixNCHITTEST);
DDX_Check(pDX, IDC_RECOVERSCREENMODE, m_RecoverScreenMode);
DDX_Check(pDX, IDC_REFRESHONRESIZE, m_RefreshOnResize);
DDX_Check(pDX, IDC_INIT8BPP, m_Init8BPP);
DDX_Check(pDX, IDC_INIT16BPP, m_Init16BPP);
DDX_Check(pDX, IDC_BACKBUFATTACH, m_BackBufAttach);
DDX_Check(pDX, IDC_HANDLEALTF4, m_HandleAltF4);
DDX_Check(pDX, IDC_LIMITFPS, m_LimitFPS);
DDX_Check(pDX, IDC_SKIPFPS, m_SkipFPS);
DDX_Check(pDX, IDC_SHOWFPS, m_ShowFPS);
DDX_Check(pDX, IDC_TIMESTRETCH, m_TimeStretch);
DDX_Check(pDX, IDC_HOOKOPENGL, m_HookOpenGL);
DDX_Text(pDX, IDC_INITX, m_InitX);
DDX_Text(pDX, IDC_INITY, m_InitY);
DDX_Text(pDX, IDC_MAXX, m_MaxX);
DDX_Text(pDX, IDC_MAXY, m_MaxY);
DDX_Text(pDX, IDC_MINX, m_MinX);
DDX_Text(pDX, IDC_MINY, m_MinY);
DDX_Text(pDX, IDC_POSX, m_PosX);
DDX_Text(pDX, IDC_POSY, m_PosY);
DDX_Text(pDX, IDC_SIZX, m_SizX);
DDX_Text(pDX, IDC_SIZY, m_SizY);
DDX_Text(pDX, IDC_MAXFPS, m_MaxFPS);
DDX_Text(pDX, IDC_INITTS, m_InitTS);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CTargetDlg, CDialog)
//{{AFX_MSG_MAP(CTargetDlg)
ON_BN_CLICKED(IDC_OPEN, OnOpen)
//}}AFX_MSG_MAP
ON_BN_CLICKED(IDC_UNNOTIFY, &CTargetDlg::OnBnClickedUnnotify)
ON_BN_CLICKED(IDC_EMULATEBUFFER, &CTargetDlg::OnBnClickedEmulateBuffer)
ON_BN_CLICKED(IDC_EMULATESURFACE, &CTargetDlg::OnBnClickedEmulateSurface)
ON_BN_CLICKED(IDC_NOEMULATESURFACE, &CTargetDlg::OnBnClickedNoEmulateSurface)
ON_BN_CLICKED(IDC_OUTTRACE, &CTargetDlg::OnBnClickedOuttrace)
ON_BN_CLICKED(IDC_LOGENABLED, &CTargetDlg::OnBnClickedLogEnabled)
ON_BN_CLICKED(IDC_HANDLEDC, &CTargetDlg::OnBnClickedHandleDC)
ON_BN_CLICKED(IDC_HANDLEEXCEPTIONS, &CTargetDlg::OnBnClickedHandleExceptions)
//ON_BN_CLICKED(IDC_TRANSPARENTWIN, &CTargetDlg::OnBnClickedBlitFromBackBuffer)
//ON_BN_CLICKED(IDC_TRANSPARENTALL, &CTargetDlg::OnBnClickedTransparentAll)
//ON_BN_CLICKED(IDC_ABSOLUTECOORD, &CTargetDlg::OnBnClickedAbsolutecoord)
ON_BN_CLICKED(IDC_AUTOREFRESH, &CTargetDlg::OnBnClickedAutorefresh)
ON_BN_CLICKED(IDC_FIXWINFRAME, &CTargetDlg::OnBnClickedFixWinFrame)
//ON_BN_CLICKED(IDC_HIDEHWCURSOR, &CTargetDlg::OnBnClickedHideHwCursor)
ON_BN_CLICKED(IDC_ENABLECLIPPING, &CTargetDlg::OnBnClickedEnableClipping)
ON_BN_CLICKED(IDC_VIDEOTOSYSTEMMEM, &CTargetDlg::OnBnClickedHandleCursorPos)
ON_BN_CLICKED(IDC_FIXTEXTOUT, &CTargetDlg::OnBnClickedFixTextOut)
ON_BN_CLICKED(IDC_KEEPCURSORWITHIN, &CTargetDlg::OnBnClickedKeepCursorWithin)
ON_BN_CLICKED(IDC_KEEPCURSORFIXED, &CTargetDlg::OnBnClickedKeepCursorFixed)
ON_BN_CLICKED(IDC_USERGB565, &CTargetDlg::OnBnClickedUseRGB565)
ON_BN_CLICKED(IDC_SUPPRESSDXERRORS, &CTargetDlg::OnBnClickedCursorScaling)
ON_BN_CLICKED(IDC_PREVENTMAXIMIZE, &CTargetDlg::OnBnClickedPreventMaximize)
ON_BN_CLICKED(IDC_CLIENTREMAPPING, &CTargetDlg::OnBnClickedClientRemapping)
ON_BN_CLICKED(IDC_MAPGDITOPRIMARY, &CTargetDlg::OnBnClickedMapGDIToPrimary)
ON_BN_CLICKED(IDC_LOCKWINPOS, &CTargetDlg::OnBnClickedLockWinPos)
ON_BN_CLICKED(IDC_LOCKWINSTYLE, &CTargetDlg::OnBnClickedLockWinStyle)
ON_BN_CLICKED(IDC_HOOKCHILDWIN, &CTargetDlg::OnBnClickedHookChildWin)
ON_BN_CLICKED(IDC_MESSAGEPROC, &CTargetDlg::OnBnClickedMessageProc)
ON_BN_CLICKED(IDC_RECOVERSCREENMODE, &CTargetDlg::OnBnClickedRecoverScreenMode)
ON_BN_CLICKED(IDC_REFRESHONRESIZE, &CTargetDlg::OnBnClickedRefreshOnResize)
ON_BN_CLICKED(IDC_INIT8BPP, &CTargetDlg::OnBnClickedInit8BPP)
ON_BN_CLICKED(IDC_INIT16BPP, &CTargetDlg::OnBnClickedInit16BPP)
ON_BN_CLICKED(IDC_BACKBUFATTACH, &CTargetDlg::OnBnClickedBackBufAttach)
ON_BN_CLICKED(IDC_HANDLEALTF4, &CTargetDlg::OnBnClickedHandleAltF4)
ON_EN_CHANGE(IDC_MAXX, &CTargetDlg::OnEnChangeMaxx)
ON_EN_CHANGE(IDC_INITX, &CTargetDlg::OnEnChangeInitx)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CTargetDlg Message Handler
void CTargetDlg::OnOpen()
{
// TODO: Please add your control notification handler code here
char path[MAX_PATH];
m_File.GetWindowText(path, MAX_PATH);
CFileDialog dlg( TRUE, "*.*", path, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
"Program (*.exe)|*.exe|All Files (*.*)|*.*||", this);
if( dlg.DoModal() == IDOK) m_File.SetWindowText(dlg.GetPathName());
}
void CTargetDlg::OnBnClickedUnnotify()
{
// TODO: Add your control notification handler code here
}
void CTargetDlg::OnBnClickedEmulateSurface()
{
// TODO: Add your control notification handler code here
}
void CTargetDlg::OnBnClickedNoEmulateSurface()
{
// TODO: Add your control notification handler code here
}
void CTargetDlg::OnBnClickedEmulateBuffer()
{
// TODO: Add your control notification handler code here
}
void CTargetDlg::OnBnClickedOuttrace()
{
// TODO: Add your control notification handler code here
}
void CTargetDlg::OnBnClickedLogEnabled()
{
// TODO: Add your control notification handler code here
}
void CTargetDlg::OnBnClickedHandleDC()
{
// TODO: Add your control notification handler code here
}
void CTargetDlg::OnBnClickedHandleExceptions()
{
// TODO: Add your control notification handler code here
}
//void CTargetDlg::OnBnClickedBlitFromBackBuffer()
//{
// // TODO: Add your control notification handler code here
//}
//
//void CTargetDlg::OnBnClickedTransparentAll()
//{
// // TODO: Add your control notification handler code here
//}
void CTargetDlg::OnEnChangeFile2()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
}
//void CTargetDlg::OnBnClickedAbsolutecoord()
//{
// // TODO: Add your control notification handler code here
//}
void CTargetDlg::OnBnClickedAutorefresh()
{
// TODO: Add your control notification handler code here
}
void CTargetDlg::OnBnClickedFixWinFrame()
{
// TODO: Add your control notification handler code here
}
//void CTargetDlg::OnBnClickedHideHwCursor()
//{
// // TODO: Add your control notification handler code here
//}
void CTargetDlg::OnBnClickedEnableClipping()
{
// TODO: Add your control notification handler code here
}
//void CTargetDlg::OnBnClickedMouseToScreen()
//{
// // TODO: Add your control notification handler code here
//}
void CTargetDlg::OnBnClickedHandleCursorPos()
{
// TODO: Add your control notification handler code here
}
void CTargetDlg::OnBnClickedFixTextOut()
{
// TODO: Add your control notification handler code here
}
void CTargetDlg::OnBnClickedKeepCursorWithin()
{
// TODO: Add your control notification handler code here
}
void CTargetDlg::OnBnClickedKeepCursorFixed()
{
// TODO: Add your control notification handler code here
}
//void CTargetDlg::OnBnClickedNullRectBlit()
//{
// // TODO: Add your control notification handler code here
//}
void CTargetDlg::OnBnClickedUseRGB565()
{
// TODO: Add your control notification handler code here
}
void CTargetDlg::OnBnClickedCursorScaling()
{
// TODO: Add your control notification handler code here
}
void CTargetDlg::OnBnClickedPreventMaximize()
{
// TODO: Add your control notification handler code here
}
//void CTargetDlg::OnBnClickedResetPrimary()
//{
// // TODO: Add your control notification handler code here
//}
void CTargetDlg::OnBnClickedClientRemapping()
{
// TODO: Add your control notification handler code here
}
void CTargetDlg::OnBnClickedMapGDIToPrimary()
{
// TODO: Add your control notification handler code here
}
void CTargetDlg::OnBnClickedLockWinPos()
{
// TODO: Add your control notification handler code here
}
void CTargetDlg::OnBnClickedLockWinStyle()
{
// TODO: Add your control notification handler code here
}
void CTargetDlg::OnBnClickedHookChildWin()
{
// TODO: Add your control notification handler code here
}
void CTargetDlg::OnBnClickedMessageProc()
{
// TODO: Add your control notification handler code here
}
void CTargetDlg::OnBnClickedRecoverScreenMode()
{
// TODO: Add your control notification handler code here
}
void CTargetDlg::OnBnClickedRefreshOnResize()
{
// TODO: Add your control notification handler code here
}
void CTargetDlg::OnBnClickedInit8BPP()
{
// TODO: Add your control notification handler code here
}
void CTargetDlg::OnBnClickedInit16BPP()
{
// TODO: Add your control notification handler code here
}
void CTargetDlg::OnBnClickedBackBufAttach()
{
// TODO: Add your control notification handler code here
}
void CTargetDlg::OnBnClickedHandleAltF4()
{
// TODO: Add your control notification handler code here
}
//void CTargetDlg::OnBnClickedEmulateModeX()
//{
// // TODO: Add your control notification handler code here
//}
void CTargetDlg::OnEnChangeMaxx()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
}
void CTargetDlg::OnEnChangeInitx()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
}