From 42b53d93349301070b5716ff5ec529370a3038d7 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Sat, 24 Jun 2006 18:03:16 +0000 Subject: [PATCH] add GenericTweenOff --- stepmania/src/ScreenWithMenuElements.cpp | 14 +++++++++++++- stepmania/src/ScreenWithMenuElements.h | 1 + 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/stepmania/src/ScreenWithMenuElements.cpp b/stepmania/src/ScreenWithMenuElements.cpp index 47dd8fad3b..4a572d7623 100644 --- a/stepmania/src/ScreenWithMenuElements.cpp +++ b/stepmania/src/ScreenWithMenuElements.cpp @@ -232,7 +232,19 @@ void ScreenWithMenuElements::ResetTimer() void ScreenWithMenuElements::StartTransitioningScreen( ScreenMessage smSendWhenDone ) { - TweenOffScreen(); + if( GenericTweenOff() ) + { + this->PlayCommand( "Off" ); + + // If we're a stacked screen, then there's someone else between us and the + // background, so don't tween it off. + if( !SCREENMAN->IsStackedScreen(this) ) + SCREENMAN->PlaySharedBackgroundOffCommand(); + } + else + { + TweenOffScreen(); + } if( WAIT_FOR_CHILDREN_BEFORE_TWEENING_OUT ) { diff --git a/stepmania/src/ScreenWithMenuElements.h b/stepmania/src/ScreenWithMenuElements.h index a80b0e6279..0680817d59 100644 --- a/stepmania/src/ScreenWithMenuElements.h +++ b/stepmania/src/ScreenWithMenuElements.h @@ -44,6 +44,7 @@ protected: * TweenOnScreen will not be called. (Eventually, all screens should * use this, and this will be removed.) */ virtual bool GenericTweenOn() const { return false; } + virtual bool GenericTweenOff() const { return false; } AutoActor m_sprUnderlay; AutoActor m_autoHeader;