mirror of https://github.com/PCSX2/pcsx2.git
GSdx:
Team effort of KrossX and myself: Finally adding that special game fixes / hack dialog I talked about for a while. Committing this in several steps to clean up any issues easier. git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5116 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
parent
2c96d8cf44
commit
30e538a3c6
|
@ -137,9 +137,9 @@ uint32 GSDevice9::GetMaxDepth(uint32 msaa = 0)
|
|||
|
||||
void GSDevice9::ForceValidMsaaConfig()
|
||||
{
|
||||
if(0 == GetMaxDepth(theApp.GetConfig("msaa", 0)))
|
||||
if(0 == GetMaxDepth(theApp.GetConfig("UserHacks_MSAA", 0)))
|
||||
{
|
||||
theApp.SetConfig("msaa", 0); // replace invalid msaa value in ini file with 0.
|
||||
theApp.SetConfig("UserHacks_MSAA", 0); // replace invalid msaa value in ini file with 0.
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
|
||||
GSDeviceDX::GSDeviceDX()
|
||||
{
|
||||
m_msaa = theApp.GetConfig("msaa", 0);
|
||||
m_msaa = theApp.GetConfig("UserHacks_MSAA", 0);
|
||||
|
||||
m_msaa_desc.Count = 1;
|
||||
m_msaa_desc.Quality = 0;
|
||||
|
|
|
@ -106,16 +106,13 @@ void GSSettingsDlg::OnInit()
|
|||
CheckDlgButton(m_hWnd, IDC_FBA, theApp.GetConfig("fba", 1));
|
||||
CheckDlgButton(m_hWnd, IDC_AA1, theApp.GetConfig("aa1", 0));
|
||||
CheckDlgButton(m_hWnd, IDC_NATIVERES, theApp.GetConfig("nativeres", 0));
|
||||
// Hacks
|
||||
CheckDlgButton(m_hWnd, IDC_ALPHAHACK, theApp.GetConfig("UserHacks_AlphaHack", 0));
|
||||
CheckDlgButton(m_hWnd, IDC_OFFSETHACK, theApp.GetConfig("UserHacks_HalfPixelOffset", 0));
|
||||
CheckDlgButton(m_hWnd, IDC_SPRITEHACK, theApp.GetConfig("UserHacks_SpriteHack", 0));
|
||||
|
||||
// Shade Boost
|
||||
CheckDlgButton(m_hWnd, IDC_SHADEBOOST, theApp.GetConfig("ShadeBoost", 0));
|
||||
|
||||
SendMessage(GetDlgItem(m_hWnd, IDC_SKIPDRAWHACK), UDM_SETRANGE, 0, MAKELPARAM(1000, 0));
|
||||
SendMessage(GetDlgItem(m_hWnd, IDC_SKIPDRAWHACK), UDM_SETPOS, 0, MAKELPARAM(theApp.GetConfig("UserHacks_SkipDraw", 0), 0));
|
||||
|
||||
// Hacks
|
||||
CheckDlgButton(m_hWnd, IDC_HACKS_ENABLED, theApp.GetConfig("UserHacks", 0));
|
||||
|
||||
|
||||
SendMessage(GetDlgItem(m_hWnd, IDC_RESX), UDM_SETRANGE, 0, MAKELPARAM(8192, 256));
|
||||
SendMessage(GetDlgItem(m_hWnd, IDC_RESX), UDM_SETPOS, 0, MAKELPARAM(theApp.GetConfig("resx", 1024), 0));
|
||||
|
@ -123,17 +120,6 @@ void GSSettingsDlg::OnInit()
|
|||
SendMessage(GetDlgItem(m_hWnd, IDC_RESY), UDM_SETRANGE, 0, MAKELPARAM(8192, 256));
|
||||
SendMessage(GetDlgItem(m_hWnd, IDC_RESY), UDM_SETPOS, 0, MAKELPARAM(theApp.GetConfig("resy", 1024), 0));
|
||||
|
||||
int r = theApp.GetConfig("Renderer", 0);
|
||||
|
||||
if(r >= 0 && r <= 2) // DX9
|
||||
{
|
||||
GSDevice9::ForceValidMsaaConfig();
|
||||
|
||||
m_lastValidMsaa = theApp.GetConfig("msaa", 0);
|
||||
}
|
||||
|
||||
SendMessage(GetDlgItem(m_hWnd, IDC_MSAA), UDM_SETRANGE, 0, MAKELPARAM(16, 0));
|
||||
SendMessage(GetDlgItem(m_hWnd, IDC_MSAA), UDM_SETPOS, 0, MAKELPARAM(theApp.GetConfig("msaa", 0), 0));
|
||||
|
||||
SendMessage(GetDlgItem(m_hWnd, IDC_SWTHREADS), UDM_SETRANGE, 0, MAKELPARAM(16, 0));
|
||||
SendMessage(GetDlgItem(m_hWnd, IDC_SWTHREADS), UDM_SETPOS, 0, MAKELPARAM(theApp.GetConfig("extrathreads", 0), 0));
|
||||
|
@ -143,76 +129,7 @@ void GSSettingsDlg::OnInit()
|
|||
|
||||
bool GSSettingsDlg::OnCommand(HWND hWnd, UINT id, UINT code)
|
||||
{
|
||||
if(id == IDC_MSAAEDIT && code == EN_CHANGE) // validate and possibly warn user when changing msaa
|
||||
{
|
||||
//post change
|
||||
|
||||
bool dx9 = false;
|
||||
|
||||
INT_PTR i;
|
||||
|
||||
if(ComboBoxGetSelData(IDC_RENDERER, i))
|
||||
{
|
||||
dx9 = i >= 0 && i <= 2;
|
||||
}
|
||||
|
||||
if(dx9)
|
||||
{
|
||||
uint32 requestedMsaa = (int)SendMessage(GetDlgItem(m_hWnd, IDC_MSAA), UDM_GETPOS, 0, 0); // valid from OnCommand?
|
||||
uint32 derivedDepth = GSDevice9::GetMaxDepth(requestedMsaa);
|
||||
|
||||
if(derivedDepth == 0)
|
||||
{
|
||||
//FIXME: Ugly UI: HW AA is currently a uint spinbox but usually only some values are supported (e.g. only 2/4/8 or a similar set).
|
||||
// Better solution would be to use a drop-down with only valid msaa values such that we don't need this. Maybe some day.
|
||||
// Known bad behavior: When manually deleting a HW AA value to put another instead (e.g. 2 -> delete -> 4)
|
||||
// it's registered as 0 after the deletion (with possible higher derived z bits), and might issue
|
||||
// a warning when the new value is registered (i.e. 4 in our example) since it might result in fewer
|
||||
// z bits than 0, even if it's not different than the previous value (i.e. 2 in our example) z bits.
|
||||
|
||||
//Find valid msaa values, regardless of derived z buffer bits
|
||||
|
||||
string supportedAa = "";
|
||||
|
||||
for(int i = 2; i <= 16; i++)
|
||||
{
|
||||
if(GSDevice9::GetMaxDepth(i))
|
||||
{
|
||||
if(supportedAa.length()) supportedAa += "/";
|
||||
|
||||
supportedAa += format("%d", i);
|
||||
}
|
||||
}
|
||||
|
||||
if(!supportedAa.length())
|
||||
{
|
||||
supportedAa = "None";
|
||||
}
|
||||
|
||||
string s = format("AA=%d is not supported.\nSupported AA values: %s.", (int)requestedMsaa, supportedAa.c_str());
|
||||
|
||||
MessageBox(hWnd, s.c_str(),"Warning", MB_OK | MB_ICONWARNING);
|
||||
|
||||
SendMessage(GetDlgItem(m_hWnd, IDC_MSAA), UDM_SETPOS, 0, requestedMsaa = m_lastValidMsaa); // revert value from inside OnCommand? is this OK?
|
||||
}
|
||||
else if(derivedDepth < GSDevice9::GetMaxDepth(m_lastValidMsaa))
|
||||
{
|
||||
string s = format("AA=%d will force GSdx to degrade Z buffer\nfrom 32 to 24 bit, which will probably cause glitches\n(changing 'Logarithmic Z' might help some).\n\nContinue?", (int)requestedMsaa);
|
||||
|
||||
//s+= format("\nlastMsaa=%d, lastDepth=%d, newMsaa=%d, newDepth=%d", (int)m_lastValidMsaa, (int)GSDevice9::GetMaxDepth(m_lastValidMsaa), (int)requestedMsaa, (int)GSDevice9::GetMaxDepth(requestedMsaa));
|
||||
|
||||
if(IDOK != MessageBox(hWnd, s.c_str(), "Warning", MB_OKCANCEL|MB_ICONWARNING))
|
||||
{
|
||||
SendMessage(GetDlgItem(m_hWnd, IDC_MSAA), UDM_SETPOS, 0, requestedMsaa=m_lastValidMsaa); // revert value from inside OnCommand? is this OK?
|
||||
}
|
||||
}
|
||||
|
||||
m_lastValidMsaa = requestedMsaa;
|
||||
|
||||
UpdateControls();
|
||||
}
|
||||
}
|
||||
else if(id == IDC_UPSCALE_MULTIPLIER && code == CBN_SELCHANGE)
|
||||
if(id == IDC_UPSCALE_MULTIPLIER && code == CBN_SELCHANGE)
|
||||
{
|
||||
UpdateControls();
|
||||
}
|
||||
|
@ -232,6 +149,14 @@ bool GSSettingsDlg::OnCommand(HWND hWnd, UINT id, UINT code)
|
|||
{
|
||||
ShadeBoostDlg.DoModal();
|
||||
}
|
||||
else if(id == IDC_HACKS_ENABLED && code == BN_CLICKED)
|
||||
{
|
||||
UpdateControls();
|
||||
}
|
||||
else if(id == IDC_HACKSBUTTON && code == BN_CLICKED)
|
||||
{
|
||||
HacksDlg.DoModal();
|
||||
}
|
||||
else if(id == IDOK)
|
||||
{
|
||||
INT_PTR data;
|
||||
|
@ -284,28 +209,21 @@ bool GSSettingsDlg::OnCommand(HWND hWnd, UINT id, UINT code)
|
|||
theApp.SetConfig("resx", (int)SendMessage(GetDlgItem(m_hWnd, IDC_RESX), UDM_GETPOS, 0, 0));
|
||||
theApp.SetConfig("resy", (int)SendMessage(GetDlgItem(m_hWnd, IDC_RESY), UDM_GETPOS, 0, 0));
|
||||
theApp.SetConfig("extrathreads", (int)SendMessage(GetDlgItem(m_hWnd, IDC_SWTHREADS), UDM_GETPOS, 0, 0));
|
||||
theApp.SetConfig("msaa", (int)SendMessage(GetDlgItem(m_hWnd, IDC_MSAA), UDM_GETPOS, 0, 0));
|
||||
// Hacks
|
||||
theApp.SetConfig("UserHacks_AlphaHack", (int)IsDlgButtonChecked(m_hWnd, IDC_ALPHAHACK));
|
||||
theApp.SetConfig("UserHacks_HalfPixelOffset", (int)IsDlgButtonChecked(m_hWnd, IDC_OFFSETHACK));
|
||||
theApp.SetConfig("UserHacks_SpriteHack", (int)IsDlgButtonChecked(m_hWnd, IDC_SPRITEHACK));
|
||||
theApp.SetConfig("UserHacks_SkipDraw", (int)SendMessage(GetDlgItem(m_hWnd, IDC_SKIPDRAWHACK), UDM_GETPOS, 0, 0));
|
||||
|
||||
// Shade Boost
|
||||
theApp.SetConfig("ShadeBoost", (int)IsDlgButtonChecked(m_hWnd, IDC_SHADEBOOST));
|
||||
|
||||
// Hacks
|
||||
theApp.SetConfig("UserHacks", (int)IsDlgButtonChecked(m_hWnd, IDC_HACKS_ENABLED));
|
||||
}
|
||||
|
||||
return __super::OnCommand(hWnd, id, code);
|
||||
}
|
||||
|
||||
|
||||
void GSSettingsDlg::UpdateControls()
|
||||
{
|
||||
INT_PTR i;
|
||||
|
||||
bool allowHacks = !!theApp.GetConfig("allowHacks", 0);
|
||||
theApp.SetConfig("allowHacks", (int)allowHacks);
|
||||
|
||||
int scaling = 1; // in case reading the combo doesn't work, enable the custom res control anyway
|
||||
|
||||
if(ComboBoxGetSelData(IDC_UPSCALE_MULTIPLIER, i))
|
||||
|
@ -338,34 +256,23 @@ void GSSettingsDlg::UpdateControls()
|
|||
//EnableWindow(GetDlgItem(m_hWnd, IDC_AA1), sw); // Let uers set software params regardless of renderer used
|
||||
//EnableWindow(GetDlgItem(m_hWnd, IDC_SWTHREADS_EDIT), sw);
|
||||
//EnableWindow(GetDlgItem(m_hWnd, IDC_SWTHREADS), sw);
|
||||
EnableWindow(GetDlgItem(m_hWnd, IDC_MSAAEDIT), hw);
|
||||
EnableWindow(GetDlgItem(m_hWnd, IDC_MSAA), hw);
|
||||
|
||||
|
||||
// Shade Boost
|
||||
EnableWindow(GetDlgItem(m_hWnd, IDC_SHADEBUTTON), IsDlgButtonChecked(m_hWnd, IDC_SHADEBOOST) == BST_CHECKED);
|
||||
EnableWindow(GetDlgItem(m_hWnd, IDC_SHADEBUTTON), IsDlgButtonChecked(m_hWnd, IDC_SHADEBOOST) == BST_CHECKED);
|
||||
|
||||
//ShowWindow(GetDlgItem(m_hWnd, IDC_USERHACKS), allowHacks && hw) ? SW_SHOW : SW_HIDE; //Don't disable the "Hacks" frame
|
||||
ShowWindow(GetDlgItem(m_hWnd, IDC_HACKDISABLED), !(allowHacks && hw)) ? SW_SHOW : SW_HIDE;
|
||||
ShowWindow(GetDlgItem(m_hWnd, IDC_MSAAEDIT), allowHacks && hw) ? SW_SHOW : SW_HIDE;
|
||||
ShowWindow(GetDlgItem(m_hWnd, IDC_MSAA), allowHacks && hw) ? SW_SHOW : SW_HIDE;
|
||||
ShowWindow(GetDlgItem(m_hWnd, IDC_STATIC_TEXT_HWAA), allowHacks && hw) ? SW_SHOW : SW_HIDE;
|
||||
|
||||
ShowWindow(GetDlgItem(m_hWnd, IDC_ALPHAHACK), allowHacks && hw) ? SW_SHOW : SW_HIDE;
|
||||
ShowWindow(GetDlgItem(m_hWnd, IDC_OFFSETHACK), allowHacks && hw) ? SW_SHOW : SW_HIDE;
|
||||
ShowWindow(GetDlgItem(m_hWnd, IDC_SPRITEHACK), allowHacks && hw) ? SW_SHOW : SW_HIDE;
|
||||
|
||||
ShowWindow(GetDlgItem(m_hWnd, IDC_SKIPDRAWHACKEDIT), allowHacks && hw) ? SW_SHOW : SW_HIDE;
|
||||
ShowWindow(GetDlgItem(m_hWnd, IDC_SKIPDRAWHACK), allowHacks && hw) ? SW_SHOW : SW_HIDE;
|
||||
ShowWindow(GetDlgItem(m_hWnd, IDC_STATIC_TEXT_SKIPDRAW), allowHacks && hw) ? SW_SHOW : SW_HIDE;
|
||||
// Hacks
|
||||
EnableWindow(GetDlgItem(m_hWnd, IDC_HACKS_ENABLED), hw);
|
||||
EnableWindow(GetDlgItem(m_hWnd, IDC_HACKSBUTTON), hw && IsDlgButtonChecked(m_hWnd, IDC_HACKS_ENABLED) == BST_CHECKED);
|
||||
}
|
||||
}
|
||||
|
||||
// Shade Boost Dialog
|
||||
|
||||
GSShadeBostDlg::GSShadeBostDlg() :
|
||||
GSDialog(IDD_SHADEBOOST)
|
||||
GSDialog(IDD_SHADEBOOST)
|
||||
{}
|
||||
|
||||
|
||||
void GSShadeBostDlg::OnInit()
|
||||
{
|
||||
contrast = theApp.GetConfig("ShadeBoost_Contrast", 50);
|
||||
|
@ -395,10 +302,8 @@ void GSShadeBostDlg::UpdateControls()
|
|||
SetDlgItemText(m_hWnd, IDC_CONTRAST_TEXT, text);
|
||||
}
|
||||
|
||||
|
||||
bool GSShadeBostDlg::OnMessage(UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
|
||||
switch(message)
|
||||
{
|
||||
case WM_HSCROLL:
|
||||
|
@ -465,4 +370,92 @@ bool GSShadeBostDlg::OnMessage(UINT message, WPARAM wParam, LPARAM lParam)
|
|||
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// Hacks Dialog
|
||||
|
||||
GSHacksDlg::GSHacksDlg() :
|
||||
GSDialog(IDD_HACKS)
|
||||
{
|
||||
memset(msaa2cb, 0, sizeof(msaa2cb));
|
||||
memset(cb2msaa, 0, sizeof(cb2msaa));
|
||||
}
|
||||
|
||||
void GSHacksDlg::OnInit()
|
||||
{
|
||||
bool dx9 = (int)SendMessage(GetDlgItem(GetParent(m_hWnd), IDC_RENDERER), CB_GETCURSEL, 0, 0) / 3 == 0;
|
||||
unsigned short cb = 0;
|
||||
|
||||
if(dx9) for(unsigned short i = 0; i < 17; i++)
|
||||
{
|
||||
if( i == 1) continue;
|
||||
|
||||
int depth = GSDevice9::GetMaxDepth(i);
|
||||
|
||||
if(depth)
|
||||
{
|
||||
char text[32] = {0};
|
||||
sprintf(text, depth == 32 ? "%dx Z-32" : "%dx Z-24", i);
|
||||
SendMessage(GetDlgItem(m_hWnd, IDC_MSAACB), CB_ADDSTRING, 0, (LPARAM)text);
|
||||
|
||||
msaa2cb[i] = cb;
|
||||
cb2msaa[cb] = i;
|
||||
cb++;
|
||||
}
|
||||
}
|
||||
else for(unsigned short j = 0; j < 5; j++) // TODO: Make the same kind of check for d3d11, eventually....
|
||||
{
|
||||
unsigned short i = j == 0 ? 0 : 1 << j;
|
||||
|
||||
msaa2cb[i] = j;
|
||||
cb2msaa[j] = i;
|
||||
|
||||
char text[32] = {0};
|
||||
sprintf(text, "%dx ????", i);
|
||||
|
||||
SendMessage(GetDlgItem(m_hWnd, IDC_MSAACB), CB_ADDSTRING, 0, (LPARAM)text);
|
||||
}
|
||||
|
||||
SendMessage(GetDlgItem(m_hWnd, IDC_MSAACB), CB_SETCURSEL, msaa2cb[min(theApp.GetConfig("UserHacks_MSAA", 0), 16)], 0);
|
||||
|
||||
CheckDlgButton(m_hWnd, IDC_ALPHAHACK, theApp.GetConfig("UserHacks_AlphaHack", 0));
|
||||
CheckDlgButton(m_hWnd, IDC_OFFSETHACK, theApp.GetConfig("UserHacks_HalfPixelOffset", 0));
|
||||
CheckDlgButton(m_hWnd, IDC_SPRITEHACK, theApp.GetConfig("UserHacks_SpriteHack", 0));
|
||||
|
||||
SendMessage(GetDlgItem(m_hWnd, IDC_SKIPDRAWHACK), UDM_SETRANGE, 0, MAKELPARAM(1000, 0));
|
||||
SendMessage(GetDlgItem(m_hWnd, IDC_SKIPDRAWHACK), UDM_SETPOS, 0, MAKELPARAM(theApp.GetConfig("UserHacks_SkipDraw", 0), 0));
|
||||
}
|
||||
|
||||
void GSHacksDlg::UpdateControls()
|
||||
{}
|
||||
|
||||
bool GSHacksDlg::OnMessage(UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
switch(message)
|
||||
{
|
||||
case WM_COMMAND:
|
||||
{
|
||||
int id = LOWORD(wParam);
|
||||
|
||||
switch(id)
|
||||
{
|
||||
case IDOK:
|
||||
{
|
||||
theApp.SetConfig("UserHacks_MSAA", cb2msaa[(int)SendMessage(GetDlgItem(m_hWnd, IDC_MSAACB), CB_GETCURSEL, 0, 0)]);
|
||||
theApp.SetConfig("UserHacks_AlphaHack", (int)IsDlgButtonChecked(m_hWnd, IDC_ALPHAHACK));
|
||||
theApp.SetConfig("UserHacks_HalfPixelOffset", (int)IsDlgButtonChecked(m_hWnd, IDC_OFFSETHACK));
|
||||
theApp.SetConfig("UserHacks_SpriteHack", (int)IsDlgButtonChecked(m_hWnd, IDC_SPRITEHACK));
|
||||
theApp.SetConfig("UserHacks_SkipDraw", (int)SendMessage(GetDlgItem(m_hWnd, IDC_SKIPDRAWHACK), UDM_GETPOS, 0, 0));
|
||||
EndDialog(m_hWnd, id);
|
||||
} break;
|
||||
}
|
||||
|
||||
} break;
|
||||
|
||||
case WM_CLOSE:EndDialog(m_hWnd, IDCANCEL); break;
|
||||
|
||||
default: return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -40,6 +40,23 @@ public:
|
|||
GSShadeBostDlg();
|
||||
};
|
||||
|
||||
class GSHacksDlg : public GSDialog
|
||||
{
|
||||
unsigned short cb2msaa[17];
|
||||
unsigned short msaa2cb[17];
|
||||
|
||||
bool isdx9;
|
||||
|
||||
void UpdateControls();
|
||||
|
||||
protected:
|
||||
void OnInit();
|
||||
bool OnMessage(UINT message, WPARAM wParam, LPARAM lParam);
|
||||
|
||||
public:
|
||||
GSHacksDlg();
|
||||
};
|
||||
|
||||
class GSSettingsDlg : public GSDialog
|
||||
{
|
||||
list<D3DDISPLAYMODE> m_modes;
|
||||
|
@ -55,6 +72,7 @@ protected:
|
|||
|
||||
// Shade Boost
|
||||
GSShadeBostDlg ShadeBoostDlg;
|
||||
GSHacksDlg HacksDlg;
|
||||
|
||||
public:
|
||||
GSSettingsDlg(bool isOpen2);
|
||||
|
|
|
@ -74,6 +74,30 @@ IDB_LOGO10 BITMAP "res\\logo10.bmp"
|
|||
// Dialog
|
||||
//
|
||||
|
||||
IDD_HACKS DIALOGEX 0, 0, 316, 133
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Hacks Configuration"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK",IDOK,259,112,50,14
|
||||
GROUPBOX "Hack",IDC_STATIC,7,7,76,100
|
||||
GROUPBOX "Description",IDC_STATIC,86,7,223,100
|
||||
LTEXT "MSAA",IDC_STATIC,14,20,20,8
|
||||
LTEXT "Skipdraw",IDC_STATIC,14,37,30,8
|
||||
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 "Alpha",IDC_ALPHAHACK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,54,34,10
|
||||
CONTROL "Half-pixel Offset",IDC_OFFSETHACK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,14,71,65,10
|
||||
CONTROL "Sprite",IDC_SPRITEHACK,"Button",BS_AUTO3STATE | WS_TABSTOP,14,88,35,10
|
||||
LTEXT "It tickles your GPU's fancy",IDC_STATIC,92,20,84,8
|
||||
LTEXT "Makes Kratos a sad panda. Don't try with values over 9000.",IDC_STATIC,92,37,193,8
|
||||
LTEXT "Static",IDC_STATIC,92,54,19,8
|
||||
LTEXT "Static",IDC_STATIC,92,71,19,8
|
||||
LTEXT "Yup, another Static",IDC_STATIC,92,88,63,8
|
||||
LTEXT "USE AT YOUR OWN RISK!",IDC_STATIC,7,115,84,8,WS_DISABLED
|
||||
COMBOBOX IDC_MSAACB,35,18,44,63,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_SHADEBOOST DIALOGEX 0, 0, 316, 129
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Shade Boost Settings"
|
||||
|
@ -93,7 +117,7 @@ BEGIN
|
|||
RTEXT "100",IDC_CONTRAST_TEXT,288,75,15,8
|
||||
END
|
||||
|
||||
IDD_CONFIG DIALOGEX 0, 0, 189, 337
|
||||
IDD_CONFIG DIALOGEX 0, 0, 189, 330
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Settings..."
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
|
@ -101,47 +125,40 @@ BEGIN
|
|||
CONTROL 2022,IDC_LOGO11,"Static",SS_BITMAP,7,7,175,42
|
||||
CONTROL 2021,IDC_LOGO9,"Static",SS_BITMAP,7,7,175,44
|
||||
LTEXT "Resolution:",IDC_STATIC,7,58,37,8
|
||||
COMBOBOX IDC_RESOLUTION,71,56,111,125,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
COMBOBOX IDC_RESOLUTION,71,56,72,125,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
LTEXT "Renderer:",IDC_STATIC,7,73,34,8
|
||||
COMBOBOX IDC_RENDERER,71,71,111,118,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
LTEXT "Interlacing (F5):",IDC_STATIC,7,89,53,8
|
||||
COMBOBOX IDC_INTERLACE,71,86,111,98,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
LTEXT "Aspect Ratio (F6):",IDC_STATIC,7,104,60,8
|
||||
COMBOBOX IDC_ASPECTRATIO,71,101,111,98,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
DEFPUSHBUTTON "OK",IDOK,43,316,50,14
|
||||
PUSHBUTTON "Cancel",IDCANCEL,96,316,50,14
|
||||
CONTROL "Windowed",IDC_WINDOWED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,89,244,93,10
|
||||
LTEXT "D3D internal res:",IDC_STATIC,18,135,55,8
|
||||
EDITTEXT IDC_RESX_EDIT,82,132,35,13,ES_AUTOHSCROLL | ES_NUMBER
|
||||
CONTROL "",IDC_RESX,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,110,135,11,14
|
||||
EDITTEXT IDC_RESY_EDIT,120,132,35,13,ES_AUTOHSCROLL | ES_NUMBER
|
||||
CONTROL "",IDC_RESY,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,144,135,11,14
|
||||
CONTROL "Native",IDC_NATIVERES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,123,165,33,10
|
||||
COMBOBOX IDC_UPSCALE_MULTIPLIER,82,147,74,98,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
LTEXT "Or use Scaling:",IDC_STATIC,18,150,49,8
|
||||
LTEXT "Or use original PS2 resolution :",IDC_STATIC,18,165,99,8
|
||||
EDITTEXT IDC_MSAAEDIT,45,272,35,13,ES_AUTOHSCROLL | ES_NUMBER
|
||||
CONTROL "",IDC_MSAA,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,76,274,11,14
|
||||
LTEXT "HW AA",IDC_STATIC_TEXT_HWAA,18,274,24,8
|
||||
GROUPBOX "D3D Enhancements (can cause glitches)",IDC_STATIC,7,117,175,66
|
||||
LTEXT "Extra rendering threads:",IDC_STATIC,7,202,80,8
|
||||
EDITTEXT IDC_SWTHREADS_EDIT,89,200,35,13,ES_AUTOHSCROLL | ES_NUMBER
|
||||
CONTROL "",IDC_SWTHREADS,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,117,203,11,14
|
||||
CONTROL "Texture filtering",IDC_FILTER,"Button",BS_AUTO3STATE | WS_TABSTOP,7,216,67,10
|
||||
CONTROL "Logarithmic Z",IDC_LOGZ,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,89,217,58,10
|
||||
CONTROL "Allow 8-bit textures",IDC_PALTEX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,230,82,10
|
||||
CONTROL "Alpha correction (FBA)",IDC_FBA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,89,230,93,10
|
||||
CONTROL "Edge anti-aliasing",IDC_AA1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,244,72,10
|
||||
CONTROL "Alpha Hack",IDC_ALPHAHACK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,293,51,10
|
||||
CONTROL "Offset Hack",IDC_OFFSETHACK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,67,293,51,10
|
||||
GROUPBOX "Hacks",IDC_USERHACKS,7,257,175,53,BS_CENTER
|
||||
EDITTEXT IDC_SKIPDRAWHACKEDIT,122,272,40,14,ES_AUTOHSCROLL | ES_NUMBER
|
||||
CONTROL "",IDC_SKIPDRAWHACK,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,161,274,11,14
|
||||
LTEXT "SkipDraw:",IDC_STATIC_TEXT_SKIPDRAW,89,274,33,8
|
||||
CONTROL "Sprite Hack",IDC_SPRITEHACK,"Button",BS_AUTO3STATE | WS_TABSTOP,123,293,51,10
|
||||
LTEXT "HACKS DISABLED",IDC_HACKDISABLED,64,281,57,8,WS_DISABLED
|
||||
CONTROL "Enable Shade Boost",IDC_SHADEBOOST,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,187,79,10
|
||||
PUSHBUTTON "Settings...",IDC_SHADEBUTTON,88,184,94,14
|
||||
DEFPUSHBUTTON "OK",IDOK,43,309,50,14
|
||||
PUSHBUTTON "Cancel",IDCANCEL,96,309,50,14
|
||||
CONTROL "Window",IDC_WINDOWED,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,146,58,36,10
|
||||
LTEXT "D3D internal res:",IDC_STATIC,18,137,55,8
|
||||
EDITTEXT IDC_RESX_EDIT,82,134,35,13,ES_AUTOHSCROLL | ES_NUMBER
|
||||
CONTROL "",IDC_RESX,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,110,133,11,14
|
||||
EDITTEXT IDC_RESY_EDIT,120,134,35,13,ES_AUTOHSCROLL | ES_NUMBER
|
||||
CONTROL "",IDC_RESY,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,146,133,11,14
|
||||
CONTROL "Native",IDC_NATIVERES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,123,167,33,10
|
||||
COMBOBOX IDC_UPSCALE_MULTIPLIER,82,149,74,98,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
LTEXT "Or use Scaling:",IDC_STATIC,18,152,49,8
|
||||
LTEXT "Or use original PS2 resolution :",IDC_STATIC,18,167,99,8
|
||||
GROUPBOX "D3D Enhancements (can cause glitches)",IDC_STATIC,7,119,175,66,BS_CENTER
|
||||
LTEXT "Extra rendering threads:",IDC_STATIC,11,277,80,8
|
||||
EDITTEXT IDC_SWTHREADS_EDIT,93,276,35,13,ES_AUTOHSCROLL | ES_NUMBER
|
||||
CONTROL "",IDC_SWTHREADS,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,124,275,11,14
|
||||
CONTROL "Texture filtering",IDC_FILTER,"Button",BS_AUTO3STATE | WS_TABSTOP,11,215,67,10
|
||||
CONTROL "Logarithmic Z",IDC_LOGZ,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,89,216,58,10
|
||||
CONTROL "Allow 8-bit textures",IDC_PALTEX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,231,78,10
|
||||
CONTROL "Alpha correction (FBA)",IDC_FBA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,89,231,85,10
|
||||
CONTROL "Edge anti-aliasing (AA1)",IDC_AA1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,292,93,10
|
||||
CONTROL "Enable Shade Boost",IDC_SHADEBOOST,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,189,79,10
|
||||
PUSHBUTTON "Settings...",IDC_SHADEBUTTON,88,186,87,14
|
||||
GROUPBOX "Software Mode Settings",IDC_STATIC,7,265,175,42,BS_CENTER
|
||||
GROUPBOX "Hardware Mode Settings",IDC_STATIC,7,203,175,61,BS_CENTER
|
||||
CONTROL "Enable HW Hacks",IDC_HACKS_ENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,247,71,10
|
||||
PUSHBUTTON "Configuration...",IDC_HACKSBUTTON,88,244,87,14
|
||||
END
|
||||
|
||||
IDD_CAPTURE DIALOGEX 0, 0, 279, 71
|
||||
|
@ -188,52 +205,43 @@ BEGIN
|
|||
CONTROL "Windowed",IDC_WINDOWED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,129,157,49,10
|
||||
END
|
||||
|
||||
IDD_CONFIG2 DIALOGEX 0, 0, 187, 342
|
||||
IDD_CONFIG2 DIALOGEX 0, 0, 187, 311
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Settings..."
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
CONTROL 2022,IDC_LOGO11,"Static",SS_BITMAP,6,6,173,42
|
||||
DEFPUSHBUTTON "OK",IDOK,41,320,50,14
|
||||
DEFPUSHBUTTON "OK",IDOK,35,290,50,14
|
||||
LTEXT "Renderer:",IDC_STATIC,6,57,34,8
|
||||
COMBOBOX IDC_RENDERER,70,55,111,118,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
LTEXT "Interlacing (F5):",IDC_STATIC,6,73,81,8
|
||||
COMBOBOX IDC_INTERLACE,70,70,111,98,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
LTEXT "Custom resolution:",IDC_STATIC,26,134,65,8
|
||||
EDITTEXT IDC_RESX_EDIT,92,132,35,13,ES_AUTOHSCROLL | ES_NUMBER
|
||||
CONTROL "",IDC_RESX,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,120,135,11,14
|
||||
CONTROL "",IDC_RESX,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,120,132,11,14
|
||||
EDITTEXT IDC_RESY_EDIT,130,132,35,13,ES_AUTOHSCROLL | ES_NUMBER
|
||||
CONTROL "",IDC_RESY,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,154,130,11,14
|
||||
CONTROL "",IDC_RESY,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,154,132,11,14
|
||||
CONTROL "Native",IDC_NATIVERES,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,92,105,33,10
|
||||
LTEXT "Extra rendering threads:",IDC_STATIC,11,233,80,8
|
||||
EDITTEXT IDC_SWTHREADS_EDIT,94,231,35,13,ES_AUTOHSCROLL | ES_NUMBER
|
||||
CONTROL "",IDC_SWTHREADS,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,127,234,11,14
|
||||
LTEXT "Extra rendering threads:",IDC_STATIC,11,252,80,8
|
||||
EDITTEXT IDC_SWTHREADS_EDIT,94,250,35,13,ES_AUTOHSCROLL | ES_NUMBER
|
||||
CONTROL "",IDC_SWTHREADS,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,129,249,11,14
|
||||
COMBOBOX IDC_UPSCALE_MULTIPLIER,92,117,74,98,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
LTEXT "Or use Scaling:",IDC_STATIC,38,119,49,8
|
||||
LTEXT "Original PS2 resolution :",IDC_STATIC,10,105,80,8
|
||||
CONTROL "Edge anti-aliasing (AA1)",IDC_AA1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,249,93,10
|
||||
PUSHBUTTON "Cancel",IDCANCEL,95,320,50,14
|
||||
CONTROL "Edge anti-aliasing (AA1)",IDC_AA1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,268,93,10
|
||||
PUSHBUTTON "Cancel",IDCANCEL,89,290,50,14
|
||||
CONTROL 2021,IDC_LOGO9,"Static",SS_BITMAP,6,6,175,44
|
||||
CONTROL "Alpha Hack",IDC_ALPHAHACK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,298,51,10
|
||||
CONTROL "Offset Hack",IDC_OFFSETHACK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,65,298,51,10
|
||||
GROUPBOX "Hacks",IDC_USERHACKS,6,269,175,45,BS_CENTER
|
||||
EDITTEXT IDC_SKIPDRAWHACKEDIT,125,279,40,14,ES_AUTOHSCROLL | ES_NUMBER
|
||||
CONTROL "",IDC_SKIPDRAWHACK,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,164,281,11,14
|
||||
LTEXT "Skipdraw",IDC_STATIC_TEXT_SKIPDRAW,93,281,30,8
|
||||
EDITTEXT IDC_MSAAEDIT,38,279,35,13,ES_AUTOHSCROLL | ES_NUMBER
|
||||
CONTROL "",IDC_MSAA,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,72,282,11,14
|
||||
GROUPBOX "D3D Internal resolution (can cause glitches)",IDC_STATIC,6,87,175,64,BS_CENTER
|
||||
GROUPBOX "Software Mode Settings",IDC_STATIC,6,217,175,50,BS_CENTER
|
||||
GROUPBOX "Hardware Mode Settings",IDC_STATIC,6,171,175,45,BS_CENTER
|
||||
CONTROL "Logarithmic Z",IDC_LOGZ,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,92,185,58,10
|
||||
CONTROL "Alpha correction (FBA)",IDC_FBA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,92,198,87,10
|
||||
CONTROL "Allow 8-bit textures",IDC_PALTEX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,198,82,10
|
||||
GROUPBOX "Software Mode Settings",IDC_STATIC,6,236,175,50,BS_CENTER
|
||||
GROUPBOX "Hardware Mode Settings",IDC_STATIC,6,171,175,63,BS_CENTER
|
||||
CONTROL "Logarithmic Z",IDC_LOGZ,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,92,184,58,10
|
||||
CONTROL "Alpha correction (FBA)",IDC_FBA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,92,200,87,10
|
||||
CONTROL "Allow 8-bit textures",IDC_PALTEX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,200,82,10
|
||||
CONTROL "Texture filtering",IDC_FILTER,"Button",BS_AUTO3STATE | WS_TABSTOP,10,184,67,10
|
||||
LTEXT "HW AA",IDC_STATIC_TEXT_HWAA,11,281,24,8
|
||||
CONTROL "Sprite Hack",IDC_SPRITEHACK,"Button",BS_AUTO3STATE | WS_TABSTOP,125,298,51,10
|
||||
LTEXT "HACKS DISABLED",IDC_HACKDISABLED,62,287,57,8,WS_DISABLED
|
||||
CONTROL "Enable Shade Boost",IDC_SHADEBOOST,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,157,79,10
|
||||
PUSHBUTTON "Settings...",IDC_SHADEBUTTON,95,154,75,14
|
||||
CONTROL "Enable HW Hacks",IDC_HACKS_ENABLED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,216,71,10
|
||||
PUSHBUTTON "Configuration...",IDC_HACKSBUTTON,95,213,75,14
|
||||
END
|
||||
|
||||
|
||||
|
@ -245,6 +253,14 @@ END
|
|||
#ifdef APSTUDIO_INVOKED
|
||||
GUIDELINES DESIGNINFO
|
||||
BEGIN
|
||||
IDD_HACKS, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 309
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 126
|
||||
END
|
||||
|
||||
IDD_SHADEBOOST, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
|
@ -261,7 +277,7 @@ BEGIN
|
|||
VERTGUIDE, 89
|
||||
VERTGUIDE, 182
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 330
|
||||
BOTTOMMARGIN, 323
|
||||
HORZGUIDE, 49
|
||||
END
|
||||
|
||||
|
@ -289,7 +305,7 @@ BEGIN
|
|||
RIGHTMARGIN, 181
|
||||
VERTGUIDE, 87
|
||||
TOPMARGIN, 6
|
||||
BOTTOMMARGIN, 335
|
||||
BOTTOMMARGIN, 304
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
|
|
@ -82,9 +82,12 @@
|
|||
#define IDC_CONTRAST_SLIDER 2056
|
||||
#define IDC_SHADEBUTTON 2058
|
||||
#define IDC_SHADEBOOST 2059
|
||||
#define IDC_HACKS_ENABLED 2060
|
||||
#define IDC_SATURATION_TEXT 2061
|
||||
#define IDC_BRIGHTNESS_TEXT 2062
|
||||
#define IDC_CONTRAST_TEXT 2063
|
||||
#define IDC_MSAACB 2070
|
||||
#define IDC_HACKSBUTTON 2071
|
||||
#define IDC_COLORSPACE 3000
|
||||
#define IDR_CONVERT_FX 10000
|
||||
#define IDR_TFX_FX 10001
|
||||
|
@ -95,14 +98,15 @@
|
|||
#define IDR_CS_FX 10006
|
||||
#define IDD_SHADEBOOST 10007
|
||||
#define IDR_SHADEBOOST_FX 10009
|
||||
#define IDD_HACKS 10011
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 10011
|
||||
#define _APS_NEXT_RESOURCE_VALUE 10012
|
||||
#define _APS_NEXT_COMMAND_VALUE 32771
|
||||
#define _APS_NEXT_CONTROL_VALUE 2064
|
||||
#define _APS_NEXT_CONTROL_VALUE 2072
|
||||
#define _APS_NEXT_SYMED_VALUE 5000
|
||||
#endif
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue