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:
Marko Pusljar 2011-07-05 01:11:03 +00:00
parent 1f2adf0563
commit cac36b8161
2 changed files with 22 additions and 20 deletions

View File

@ -340,8 +340,8 @@ VideoConfigDiag::VideoConfigDiag(wxWindow* parent, const std::string &title, con
// Internal resolution
{
const wxString efbscale_choices[] = { _("Auto (Window Size)"), _("Auto (Multiple of 640x528)"),
wxT("1x Native (640x528)"), wxT("2x Native (1280x1056)"), wxT("3x Native (1920x1584)"),
wxT("0.75x Native (480x396)"), wxT("0.5x Native (320x264)"), wxT("0.375x Native (240x198)") };
wxT("1x Native (640x528)"), wxT("1.5x Native (960x792)"), wxT("2x Native (1280x1056)"),
wxT("2.5x Native (1600x1320)"), wxT("3x Native (1920x1584)"), wxT("4x Native (2560x2112)") };
wxChoice *const choice_efbscale = CreateChoice(page_enh,
vconfig.iEFBScale, wxGetTranslation(internal_res_desc), sizeof(efbscale_choices)/sizeof(*efbscale_choices), efbscale_choices);

View File

@ -127,29 +127,30 @@ void Renderer::CalculateTargetScale(int x, int y, int &scaledX, int &scaledY)
{
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;
scaledY = y * 2;
break;
case 4: // 3x
case 5: // 2.5x
scaledX = (x / 2) * 5;
scaledY = (y / 2) * 5;
break;
case 6: // 3x
scaledX = x * 3;
scaledY = y * 3;
break;
case 5: // 0.75x
scaledX = (x * 3) / 4;
scaledY = (y * 3) / 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;
case 7: // 4x
scaledX = x * 4;
scaledY = y * 4;
break;
default:
scaledX = x;
scaledY = y;
break;
};
}
@ -169,6 +170,7 @@ bool Renderer::CalculateTargetSize(int multiplier)
break;
default:
CalculateTargetScale(EFB_WIDTH, EFB_HEIGHT, newEFBWidth, newEFBHeight);
break;
}
newEFBWidth *= multiplier;
@ -216,19 +218,19 @@ void Renderer::DrawDebugText()
res_text = "Native";
break;
case 3:
res_text = "2x";
res_text = "1.5x";
break;
case 4:
res_text = "3x";
res_text = "2x";
break;
case 5:
res_text = "0.75x";
res_text = "2.5x";
break;
case 6:
res_text = "0.5x";
res_text = "3x";
break;
case 7:
res_text = "0.375x";
res_text = "4x";
break;
}