From 6576dd758bfaf078abfb430d4b9c99b7047e4308 Mon Sep 17 00:00:00 2001 From: Johannes Schickel Date: Wed, 12 Feb 2014 17:15:07 +0100 Subject: OPENGL: Simplify shake offset application. --- backends/graphics/opengl/opengl-graphics.cpp | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) (limited to 'backends/graphics') diff --git a/backends/graphics/opengl/opengl-graphics.cpp b/backends/graphics/opengl/opengl-graphics.cpp index 925b2c5a82..a0651f2eb1 100644 --- a/backends/graphics/opengl/opengl-graphics.cpp +++ b/backends/graphics/opengl/opengl-graphics.cpp @@ -353,15 +353,7 @@ void OpenGLGraphicsManager::updateScreen() { const GLfloat shakeOffset = _gameScreenShakeOffset * (GLfloat)_displayHeight / _gameScreen->getHeight(); // First step: Draw the (virtual) game screen. - glPushMatrix(); - - // Adjust game screen shake position - GLCALL(glTranslatef(0, shakeOffset, 0)); - - // Draw the game screen - _gameScreen->draw(_displayX, _displayY, _displayWidth, _displayHeight); - - glPopMatrix(); + _gameScreen->draw(_displayX, _displayY + shakeOffset, _displayWidth, _displayHeight); // Second step: Draw the overlay if visible. if (_overlayVisible) { @@ -370,18 +362,12 @@ void OpenGLGraphicsManager::updateScreen() { // Third step: Draw the cursor if visible. if (_cursorVisible && _cursor) { - glPushMatrix(); - // Adjust game screen shake position, but only when the overlay is not // visible. - if (!_overlayVisible) { - GLCALL(glTranslatef(0, shakeOffset, 0)); - } + const GLfloat cursorOffset = _overlayVisible ? 0 : shakeOffset; - _cursor->draw(_cursorX - _cursorHotspotXScaled, _cursorY - _cursorHotspotYScaled, + _cursor->draw(_cursorX - _cursorHotspotXScaled, _cursorY - _cursorHotspotYScaled + cursorOffset, _cursorWidthScaled, _cursorHeightScaled); - - glPopMatrix(); } #ifdef USE_OSD -- cgit v1.2.3