From 09197e0ffcd78a54cae9a80889bef6e6e9440511 Mon Sep 17 00:00:00 2001 From: NeoBrainX Date: Mon, 31 Dec 2012 16:21:23 +0100 Subject: X11: Disable OSD hotkeys when the corresponding option is disabled. --- Source/Core/VideoCommon/Src/RenderBase.cpp | 184 +++++++++++++++-------------- 1 file changed, 94 insertions(+), 90 deletions(-) (limited to 'Source/Core/VideoCommon/Src/RenderBase.cpp') diff --git a/Source/Core/VideoCommon/Src/RenderBase.cpp b/Source/Core/VideoCommon/Src/RenderBase.cpp index 577570c568..8e1d012fa2 100644 --- a/Source/Core/VideoCommon/Src/RenderBase.cpp +++ b/Source/Core/VideoCommon/Src/RenderBase.cpp @@ -91,6 +91,9 @@ Renderer::Renderer() : frame_data(NULL), bLastFrameDumped(false) #if defined _WIN32 || defined HAVE_LIBAV bAVIDumping = false; #endif + + OSDChoice = 0; + OSDTime = 0; } Renderer::~Renderer() @@ -263,108 +266,109 @@ void Renderer::SetScreenshot(const char *filename) // Create On-Screen-Messages void Renderer::DrawDebugText() { + if (!g_Config.bOSDHotKey) + return; + // OSD Menu messages - if (g_ActiveConfig.bOSDHotKey) + if (OSDChoice > 0) { - if (OSDChoice > 0) - { - OSDTime = Common::Timer::GetTimeMs() + 3000; - OSDChoice = -OSDChoice; - } - if ((u32)OSDTime > Common::Timer::GetTimeMs()) - { - const char* res_text = ""; - switch (g_ActiveConfig.iEFBScale) - { - case 0: - res_text = "Auto (fractional)"; - break; - case 1: - res_text = "Auto (integral)"; - break; - case 2: - res_text = "Native"; - break; - case 3: - res_text = "1.5x"; - break; - case 4: - res_text = "2x"; - break; - case 5: - res_text = "2.5x"; - break; - case 6: - res_text = "3x"; - break; - case 7: - res_text = "4x"; - break; - } + OSDTime = Common::Timer::GetTimeMs() + 3000; + OSDChoice = -OSDChoice; + } - const char* ar_text = ""; - switch(g_ActiveConfig.iAspectRatio) - { - case ASPECT_AUTO: - ar_text = "Auto"; - break; - case ASPECT_FORCE_16_9: - ar_text = "16:9"; - break; - case ASPECT_FORCE_4_3: - ar_text = "4:3"; - break; - case ASPECT_STRETCH: - ar_text = "Stretch"; - break; - } + if ((u32)OSDTime <= Common::Timer::GetTimeMs()) + return; - const char* const efbcopy_text = g_ActiveConfig.bEFBCopyEnable ? - (g_ActiveConfig.bCopyEFBToTexture ? "to Texture" : "to RAM") : "Disabled"; + const char* res_text = ""; + switch (g_ActiveConfig.iEFBScale) + { + case 0: + res_text = "Auto (fractional)"; + break; + case 1: + res_text = "Auto (integral)"; + break; + case 2: + res_text = "Native"; + break; + case 3: + res_text = "1.5x"; + break; + case 4: + res_text = "2x"; + break; + case 5: + res_text = "2.5x"; + break; + case 6: + res_text = "3x"; + break; + case 7: + res_text = "4x"; + break; + } - // The rows - const std::string lines[] = - { - std::string("3: Internal Resolution: ") + res_text, - std::string("4: Aspect Ratio: ") + ar_text + (g_ActiveConfig.bCrop ? " (crop)" : ""), - std::string("5: Copy EFB: ") + efbcopy_text, - std::string("6: Fog: ") + (g_ActiveConfig.bDisableFog ? "Disabled" : "Enabled"), - }; + const char* ar_text = ""; + switch(g_ActiveConfig.iAspectRatio) + { + case ASPECT_AUTO: + ar_text = "Auto"; + break; + case ASPECT_FORCE_16_9: + ar_text = "16:9"; + break; + case ASPECT_FORCE_4_3: + ar_text = "4:3"; + break; + case ASPECT_STRETCH: + ar_text = "Stretch"; + break; + } - enum { lines_count = sizeof(lines)/sizeof(*lines) }; + const char* const efbcopy_text = g_ActiveConfig.bEFBCopyEnable ? + (g_ActiveConfig.bCopyEFBToTexture ? "to Texture" : "to RAM") : "Disabled"; - std::string final_yellow, final_cyan; + // The rows + const std::string lines[] = + { + std::string("3: Internal Resolution: ") + res_text, + std::string("4: Aspect Ratio: ") + ar_text + (g_ActiveConfig.bCrop ? " (crop)" : ""), + std::string("5: Copy EFB: ") + efbcopy_text, + std::string("6: Fog: ") + (g_ActiveConfig.bDisableFog ? "Disabled" : "Enabled"), + }; - // If there is more text than this we will have a collision - if (g_ActiveConfig.bShowFPS) - { - final_yellow = final_cyan = "\n\n"; - } + enum { lines_count = sizeof(lines)/sizeof(*lines) }; - // The latest changed setting in yellow - for (int i = 0; i != lines_count; ++i) - { - if (OSDChoice == -i - 1) - final_yellow += lines[i]; - final_yellow += '\n'; - } + std::string final_yellow, final_cyan; - // The other settings in cyan - for (int i = 0; i != lines_count; ++i) - { - if (OSDChoice != -i - 1) - final_cyan += lines[i]; - final_cyan += '\n'; - } + // If there is more text than this we will have a collision + if (g_ActiveConfig.bShowFPS) + { + final_yellow = final_cyan = "\n\n"; + } - // Render a shadow - g_renderer->RenderText(final_cyan.c_str(), 21, 21, 0xDD000000); - g_renderer->RenderText(final_yellow.c_str(), 21, 21, 0xDD000000); - //and then the text - g_renderer->RenderText(final_cyan.c_str(), 20, 20, 0xFF00FFFF); - g_renderer->RenderText(final_yellow.c_str(), 20, 20, 0xFFFFFF00); - } + // The latest changed setting in yellow + for (int i = 0; i != lines_count; ++i) + { + if (OSDChoice == -i - 1) + final_yellow += lines[i]; + final_yellow += '\n'; } + + // The other settings in cyan + for (int i = 0; i != lines_count; ++i) + { + if (OSDChoice != -i - 1) + final_cyan += lines[i]; + final_cyan += '\n'; + } + + // Render a shadow + g_renderer->RenderText(final_cyan.c_str(), 21, 21, 0xDD000000); + g_renderer->RenderText(final_yellow.c_str(), 21, 21, 0xDD000000); + //and then the text + g_renderer->RenderText(final_cyan.c_str(), 20, 20, 0xFF00FFFF); + g_renderer->RenderText(final_yellow.c_str(), 20, 20, 0xFFFFFF00); } // TODO: remove -- cgit v1.2.3 From 87431666639c7036ea0f5b0d499df639cefb3d51 Mon Sep 17 00:00:00 2001 From: lioncash Date: Wed, 16 Jan 2013 09:42:51 -0500 Subject: Made several variables/parameters unsigned in the DX9, DX11 and OGL plugins. They make more sense like this (given their names). This also gets rid of some more typecasts in some cases. --- Source/Core/VideoCommon/Src/RenderBase.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'Source/Core/VideoCommon/Src/RenderBase.cpp') diff --git a/Source/Core/VideoCommon/Src/RenderBase.cpp b/Source/Core/VideoCommon/Src/RenderBase.cpp index 8e1d012fa2..1ea7afbc1e 100644 --- a/Source/Core/VideoCommon/Src/RenderBase.cpp +++ b/Source/Core/VideoCommon/Src/RenderBase.cpp @@ -60,12 +60,12 @@ std::string Renderer::s_sScreenshotName; volatile bool Renderer::s_bScreenshot; // The framebuffer size -int Renderer::s_target_width; -int Renderer::s_target_height; +unsigned int Renderer::s_target_width; +unsigned int Renderer::s_target_height; // TODO: Add functionality to reinit all the render targets when the window is resized. -int Renderer::s_backbuffer_width; -int Renderer::s_backbuffer_height; +unsigned int Renderer::s_backbuffer_width; +unsigned int Renderer::s_backbuffer_height; TargetRectangle Renderer::target_rc; @@ -163,7 +163,7 @@ int Renderer::EFBToScaledY(int y) }; } -void Renderer::CalculateTargetScale(int x, int y, int &scaledX, int &scaledY) +void Renderer::CalculateTargetScale(unsigned int x, unsigned int y, unsigned int &scaledX, unsigned int &scaledY) { if (g_ActiveConfig.iEFBScale == 0 || g_ActiveConfig.iEFBScale == 1) { @@ -172,15 +172,15 @@ void Renderer::CalculateTargetScale(int x, int y, int &scaledX, int &scaledY) } else { - scaledX = x * (int)efb_scale_numeratorX / (int)efb_scale_denominatorX; - scaledY = y * (int)efb_scale_numeratorY / (int)efb_scale_denominatorY; + scaledX = x * (efb_scale_numeratorX / efb_scale_denominatorX); + scaledY = y * (efb_scale_numeratorY / efb_scale_denominatorY); } } // return true if target size changed -bool Renderer::CalculateTargetSize(unsigned int framebuffer_width, unsigned int framebuffer_height, int multiplier) +bool Renderer::CalculateTargetSize(unsigned int framebuffer_width, unsigned int framebuffer_height, unsigned int multiplier) { - int newEFBWidth, newEFBHeight; + u32 newEFBWidth, newEFBHeight; // TODO: Ugly. Clean up switch (s_LastEFBScale) @@ -374,7 +374,7 @@ void Renderer::DrawDebugText() // TODO: remove extern bool g_aspect_wide; -void Renderer::UpdateDrawRectangle(int backbuffer_width, int backbuffer_height) +void Renderer::UpdateDrawRectangle(u32 backbuffer_width, u32 backbuffer_height) { float FloatGLWidth = (float)backbuffer_width; float FloatGLHeight = (float)backbuffer_height; @@ -492,7 +492,7 @@ void Renderer::UpdateDrawRectangle(int backbuffer_width, int backbuffer_height) target_rc.bottom = YOffset + iHeight; } -void Renderer::SetWindowSize(int width, int height) +void Renderer::SetWindowSize(u32 width, u32 height) { if (width < 1) width = 1; -- cgit v1.2.3 From 0ef3bd9c778a786ec439950f65c863d64ccf98b6 Mon Sep 17 00:00:00 2001 From: lioncash Date: Wed, 16 Jan 2013 15:46:11 -0500 Subject: Revert "Made several variables/parameters unsigned in the DX9, DX11 and OGL plugins. They make more sense like this (given their names)." Turns out I was wrong in my previous commit. My bad. This reverts commit 87431666639c7036ea0f5b0d499df639cefb3d51. --- Source/Core/VideoCommon/Src/RenderBase.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'Source/Core/VideoCommon/Src/RenderBase.cpp') diff --git a/Source/Core/VideoCommon/Src/RenderBase.cpp b/Source/Core/VideoCommon/Src/RenderBase.cpp index 1ea7afbc1e..8e1d012fa2 100644 --- a/Source/Core/VideoCommon/Src/RenderBase.cpp +++ b/Source/Core/VideoCommon/Src/RenderBase.cpp @@ -60,12 +60,12 @@ std::string Renderer::s_sScreenshotName; volatile bool Renderer::s_bScreenshot; // The framebuffer size -unsigned int Renderer::s_target_width; -unsigned int Renderer::s_target_height; +int Renderer::s_target_width; +int Renderer::s_target_height; // TODO: Add functionality to reinit all the render targets when the window is resized. -unsigned int Renderer::s_backbuffer_width; -unsigned int Renderer::s_backbuffer_height; +int Renderer::s_backbuffer_width; +int Renderer::s_backbuffer_height; TargetRectangle Renderer::target_rc; @@ -163,7 +163,7 @@ int Renderer::EFBToScaledY(int y) }; } -void Renderer::CalculateTargetScale(unsigned int x, unsigned int y, unsigned int &scaledX, unsigned int &scaledY) +void Renderer::CalculateTargetScale(int x, int y, int &scaledX, int &scaledY) { if (g_ActiveConfig.iEFBScale == 0 || g_ActiveConfig.iEFBScale == 1) { @@ -172,15 +172,15 @@ void Renderer::CalculateTargetScale(unsigned int x, unsigned int y, unsigned int } else { - scaledX = x * (efb_scale_numeratorX / efb_scale_denominatorX); - scaledY = y * (efb_scale_numeratorY / efb_scale_denominatorY); + scaledX = x * (int)efb_scale_numeratorX / (int)efb_scale_denominatorX; + scaledY = y * (int)efb_scale_numeratorY / (int)efb_scale_denominatorY; } } // return true if target size changed -bool Renderer::CalculateTargetSize(unsigned int framebuffer_width, unsigned int framebuffer_height, unsigned int multiplier) +bool Renderer::CalculateTargetSize(unsigned int framebuffer_width, unsigned int framebuffer_height, int multiplier) { - u32 newEFBWidth, newEFBHeight; + int newEFBWidth, newEFBHeight; // TODO: Ugly. Clean up switch (s_LastEFBScale) @@ -374,7 +374,7 @@ void Renderer::DrawDebugText() // TODO: remove extern bool g_aspect_wide; -void Renderer::UpdateDrawRectangle(u32 backbuffer_width, u32 backbuffer_height) +void Renderer::UpdateDrawRectangle(int backbuffer_width, int backbuffer_height) { float FloatGLWidth = (float)backbuffer_width; float FloatGLHeight = (float)backbuffer_height; @@ -492,7 +492,7 @@ void Renderer::UpdateDrawRectangle(u32 backbuffer_width, u32 backbuffer_height) target_rc.bottom = YOffset + iHeight; } -void Renderer::SetWindowSize(u32 width, u32 height) +void Renderer::SetWindowSize(int width, int height) { if (width < 1) width = 1; -- cgit v1.2.3