WIP WinFrontend UI for the new OpenGL compatabilty tradeoffs. Should be fully functional except for CheckValid3DSettingInt where I messed up so I left it commented out, honestly it's probably not needed anyways as there's already checks in place, it just doesn't update ini until you save settings. UI is still a mess, will have to work on that later.

This commit is contained in:
Jules.A 2018-11-21 21:48:30 +08:00
parent 6f8c060db6
commit 30e9fb9c46
4 changed files with 173 additions and 101 deletions

View File

@ -425,6 +425,9 @@ static int sndbuffersize=DESMUME_SAMPLE_RATE*8/60;
int sndvolume=100;
const int possibleMSAA[] = {0, 2, 4, 8, 16, 32};
const int possibleBPP[] = {15, 18, 24};
const int possibleTexScale[] = {1, 2, 4};
int maxSamples = 0;
bool didGetMaxSamples = false;
@ -2014,10 +2017,10 @@ int _main()
CommonSettings.spu_advanced = GetPrivateProfileBool("Sound", "SpuAdvanced", true, IniName);
CommonSettings.advanced_timing = GetPrivateProfileBool("Emulation", "AdvancedTiming", true, IniName);
CommonSettings.gamehacks.en = GetPrivateProfileBool("Emulation", "GameHacks", true, IniName);
CommonSettings.GFX3D_Renderer_TextureDeposterize = GetPrivateProfileBool("3D", "TextureDeposterize ", 0, IniName);
CommonSettings.GFX3D_Renderer_TextureSmoothing = GetPrivateProfileBool("3D", "TextureSmooth ", 0, IniName);
gpu_bpp = GetPrivateProfileInt("3D", "GpuBpp ", 18, IniName);
CommonSettings.GFX3D_Renderer_TextureDeposterize = GetPrivateProfileBool("3D", "TextureDeposterize", 0, IniName);
CommonSettings.GFX3D_Renderer_TextureSmoothing = GetPrivateProfileBool("3D", "TextureSmooth", 0, IniName);
gpu_bpp = GetPrivateProfileInt("3D", "GpuBpp", 18, IniName);
//CheckValid3DSettingInt("GpuBpp", 3, 18);
lostFocusPause = GetPrivateProfileBool("Focus", "BackgroundPause", false, IniName);
@ -2264,7 +2267,6 @@ int _main()
CommonSettings.GFX3D_Renderer_TextureScalingFactor = (cmdline.texture_upscale != -1) ? cmdline.texture_upscale : GetPrivateProfileInt("3D", "TextureScalingFactor ", 1, IniName);
int newPrescaleHD = (cmdline.gpu_resolution_multiplier != -1) ? cmdline.gpu_resolution_multiplier : GetPrivateProfileInt("3D", "PrescaleHD", 1, IniName);
video.SetPrescale(newPrescaleHD, 1);
GPU->SetCustomFramebufferSize(GPU_FRAMEBUFFER_NATIVE_WIDTH*video.prescaleHD, GPU_FRAMEBUFFER_NATIVE_HEIGHT*video.prescaleHD);
SyncGpuBpp();
@ -2365,9 +2367,13 @@ int _main()
CommonSettings.GFX3D_Fog = GetPrivateProfileBool("3D", "EnableFog", 1, IniName);
CommonSettings.GFX3D_Texture = GetPrivateProfileBool("3D", "EnableTexture", 1, IniName);
CommonSettings.GFX3D_LineHack = GetPrivateProfileBool("3D", "EnableLineHack", 1, IniName);
CommonSettings.GFX3D_TXTHack = GetPrivateProfileBool("3D", "EnableTXTHack", 0, IniName); //default is off.
CommonSettings.GFX3D_TXTHack = GetPrivateProfileBool("3D", "EnableTXTHack", 0, IniName); // Default is off.
CommonSettings.OpenGL_Emulation_ShadowPolygon = GetPrivateProfileBool("3D", "EnableShadowPolygon", 1, IniName);
CommonSettings.OpenGL_Emulation_SpecialZeroAlphaBlending = GetPrivateProfileBool("3D", "EnableSpecialZeroAlphaBlending", 1, IniName);
CommonSettings.OpenGL_Emulation_DepthEqualsTestTolerance = GetPrivateProfileBool("3D", "EnableDepthEqualsTestTolerance", 1, IniName);
CommonSettings.OpenGL_Emulation_DepthLEqualPolygonFacing = GetPrivateProfileBool("3D", "EnableDepthLEqualPolygonFacing", 0, IniName); // Default is off.
CommonSettings.GFX3D_Renderer_MultisampleSize = GetPrivateProfileInt("3D", "MultisampleSize", 0, IniName);
CheckValidMSAA(CommonSettings.GFX3D_Renderer_MultisampleSize);
//CheckValid3DSettingInt("MultisampleSize", 6, 0);
Change3DCoreWithFallbackAndSave(cur3DCore);
@ -2640,22 +2646,46 @@ int WINAPI WinMain (HINSTANCE hThisInstance,
return ret;
}
void CheckValidMSAA(int userVal)
{
bool validMSAA = false;
for(int i=0; i < 6; i++)
{
if(CommonSettings.GFX3D_Renderer_MultisampleSize == possibleMSAA[i])
validMSAA = true;
}
if(!validMSAA)
{
CommonSettings.GFX3D_Renderer_MultisampleSize=0; //Disable if user entered invalid value
WritePrivateProfileInt("3D","MultisampleSize",0,IniName);
}
}
// Only supports MultisampleSize, TextureScalingFactor and GpuBpp right now.
//void CheckValid3DSettingInt(char *settingName, int arrSize, int defaultVal)
//{
// bool valid = false;
//
// for (int i = 0; i <= arrSize; i++)
// {
// if (settingName == "MultisampleSize" && CommonSettings.GFX3D_Renderer_MultisampleSize == possibleMSAA[i])
// { // Set to defaults if user entered wrong value.
// valid = true;
// }
// else if (settingName == "GpuBpp" && gpu_bpp == possibleBPP[i])
// {
// valid = true;
// }
// else if (settingName == "TextureScalingFactor" && CommonSettings.GFX3D_Renderer_TextureScalingFactor == possibleTexScale[i])
// {
// valid = true;
// }
// }
//
// if (!valid)
// {
// if (settingName == "MultisampleSize")
// {
// CommonSettings.GFX3D_Renderer_MultisampleSize = defaultVal;
// WritePrivateProfileInt("3D", "MultisampleSize", defaultVal, IniName);
// }
// else if (settingName == "GpuBpp")
// {
// gpu_bpp = defaultVal;
// WritePrivateProfileInt("3D", "GpuBpp", defaultVal, IniName);
// }
// else if (settingName == "TextureScalingFactor")
// {
// CommonSettings.GFX3D_Renderer_TextureScalingFactor = defaultVal;
// WritePrivateProfileInt("3D", "TextureScalingFactor", defaultVal, IniName);
// }
// }
//}
void UpdateScreenRects()
@ -5728,28 +5758,48 @@ LRESULT CALLBACK GFX3DSettingsDlgProc(HWND hw, UINT msg, WPARAM wp, LPARAM lp)
}
}
CheckDlgButton(hw,IDC_INTERPOLATECOLOR, CommonSettings.GFX3D_HighResolutionInterpolateColor);
CheckDlgButton(hw,IDC_3DSETTINGS_EDGEMARK, CommonSettings.GFX3D_EdgeMark);
CheckDlgButton(hw,IDC_3DSETTINGS_FOG, CommonSettings.GFX3D_Fog);
CheckDlgButton(hw,IDC_3DSETTINGS_TEXTURE, CommonSettings.GFX3D_Texture);
CheckDlgButton(hw,IDC_3DSETTINGS_LINEHACK, CommonSettings.GFX3D_LineHack);
CheckDlgButton(hw,IDC_TXTHACK, CommonSettings.GFX3D_TXTHack);
CheckDlgButton(hw, IDC_INTERPOLATECOLOR, CommonSettings.GFX3D_HighResolutionInterpolateColor);
CheckDlgButton(hw, IDC_3DSETTINGS_LINEHACK, CommonSettings.GFX3D_LineHack);
CheckDlgButton(hw, IDC_TXTHACK, CommonSettings.GFX3D_TXTHack);
CheckDlgButton(hw, IDC_TEX_DEPOSTERIZE, CommonSettings.GFX3D_Renderer_TextureDeposterize);
CheckDlgButton(hw, IDC_3DSETTINGS_EDGEMARK, CommonSettings.GFX3D_EdgeMark);
CheckDlgButton(hw, IDC_3DSETTINGS_FOG, CommonSettings.GFX3D_Fog);
CheckDlgButton(hw, IDC_3DSETTINGS_TEXTURE, CommonSettings.GFX3D_Texture);
CheckDlgButton(hw, IDC_TEX_SMOOTH, CommonSettings.GFX3D_Renderer_TextureSmoothing);
CheckDlgButton(hw, IDC_SHADOW_POLYGONS, CommonSettings.OpenGL_Emulation_ShadowPolygon);
CheckDlgButton(hw, IDC_S_0_ALPHA_BLEND, CommonSettings.OpenGL_Emulation_SpecialZeroAlphaBlending);
CheckDlgButton(hw, IDC_DEPTH_EQUALS_TT, CommonSettings.OpenGL_Emulation_DepthEqualsTestTolerance);
CheckDlgButton(hw, IDC_DEPTH_LESS_EQUALS_TT, CommonSettings.OpenGL_Emulation_DepthLEqualPolygonFacing);
CheckDlgButton(hw,IDC_TEXSCALE_1, CommonSettings.GFX3D_Renderer_TextureScalingFactor == 1);
CheckDlgButton(hw,IDC_TEXSCALE_2, CommonSettings.GFX3D_Renderer_TextureScalingFactor == 2);
CheckDlgButton(hw,IDC_TEXSCALE_4, CommonSettings.GFX3D_Renderer_TextureScalingFactor == 4);
ComboBox_AddString(GetDlgItem(hw, IDC_GPU_COLOR_DEPTH), "15 bit");
ComboBox_AddString(GetDlgItem(hw, IDC_GPU_COLOR_DEPTH), "18 bit");
ComboBox_AddString(GetDlgItem(hw, IDC_GPU_COLOR_DEPTH), "24 bit");
ComboBox_SetCurSel(GetDlgItem(hw, IDC_GPU_COLOR_DEPTH), 1);
CheckDlgButton(hw,IDC_GPU_24BPP, gpu_bpp == 24);
CheckDlgButton(hw,IDC_GPU_18BPP, gpu_bpp == 18);
CheckDlgButton(hw,IDC_GPU_15BPP, gpu_bpp == 15);
ComboBox_AddString(GetDlgItem(hw, IDC_TEXSCALE), "1x");
ComboBox_AddString(GetDlgItem(hw, IDC_TEXSCALE), "2x");
ComboBox_AddString(GetDlgItem(hw, IDC_TEXSCALE), "4x");
ComboBox_SetCurSel(GetDlgItem(hw, IDC_TEXSCALE), 0);
CheckDlgButton(hw,IDC_TEX_DEPOSTERIZE, CommonSettings.GFX3D_Renderer_TextureDeposterize);
CheckDlgButton(hw,IDC_TEX_SMOOTH, CommonSettings.GFX3D_Renderer_TextureSmoothing);
//CheckValid3DSettingInt("GpuBpp", 3, 18);
//CheckValid3DSettingInt("TextureScalingFactor", 3, 1);
SendDlgItemMessage(hw,IDC_NUD_PRESCALEHD, UDM_SETRANGE, 0, MAKELPARAM(16, 1));
SendDlgItemMessage(hw,IDC_NUD_PRESCALEHD, UDM_SETPOS, 0, video.prescaleHD);
for (int i = 0; i < 3; i++)
{
if (gpu_bpp == possibleBPP[i])
{
ComboBox_SetCurSel(GetDlgItem(hw, IDC_GPU_COLOR_DEPTH), i);
}
if (CommonSettings.GFX3D_Renderer_TextureScalingFactor == possibleTexScale[i])
{
ComboBox_SetCurSel(GetDlgItem(hw, IDC_TEXSCALE), i);
}
}
CheckValidMSAA(CommonSettings.GFX3D_Renderer_MultisampleSize);
SendDlgItemMessage(hw, IDC_NUD_PRESCALEHD, UDM_SETRANGE, 0, MAKELPARAM(16, 1));
SendDlgItemMessage(hw, IDC_NUD_PRESCALEHD, UDM_SETPOS, 0, video.prescaleHD);
//CheckValid3DSettingInt("MultisampleSize", 6, 0);
if (CommonSettings.GFX3D_Renderer_MultisampleSize > maxSamples)
{
CommonSettings.GFX3D_Renderer_MultisampleSize = maxSamples;
@ -5757,13 +5807,15 @@ LRESULT CALLBACK GFX3DSettingsDlgProc(HWND hw, UINT msg, WPARAM wp, LPARAM lp)
}
// Generate the MSAA pop-up menu
ComboBox_AddString(GetDlgItem(hw,IDC_MULTISAMPLE_SIZE), MSAADescriptions[0]);
ComboBox_SetCurSel(GetDlgItem(hw,IDC_MULTISAMPLE_SIZE), 0);
ComboBox_AddString(GetDlgItem(hw, IDC_MULTISAMPLE_SIZE), MSAADescriptions[0]);
ComboBox_SetCurSel(GetDlgItem(hw, IDC_MULTISAMPLE_SIZE), 0);
for (int i = 1, z = 2; z <= maxSamples; i++, z*=2)
{
ComboBox_AddString(GetDlgItem(hw,IDC_MULTISAMPLE_SIZE),MSAADescriptions[i]);
if (z == CommonSettings.GFX3D_Renderer_MultisampleSize)
ComboBox_SetCurSel(GetDlgItem(hw,IDC_MULTISAMPLE_SIZE), i);
ComboBox_AddString(GetDlgItem(hw, IDC_MULTISAMPLE_SIZE), MSAADescriptions[i]);
if (z == CommonSettings.GFX3D_Renderer_MultisampleSize)
{
ComboBox_SetCurSel(GetDlgItem(hw, IDC_MULTISAMPLE_SIZE), i);
}
}
// Generate the 3D Rendering Engine pop-up menu
@ -5780,13 +5832,22 @@ LRESULT CALLBACK GFX3DSettingsDlgProc(HWND hw, UINT msg, WPARAM wp, LPARAM lp)
{
case IDOK:
{
CommonSettings.GFX3D_HighResolutionInterpolateColor = IsDlgCheckboxChecked(hw,IDC_INTERPOLATECOLOR);
CommonSettings.GFX3D_EdgeMark = IsDlgCheckboxChecked(hw,IDC_3DSETTINGS_EDGEMARK);
CommonSettings.GFX3D_Fog = IsDlgCheckboxChecked(hw,IDC_3DSETTINGS_FOG);
CommonSettings.GFX3D_Texture = IsDlgCheckboxChecked(hw,IDC_3DSETTINGS_TEXTURE);
CommonSettings.GFX3D_LineHack = IsDlgCheckboxChecked(hw,IDC_3DSETTINGS_LINEHACK);
CommonSettings.GFX3D_TXTHack = IsDlgCheckboxChecked(hw,IDC_TXTHACK);
CommonSettings.GFX3D_HighResolutionInterpolateColor = IsDlgCheckboxChecked(hw, IDC_INTERPOLATECOLOR);
CommonSettings.GFX3D_LineHack = IsDlgCheckboxChecked(hw, IDC_3DSETTINGS_LINEHACK);
CommonSettings.GFX3D_TXTHack = IsDlgCheckboxChecked(hw, IDC_TXTHACK);
gpu_bpp = possibleBPP[SendDlgItemMessage(hw, IDC_GPU_COLOR_DEPTH, CB_GETCURSEL, 0, 0)];
CommonSettings.GFX3D_Renderer_TextureScalingFactor = possibleTexScale[SendDlgItemMessage(hw, IDC_TEXSCALE, CB_GETCURSEL, 0, 0)];
CommonSettings.GFX3D_Renderer_TextureDeposterize = IsDlgCheckboxChecked(hw, IDC_TEX_DEPOSTERIZE);
CommonSettings.GFX3D_EdgeMark = IsDlgCheckboxChecked(hw, IDC_3DSETTINGS_EDGEMARK);
CommonSettings.GFX3D_Fog = IsDlgCheckboxChecked(hw, IDC_3DSETTINGS_FOG);
CommonSettings.GFX3D_Texture = IsDlgCheckboxChecked(hw, IDC_3DSETTINGS_TEXTURE);
CommonSettings.GFX3D_Renderer_MultisampleSize = possibleMSAA[SendDlgItemMessage(hw, IDC_MULTISAMPLE_SIZE, CB_GETCURSEL, 0, 0)];
CommonSettings.GFX3D_Renderer_TextureSmoothing = IsDlgCheckboxChecked(hw, IDC_TEX_SMOOTH);
CommonSettings.OpenGL_Emulation_ShadowPolygon = IsDlgCheckboxChecked(hw, IDC_SHADOW_POLYGONS);
CommonSettings.OpenGL_Emulation_SpecialZeroAlphaBlending = IsDlgCheckboxChecked(hw, IDC_S_0_ALPHA_BLEND);
CommonSettings.OpenGL_Emulation_DepthEqualsTestTolerance = IsDlgCheckboxChecked(hw, IDC_DEPTH_EQUALS_TT);
CommonSettings.OpenGL_Emulation_DepthLEqualPolygonFacing = IsDlgCheckboxChecked(hw, IDC_DEPTH_LESS_EQUALS_TT);
int newPrescaleHD = video.prescaleHD;
LRESULT scaleResult = SendDlgItemMessage(hw, IDC_NUD_PRESCALEHD, UDM_GETPOS, 0, 0);
if (HIWORD(scaleResult) == 0)
@ -5794,17 +5855,6 @@ LRESULT CALLBACK GFX3DSettingsDlgProc(HWND hw, UINT msg, WPARAM wp, LPARAM lp)
newPrescaleHD = LOWORD(scaleResult);
}
if(IsDlgCheckboxChecked(hw,IDC_TEXSCALE_1)) CommonSettings.GFX3D_Renderer_TextureScalingFactor = 1;
else if(IsDlgCheckboxChecked(hw,IDC_TEXSCALE_2)) CommonSettings.GFX3D_Renderer_TextureScalingFactor = 2;
else if(IsDlgCheckboxChecked(hw,IDC_TEXSCALE_4)) CommonSettings.GFX3D_Renderer_TextureScalingFactor = 4;
if(IsDlgCheckboxChecked(hw,IDC_GPU_15BPP)) gpu_bpp = 15;
else if(IsDlgCheckboxChecked(hw,IDC_GPU_18BPP)) gpu_bpp = 18;
else if(IsDlgCheckboxChecked(hw,IDC_GPU_24BPP)) gpu_bpp = 24;
CommonSettings.GFX3D_Renderer_TextureDeposterize = IsDlgCheckboxChecked(hw,IDC_TEX_DEPOSTERIZE);
CommonSettings.GFX3D_Renderer_TextureSmoothing = IsDlgCheckboxChecked(hw,IDC_TEX_SMOOTH);
CommonSettings.GFX3D_Renderer_MultisampleSize = possibleMSAA[SendDlgItemMessage(hw,IDC_MULTISAMPLE_SIZE,CB_GETCURSEL,0,0)];
{
Lock lock(win_backbuffer_sync);
if(display_mutex) slock_lock(display_mutex);
@ -5824,17 +5874,21 @@ LRESULT CALLBACK GFX3DSettingsDlgProc(HWND hw, UINT msg, WPARAM wp, LPARAM lp)
}
WritePrivateProfileBool("3D", "HighResolutionInterpolateColor", CommonSettings.GFX3D_HighResolutionInterpolateColor, IniName);
WritePrivateProfileBool("3D", "EnableTXTHack", CommonSettings.GFX3D_TXTHack, IniName);
WritePrivateProfileBool("3D", "EnableLineHack", CommonSettings.GFX3D_LineHack, IniName);
WritePrivateProfileInt ("3D", "PrescaleHD", video.prescaleHD, IniName);
WritePrivateProfileInt ("3D", "GpuBpp", gpu_bpp, IniName);
WritePrivateProfileInt ("3D", "TextureScalingFactor", CommonSettings.GFX3D_Renderer_TextureScalingFactor, IniName);
WritePrivateProfileBool("3D", "TextureDeposterize", CommonSettings.GFX3D_Renderer_TextureDeposterize, IniName);
WritePrivateProfileBool("3D", "EnableEdgeMark", CommonSettings.GFX3D_EdgeMark, IniName);
WritePrivateProfileBool("3D", "EnableFog", CommonSettings.GFX3D_Fog, IniName);
WritePrivateProfileBool("3D", "EnableTexture", CommonSettings.GFX3D_Texture, IniName);
WritePrivateProfileInt ("3D", "EnableLineHack", CommonSettings.GFX3D_LineHack, IniName);
WritePrivateProfileInt ("3D", "MultisampleSize", CommonSettings.GFX3D_Renderer_MultisampleSize, IniName);
WritePrivateProfileInt ("3D", "EnableTXTHack", CommonSettings.GFX3D_TXTHack, IniName);
WritePrivateProfileInt ("3D", "PrescaleHD", video.prescaleHD, IniName);
WritePrivateProfileInt ("3D", "TextureScalingFactor", CommonSettings.GFX3D_Renderer_TextureScalingFactor, IniName);
WritePrivateProfileBool("3D", "TextureDeposterize", CommonSettings.GFX3D_Renderer_TextureDeposterize, IniName);
WritePrivateProfileBool("3D", "TextureSmooth", CommonSettings.GFX3D_Renderer_TextureSmoothing, IniName);
WritePrivateProfileInt ("3D", "GpuBpp", gpu_bpp, IniName);
WritePrivateProfileBool("3D", "EnableShadowPolygon", CommonSettings.OpenGL_Emulation_ShadowPolygon, IniName);
WritePrivateProfileBool("3D", "EnableSpecialZeroAlphaBlending", CommonSettings.OpenGL_Emulation_SpecialZeroAlphaBlending, IniName);
WritePrivateProfileBool("3D", "EnableDepthEqualsTestTolerance", CommonSettings.OpenGL_Emulation_DepthEqualsTestTolerance, IniName);
WritePrivateProfileBool("3D", "EnableDepthLEqualPolygonFacing", CommonSettings.OpenGL_Emulation_DepthLEqualPolygonFacing, IniName);
}
case IDCANCEL:
{

View File

@ -53,7 +53,7 @@ void SaveWindowSize(HWND hwnd);
void SaveWindowSizePos(HWND hwnd);
void RestoreWindow(HWND hwnd);
void ShowFullScreen(HWND hwnd);
void CheckValidMSAA(int userVal);
//void CheckValid3DSettingInt(char *settingName, int arrSize, int defaultVal);
extern bool frameCounterDisplay;
extern bool FpsDisplay;

View File

@ -461,22 +461,16 @@
#define IDC_TEXT_PRESCALEHD 1062
#define IDC_STATIC_S3 1063
#define IDC_STATIC_S4 1064
#define IDC_TEX_DEPOSTERIZE 1064
#define IDC_EVALUE 1065
#define IDC_TEX_DEPOSTERIZE2 1065
#define IDC_TEX_SMOOTH 1065
#define IDC_WIFI_ENABLED 1065
#define IDC_STATIC_RANGE 1066
#define IDC_TEXSCALE_1 1066
#define IDC_WIFI_COMPAT 1066
#define IDC_TEXSCALE_2 1067
#define IDC_TEXSCALE 1067
#define IDC_BADD 1068
#define IDC_LIST 1069
#define IDC_TEXSCALE_4 1070
#define IDC_TEX_DEPOSTERIZE 1070
#define IDC_SNUMBER 1071
#define IDC_GPU_24BPP 1071
#define IDC_GPU_18BPP 1072
#define IDC_GPU_15BPP 1073
#define IDC_TEX_SMOOTH 1072
#define IDC_CHECK1 1074
#define IDC_CHECK2 1075
#define IDC_CAP0_SRC 1075
@ -502,6 +496,11 @@
#define IDC_S8X 1092
#define IDC_S16X 1093
#define IDC_MULTISAMPLE_SIZE 1094
#define IDC_GPU_COLOR_DEPTH 1095
#define IDC_SHADOW_POLYGONS 1096
#define IDC_S_0_ALPHA_BLEND 1097
#define IDC_DEPTH_EQUALS_TT 1098
#define IDC_DEPTH_LESS_EQUALS_TT 1099
#define IDM_FIRMSETTINGS 1100
#define IDD_FIRMSETTINGS 1101
#define IDC_EDIT1 1102
@ -1088,6 +1087,14 @@
#define ID_LABEL_TXTHACK1 64003
#define ID_LABEL_TXTHACK2 64004
#define ID_LABEL_MSAA_SAMPLES 64005
#define ID_LABEL_GPU_COLOR_DEPTH 64006
#define ID_LABEL_TEXTURE_SCALING 64007
#define ID_LABEL_ACCURACY_TRADE 64008
#define ID_LABEL_SHADOW_POLYGONS 64009
#define ID_LABEL_S_0_ALPHA_BLEND 640010
#define ID_LABEL_DEPTH_EQUALS_TT 640011
#define ID_LABEL_DEPTH_LEQUALS_TT 640012
// Next default values for new objects
//

View File

@ -110,42 +110,52 @@ BEGIN
PUSHBUTTON "&Cancel",IDCANCEL,127,94,50,16
END
IDD_3DSETTINGS DIALOGEX 0, 0, 311, 182
IDD_3DSETTINGS DIALOGEX 0, 0, 327, 279
STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "3D settings"
CAPTION "3D Settings"
FONT 8, "MS Sans Serif", 0, 0, 0x0
BEGIN
COMBOBOX IDC_3DCORE,15,20,108,138,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "Unrealistically High-Precision Color Interpolation",IDC_INTERPOLATECOLOR,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,56,165,10
CONTROL "Enable Edge Marking",IDC_3DSETTINGS_EDGEMARK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,200,119,84,10
CONTROL "Enable Fog",IDC_3DSETTINGS_FOG,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,200,129,52,10
CONTROL "Enable Textures",IDC_3DSETTINGS_TEXTURE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,200,139,67,10
LTEXT "Multisample Antialiasing:",ID_LABEL_MSAA_SAMPLES,13,145,78,8
EDITTEXT IDC_TEXT_PRESCALEHD,267,17,20,14,ES_AUTOHSCROLL
CONTROL "",IDC_NUD_PRESCALEHD,"msctls_updown32",UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS,286,17,11,14
CONTROL "Enable Edge Marking",IDC_3DSETTINGS_EDGEMARK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,199,86,84,10
CONTROL "Enable Fog",IDC_3DSETTINGS_FOG,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,200,98,52,10
CONTROL "Enable Textures",IDC_3DSETTINGS_TEXTURE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,200,110,67,10
LTEXT "Multisample Antialiasing",ID_LABEL_MSAA_SAMPLES,13,145,78,8
EDITTEXT IDC_TEXT_PRESCALEHD,272,17,27,14,ES_AUTOHSCROLL
CONTROL "",IDC_NUD_PRESCALEHD,"msctls_updown32",UDS_SETBUDDYINT | UDS_AUTOBUDDY | UDS_ARROWKEYS,297,17,12,14
PUSHBUTTON "Default",IDC_DEFAULT,130,19,50,15
DEFPUSHBUTTON "OK",IDOK,194,159,50,15
PUSHBUTTON "Cancel",IDCANCEL,254,159,50,15
DEFPUSHBUTTON "OK",IDOK,207,258,50,15
PUSHBUTTON "Cancel",IDCANCEL,269,258,50,15
GROUPBOX "3D Rendering Engine",IDC_STATIC,7,7,180,34
GROUPBOX "SoftRasterizer Options",IDC_STATIC,7,44,180,83
LTEXT "Fixes some graphical bugs involving lines, but causes some other bugs. Not many games use lines.",ID_LABEL_ZELDA_SHADOW_DEPTH_HACK2,13,106,170,18
CONTROL "Enable Line Hack",IDC_3DSETTINGS_LINEHACK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,96,73,10
LTEXT "Fixes text bugs in some games.(e.g. Etrian Odyssey)",ID_LABEL_TXTHACK1,13,77,167,11
LTEXT "May need to be toggled on/off per scene.",ID_LABEL_TXTHACK2,13,86,167,8
CONTROL "Enable TXT Hack",IDC_TXTHACK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,67,73,10
GROUPBOX "OpenGL Options",IDC_STATIC,7,131,180,43
GROUPBOX "General Options",IDC_STATIC,194,7,109,147
GROUPBOX "OpenGL Options",IDC_STATIC,7,131,312,121
GROUPBOX "General Options",IDC_STATIC,196,7,123,120
LTEXT "GPU Scaling Factor",IDC_STATIC,200,20,64,8
CONTROL "Texture Scaling 1x",IDC_TEXSCALE_1,"Button",BS_AUTORADIOBUTTON,200,82,77,10
CONTROL "Texture Scaling 2x",IDC_TEXSCALE_2,"Button",BS_AUTORADIOBUTTON,200,92,77,10
CONTROL "Texture Scaling 4x",IDC_TEXSCALE_4,"Button",BS_AUTORADIOBUTTON,200,102,77,10
CONTROL "Deposterize Textures",IDC_TEX_DEPOSTERIZE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,200,71,79,10
CONTROL "Smooth Textures",IDC_TEX_SMOOTH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,13,160,75,10
LTEXT "You may need to toggle off && on by scene.",ID_LABEL_TXTHACK2,13,85,165,11
CONTROL "GPU Color Depth 24 bit",IDC_GPU_24BPP,"Button",BS_AUTORADIOBUTTON,200,34,98,10
CONTROL "GPU Color Depth 18 bit",IDC_GPU_18BPP,"Button",BS_AUTORADIOBUTTON,200,44,98,10
CONTROL "GPU Color Depth 15 bit",IDC_GPU_15BPP,"Button",BS_AUTORADIOBUTTON,200,54,98,10
COMBOBOX IDC_MULTISAMPLE_SIZE,95,144,84,138,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CONTROL "Deposterize Textures",IDC_TEX_DEPOSTERIZE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,200,74,79,10
CONTROL "Smooth Textures",IDC_TEX_SMOOTH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,171,146,75,10
COMBOBOX IDC_MULTISAMPLE_SIZE,93,144,71,138,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
COMBOBOX IDC_GPU_COLOR_DEPTH,263,39,47,138,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
LTEXT "GPU Color Depth",ID_LABEL_GPU_COLOR_DEPTH,201,41,62,8
LTEXT "Texture Scaling",ID_LABEL_TEXTURE_SCALING,201,60,54,8
COMBOBOX IDC_TEXSCALE,263,58,47,138,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
CTEXT "Trade Accuracy For Performance",ID_LABEL_ACCURACY_TRADE,16,161,294,11,WS_BORDER
CONTROL "Enable Shadow Polygons",IDC_SHADOW_POLYGONS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,176,98,10
CONTROL "Enable Special Zero Alpha Blending",IDC_S_0_ALPHA_BLEND,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,171,177,126,10
CONTROL "Enable Depth-Equals Test Tolerance",IDC_DEPTH_EQUALS_TT,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,209,133,10
CONTROL "Enable Depth-LEqual Polygon Facing",IDC_DEPTH_LESS_EQUALS_TT,
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,171,208,133,10
LTEXT "Disabling this option may cause some shadows to disappear.",ID_LABEL_SHADOW_POLYGONS,11,189,152,17
LTEXT "Disabling this option may cause certain polygons to get caught up in Z-fighting or disappear completely.",ID_LABEL_S_0_ALPHA_BLEND,11,222,154,26
LTEXT "Disabling this option may cause some colors to look darker than they normally should.",ID_LABEL_DEPTH_EQUALS_TT,172,188,143,17
LTEXT "Disabling this option may cause some fragments to disappear. Default by default due to performance impact.",ID_LABEL_DEPTH_LEQUALS_TT,173,220,142,27
END
IDD_ABOUT_BOX DIALOGEX 0, 0, 268, 198
@ -1862,6 +1872,7 @@ BEGIN
IDD_3DSETTINGS, DIALOG
BEGIN
BOTTOMMARGIN, 266
END
IDD_CHEAT_ADD, DIALOG