added 1.5x, 2.5x, 4x internal resolution
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7669 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
1f2adf0563
commit
cac36b8161
|
@ -340,8 +340,8 @@ VideoConfigDiag::VideoConfigDiag(wxWindow* parent, const std::string &title, con
|
||||||
// Internal resolution
|
// Internal resolution
|
||||||
{
|
{
|
||||||
const wxString efbscale_choices[] = { _("Auto (Window Size)"), _("Auto (Multiple of 640x528)"),
|
const wxString efbscale_choices[] = { _("Auto (Window Size)"), _("Auto (Multiple of 640x528)"),
|
||||||
wxT("1x Native (640x528)"), wxT("2x Native (1280x1056)"), wxT("3x Native (1920x1584)"),
|
wxT("1x Native (640x528)"), wxT("1.5x Native (960x792)"), wxT("2x Native (1280x1056)"),
|
||||||
wxT("0.75x Native (480x396)"), wxT("0.5x Native (320x264)"), wxT("0.375x Native (240x198)") };
|
wxT("2.5x Native (1600x1320)"), wxT("3x Native (1920x1584)"), wxT("4x Native (2560x2112)") };
|
||||||
|
|
||||||
wxChoice *const choice_efbscale = CreateChoice(page_enh,
|
wxChoice *const choice_efbscale = CreateChoice(page_enh,
|
||||||
vconfig.iEFBScale, wxGetTranslation(internal_res_desc), sizeof(efbscale_choices)/sizeof(*efbscale_choices), efbscale_choices);
|
vconfig.iEFBScale, wxGetTranslation(internal_res_desc), sizeof(efbscale_choices)/sizeof(*efbscale_choices), efbscale_choices);
|
||||||
|
|
|
@ -127,29 +127,30 @@ void Renderer::CalculateTargetScale(int x, int y, int &scaledX, int &scaledY)
|
||||||
{
|
{
|
||||||
switch (g_ActiveConfig.iEFBScale)
|
switch (g_ActiveConfig.iEFBScale)
|
||||||
{
|
{
|
||||||
case 3: // 2x
|
case 3: // 1.5x
|
||||||
|
scaledX = (x / 2) * 3;
|
||||||
|
scaledY = (y / 2) * 3;
|
||||||
|
break;
|
||||||
|
case 4: // 2x
|
||||||
scaledX = x * 2;
|
scaledX = x * 2;
|
||||||
scaledY = y * 2;
|
scaledY = y * 2;
|
||||||
break;
|
break;
|
||||||
case 4: // 3x
|
case 5: // 2.5x
|
||||||
|
scaledX = (x / 2) * 5;
|
||||||
|
scaledY = (y / 2) * 5;
|
||||||
|
break;
|
||||||
|
case 6: // 3x
|
||||||
scaledX = x * 3;
|
scaledX = x * 3;
|
||||||
scaledY = y * 3;
|
scaledY = y * 3;
|
||||||
break;
|
break;
|
||||||
case 5: // 0.75x
|
case 7: // 4x
|
||||||
scaledX = (x * 3) / 4;
|
scaledX = x * 4;
|
||||||
scaledY = (y * 3) / 4;
|
scaledY = y * 4;
|
||||||
break;
|
|
||||||
case 6: // 0.5x
|
|
||||||
scaledX = x / 2;
|
|
||||||
scaledY = y / 2;
|
|
||||||
break;
|
|
||||||
case 7: // 0.375x
|
|
||||||
scaledX = (x * 3) / 8;
|
|
||||||
scaledY = (y * 3) / 8;
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
scaledX = x;
|
scaledX = x;
|
||||||
scaledY = y;
|
scaledY = y;
|
||||||
|
break;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -169,6 +170,7 @@ bool Renderer::CalculateTargetSize(int multiplier)
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
CalculateTargetScale(EFB_WIDTH, EFB_HEIGHT, newEFBWidth, newEFBHeight);
|
CalculateTargetScale(EFB_WIDTH, EFB_HEIGHT, newEFBWidth, newEFBHeight);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
newEFBWidth *= multiplier;
|
newEFBWidth *= multiplier;
|
||||||
|
@ -216,19 +218,19 @@ void Renderer::DrawDebugText()
|
||||||
res_text = "Native";
|
res_text = "Native";
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
res_text = "2x";
|
res_text = "1.5x";
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
res_text = "3x";
|
res_text = "2x";
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
res_text = "0.75x";
|
res_text = "2.5x";
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
res_text = "0.5x";
|
res_text = "3x";
|
||||||
break;
|
break;
|
||||||
case 7:
|
case 7:
|
||||||
res_text = "0.375x";
|
res_text = "4x";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue