diff --git a/stepmania/src/RageDisplay.cpp b/stepmania/src/RageDisplay.cpp index 9d886dd70d..2d851516bb 100644 --- a/stepmania/src/RageDisplay.cpp +++ b/stepmania/src/RageDisplay.cpp @@ -429,22 +429,24 @@ void RageDisplay::SetBlendModeAdd() { SetBlendMode( GL_ONE, GL_ONE ); } -void RageDisplay::EnableZBuffer() + +bool RageDisplay::ZBufferEnabled() const { bool a; glGetBooleanv( GL_DEPTH_TEST, (unsigned char*)&a ); + return a; +} - if( !a ) +void RageDisplay::EnableZBuffer() +{ + if( !ZBufferEnabled() ) FlushQueue(); glEnable( GL_DEPTH_TEST ); } void RageDisplay::DisableZBuffer() { - bool a; - glGetBooleanv( GL_DEPTH_TEST, (unsigned char*)&a ); - - if( a ) + if( ZBufferEnabled() ) FlushQueue(); glDisable( GL_DEPTH_TEST ); diff --git a/stepmania/src/RageDisplay.h b/stepmania/src/RageDisplay.h index 4bfa75f9ec..2f5f7e1056 100644 --- a/stepmania/src/RageDisplay.h +++ b/stepmania/src/RageDisplay.h @@ -58,6 +58,7 @@ public: void SetTextureModeGlow(); void SetBlendModeNormal(); void SetBlendModeAdd(); + bool ZBufferEnabled() const; void EnableZBuffer(); void DisableZBuffer(); void EnableTextureWrapping();