mirror of https://github.com/PCSX2/pcsx2.git
GSDx: dehacked hover description code for hacks
git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5171 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
22d9f16c02
commit
595de0a5eb
|
@ -427,67 +427,70 @@ void GSHacksDlg::OnInit()
|
||||||
SendMessage(GetDlgItem(m_hWnd, IDC_SKIPDRAWHACK), UDM_SETPOS, 0, MAKELPARAM(theApp.GetConfig("UserHacks_SkipDraw", 0), 0));
|
SendMessage(GetDlgItem(m_hWnd, IDC_SKIPDRAWHACK), UDM_SETPOS, 0, MAKELPARAM(theApp.GetConfig("UserHacks_SkipDraw", 0), 0));
|
||||||
|
|
||||||
|
|
||||||
// Hacks descriptions
|
// Hacks descriptions
|
||||||
SetWindowText(GetDlgItem(m_hWnd, IDC_HACK_DESCRIPTION), ""); // Blank it
|
SetWindowText(GetDlgItem(m_hWnd, IDC_HACK_DESCRIPTION), ""); // Blank it
|
||||||
|
|
||||||
sprintf(Hack[HK_MSAA].description, "Multisample Anti-Aliasing\n\nEnables hardware Anti-Aliasing. Needs lots of memory."
|
|
||||||
" The Z-24 modes might need to have LogarithmicZ to compensate for the bits lost (DX9 mode).");
|
|
||||||
sprintf(Hack[HK_SKIPDRAW].description, "Skipdraw\n\nSkips drawing n surfaces completely. "
|
|
||||||
"Use it, for example, to try and get rid of messed up post processing effects."
|
|
||||||
" Try values between 1 and 100.");
|
|
||||||
sprintf(Hack[HK_ALPHA].description, "Alpha Hack\n\nDifferent alpha handling. Works around some shadow problems.");
|
|
||||||
sprintf(Hack[HK_OFFSET].description, "Halfpixel\n\nMight fix some misaligned fog, bloom, or blend effect.");
|
|
||||||
sprintf(Hack[HK_SPRITE].description, "Sprite Hack\n\nHelps getting rid of black inner lines in some filtered sprites."
|
|
||||||
" Half option should be the preferred one, for Mana Khemia and ArTonelico for example."
|
|
||||||
" Full should be used for Tales of Destiny.");
|
|
||||||
sprintf(Hack[HK_WILD].description, "WildArms\n\nLowers the GS precission to avoid gaps between pixels when"
|
|
||||||
" upscaling. Full option fixes the text on WildArms games, while Half option might improve portraits"
|
|
||||||
" in ArTonelico for example.");
|
|
||||||
|
|
||||||
SetNotHover(-1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void GSHacksDlg::UpdateControls()
|
void GSHacksDlg::UpdateControls()
|
||||||
{}
|
{}
|
||||||
|
|
||||||
void GSHacksDlg::SetNotHover(int skip)
|
|
||||||
{
|
|
||||||
for(int i=0; i<HK_SIZE; i++)
|
|
||||||
{
|
|
||||||
if(skip == i) continue;
|
|
||||||
Hack[i].isHovered = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bool GSHacksDlg::OnMessage(UINT message, WPARAM wParam, LPARAM lParam)
|
bool GSHacksDlg::OnMessage(UINT message, WPARAM wParam, LPARAM lParam)
|
||||||
{
|
{
|
||||||
switch(message)
|
switch(message)
|
||||||
{
|
{
|
||||||
case WM_MOUSEMOVE:
|
case WM_SETCURSOR:
|
||||||
{
|
{
|
||||||
POINTS pos = MAKEPOINTS(lParam);
|
const char *helpstr = "";
|
||||||
|
|
||||||
if(pos.x >= 20 && pos.x <= 120)
|
POINT pos;
|
||||||
{
|
GetCursorPos(&pos);
|
||||||
int isHovering = -1;
|
ScreenToClient(m_hWnd, &pos);
|
||||||
|
|
||||||
if(pos.y >= 28 && pos.y <= 52) isHovering = HK_MSAA;
|
|
||||||
else if(pos.y >= 54 && pos.y <= 82) isHovering = HK_SKIPDRAW;
|
|
||||||
else if(pos.y >= 84 && pos.y <= 106) isHovering = HK_ALPHA;
|
|
||||||
else if(pos.y >= 112 && pos.y <= 134) isHovering = HK_OFFSET;
|
|
||||||
else if(pos.y >= 140 && pos.y <= 164) isHovering = HK_SPRITE;
|
|
||||||
else if (pos.y >= 168 && pos.y <= 190) isHovering = HK_WILD;
|
|
||||||
|
|
||||||
if(isHovering > -1 && !Hack[isHovering].isHovered)
|
HWND hoveredwnd = ChildWindowFromPointEx(m_hWnd, pos, CWP_SKIPINVISIBLE | CWP_SKIPTRANSPARENT);
|
||||||
{
|
|
||||||
Hack[isHovering].isHovered = true;
|
|
||||||
SetWindowText(GetDlgItem(m_hWnd, IDC_HACK_DESCRIPTION), Hack[isHovering].description);
|
|
||||||
SetNotHover(isHovering);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if (hoveredwnd != hovered_window)
|
||||||
|
hovered_window = hoveredwnd;
|
||||||
|
else
|
||||||
|
break;
|
||||||
|
|
||||||
} break;
|
switch (GetDlgCtrlID(hoveredwnd))
|
||||||
|
{
|
||||||
|
case IDC_SKIPDRAWHACK:
|
||||||
|
case IDC_SKIPDRAWHACKEDIT:
|
||||||
|
case IDC_STATIC_SKIPDRAW:
|
||||||
|
helpstr = "Skipdraw\n\nSkips drawing n surfaces completely. "
|
||||||
|
"Use it, for example, to try and get rid of messed up post processing effects."
|
||||||
|
" Try values between 1 and 100.";
|
||||||
|
break;
|
||||||
|
case IDC_ALPHAHACK:
|
||||||
|
helpstr = "Alpha Hack\n\nDifferent alpha handling. Works around some shadow problems.";
|
||||||
|
break;
|
||||||
|
case IDC_OFFSETHACK:
|
||||||
|
helpstr = "Halfpixel\n\nMight fix some misaligned fog, bloom, or blend effect.";
|
||||||
|
break;
|
||||||
|
case IDC_SPRITEHACK:
|
||||||
|
helpstr = "Sprite Hack\n\nHelps getting rid of black inner lines in some filtered sprites."
|
||||||
|
" Half option should be the preferred one, for Mana Khemia and ArTonelico for example."
|
||||||
|
" Full should be used for Tales of Destiny.";
|
||||||
|
break;
|
||||||
|
case IDC_WILDHACK:
|
||||||
|
helpstr = "WildArms\n\nLowers the GS precission to avoid gaps between pixels when"
|
||||||
|
" upscaling. Full option fixes the text on WildArms games, while Half option might improve portraits"
|
||||||
|
" in ArTonelico for example.";
|
||||||
|
break;
|
||||||
|
case IDC_MSAACB:
|
||||||
|
case IDC_STATIC_MSAA:
|
||||||
|
helpstr = "Multisample Anti-Aliasing\n\nEnables hardware Anti-Aliasing. Needs lots of memory."
|
||||||
|
" The Z-24 modes might need to have LogarithmicZ to compensate for the bits lost (DX9 mode).";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
helpstr = "";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
SetWindowText(GetDlgItem(m_hWnd, IDC_HACK_DESCRIPTION), helpstr);
|
||||||
|
|
||||||
|
} break;
|
||||||
|
|
||||||
case WM_COMMAND:
|
case WM_COMMAND:
|
||||||
{
|
{
|
||||||
|
|
|
@ -47,25 +47,9 @@ class GSHacksDlg : public GSDialog
|
||||||
|
|
||||||
bool isdx9;
|
bool isdx9;
|
||||||
|
|
||||||
enum
|
HWND hovered_window;
|
||||||
{
|
|
||||||
HK_MSAA,
|
|
||||||
HK_SKIPDRAW,
|
|
||||||
HK_ALPHA,
|
|
||||||
HK_OFFSET,
|
|
||||||
HK_SPRITE,
|
|
||||||
HK_WILD,
|
|
||||||
HK_SIZE
|
|
||||||
};
|
|
||||||
|
|
||||||
struct
|
|
||||||
{
|
|
||||||
bool isHovered;
|
|
||||||
char description[1024];
|
|
||||||
} Hack[HK_SIZE];
|
|
||||||
|
|
||||||
void UpdateControls();
|
void UpdateControls();
|
||||||
void SetNotHover(int i);
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void OnInit();
|
void OnInit();
|
||||||
|
|
|
@ -81,9 +81,9 @@ FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||||
BEGIN
|
BEGIN
|
||||||
DEFPUSHBUTTON "OK",IDOK,258,182,50,14
|
DEFPUSHBUTTON "OK",IDOK,258,182,50,14
|
||||||
GROUPBOX "Hack",IDC_STATIC,7,7,76,165
|
GROUPBOX "Hack",IDC_STATIC,7,7,76,165
|
||||||
GROUPBOX "Description",IDC_STATIC,85,7,223,165
|
GROUPBOX "Description",IDC_STATIC,85,7,223,165,0,WS_EX_TRANSPARENT
|
||||||
LTEXT "MSAA",IDC_STATIC,14,20,20,8
|
LTEXT "MSAA",IDC_STATIC_MSAA,14,20,20,8
|
||||||
LTEXT "Skipdraw",IDC_STATIC,14,37,30,8
|
LTEXT "Skipdraw",IDC_STATIC_SKIPDRAW,14,37,30,8
|
||||||
EDITTEXT IDC_SKIPDRAWHACKEDIT,45,35,24,14,ES_RIGHT | ES_AUTOHSCROLL
|
EDITTEXT IDC_SKIPDRAWHACKEDIT,45,35,24,14,ES_RIGHT | ES_AUTOHSCROLL
|
||||||
CONTROL "",IDC_SKIPDRAWHACK,"msctls_updown32",UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS,68,35,10,14
|
CONTROL "",IDC_SKIPDRAWHACK,"msctls_updown32",UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS,68,35,10,14
|
||||||
CONTROL "Alpha",IDC_ALPHAHACK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,54,34,10
|
CONTROL "Alpha",IDC_ALPHAHACK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,54,34,10
|
||||||
|
|
|
@ -90,6 +90,8 @@
|
||||||
#define IDC_HACKSBUTTON 2071
|
#define IDC_HACKSBUTTON 2071
|
||||||
#define IDC_WILDHACK 2072
|
#define IDC_WILDHACK 2072
|
||||||
#define IDC_HACK_DESCRIPTION 2073
|
#define IDC_HACK_DESCRIPTION 2073
|
||||||
|
#define IDC_STATIC_MSAA 2074
|
||||||
|
#define IDC_STATIC_SKIPDRAW 2075
|
||||||
#define IDC_COLORSPACE 3000
|
#define IDC_COLORSPACE 3000
|
||||||
#define IDR_CONVERT_FX 10000
|
#define IDR_CONVERT_FX 10000
|
||||||
#define IDR_TFX_FX 10001
|
#define IDR_TFX_FX 10001
|
||||||
|
@ -108,7 +110,7 @@
|
||||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||||
#define _APS_NEXT_RESOURCE_VALUE 10012
|
#define _APS_NEXT_RESOURCE_VALUE 10012
|
||||||
#define _APS_NEXT_COMMAND_VALUE 32771
|
#define _APS_NEXT_COMMAND_VALUE 32771
|
||||||
#define _APS_NEXT_CONTROL_VALUE 2074
|
#define _APS_NEXT_CONTROL_VALUE 2076
|
||||||
#define _APS_NEXT_SYMED_VALUE 5000
|
#define _APS_NEXT_SYMED_VALUE 5000
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue