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 // 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);

View File

@ -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;
} }