From cac36b816198ac790aa144537186fbeec35ef57f Mon Sep 17 00:00:00 2001 From: Marko Pusljar Date: Tue, 5 Jul 2011 01:11:03 +0000 Subject: [PATCH] added 1.5x, 2.5x, 4x internal resolution git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7669 8ced0084-cf51-0410-be5f-012b33b47a6e --- Source/Core/DolphinWX/Src/VideoConfigDiag.cpp | 4 +- Source/Core/VideoCommon/Src/RenderBase.cpp | 38 ++++++++++--------- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/Source/Core/DolphinWX/Src/VideoConfigDiag.cpp b/Source/Core/DolphinWX/Src/VideoConfigDiag.cpp index 8753fc78c9..c9f6605796 100644 --- a/Source/Core/DolphinWX/Src/VideoConfigDiag.cpp +++ b/Source/Core/DolphinWX/Src/VideoConfigDiag.cpp @@ -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); diff --git a/Source/Core/VideoCommon/Src/RenderBase.cpp b/Source/Core/VideoCommon/Src/RenderBase.cpp index edb278acca..d89e582860 100644 --- a/Source/Core/VideoCommon/Src/RenderBase.cpp +++ b/Source/Core/VideoCommon/Src/RenderBase.cpp @@ -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; }