diff --git a/stepmania/Themes/default/BGAnimations/ScreenMiniMenu in.redir b/stepmania/Themes/default/BGAnimations/ScreenMiniMenu in.redir new file mode 100644 index 0000000000..c2e70e59ab --- /dev/null +++ b/stepmania/Themes/default/BGAnimations/ScreenMiniMenu in.redir @@ -0,0 +1 @@ +_prompt in diff --git a/stepmania/Themes/default/BGAnimations/ScreenMiniMenu out.redir b/stepmania/Themes/default/BGAnimations/ScreenMiniMenu out.redir new file mode 100644 index 0000000000..c589d3558c --- /dev/null +++ b/stepmania/Themes/default/BGAnimations/ScreenMiniMenu out.redir @@ -0,0 +1 @@ +_prompt out diff --git a/stepmania/Themes/default/BGAnimations/ScreenPrompt in.redir b/stepmania/Themes/default/BGAnimations/ScreenPrompt in.redir new file mode 100644 index 0000000000..c2e70e59ab --- /dev/null +++ b/stepmania/Themes/default/BGAnimations/ScreenPrompt in.redir @@ -0,0 +1 @@ +_prompt in diff --git a/stepmania/Themes/default/BGAnimations/ScreenPrompt out.redir b/stepmania/Themes/default/BGAnimations/ScreenPrompt out.redir new file mode 100644 index 0000000000..c589d3558c --- /dev/null +++ b/stepmania/Themes/default/BGAnimations/ScreenPrompt out.redir @@ -0,0 +1 @@ +_prompt out diff --git a/stepmania/Themes/default/BGAnimations/ScreenTextEntry in.redir b/stepmania/Themes/default/BGAnimations/ScreenTextEntry in.redir new file mode 100644 index 0000000000..c2e70e59ab --- /dev/null +++ b/stepmania/Themes/default/BGAnimations/ScreenTextEntry in.redir @@ -0,0 +1 @@ +_prompt in diff --git a/stepmania/Themes/default/BGAnimations/ScreenTextEntry out.redir b/stepmania/Themes/default/BGAnimations/ScreenTextEntry out.redir new file mode 100644 index 0000000000..c589d3558c --- /dev/null +++ b/stepmania/Themes/default/BGAnimations/ScreenTextEntry out.redir @@ -0,0 +1 @@ +_prompt out diff --git a/stepmania/src/ScreenEdit.cpp b/stepmania/src/ScreenEdit.cpp index 5aed3b3610..428e440674 100644 --- a/stepmania/src/ScreenEdit.cpp +++ b/stepmania/src/ScreenEdit.cpp @@ -272,7 +272,10 @@ ScreenEdit::ScreenEdit() : Screen("ScreenEdit") GAMESTATE->m_PlayerController[PLAYER_1] = HUMAN; m_Player.SetXY( PLAYER_X, PLAYER_Y ); - m_Fade.SetClosed(); + m_In.Load( THEME->GetPathToB("ScreenEdit in") ); + m_In.StartTransitioning(); + + m_Out.Load( THEME->GetPathToB("ScreenEdit out") ); m_sprHelp.Load( THEME->GetPathToG("ScreenEdit help") ); m_sprHelp.SetHorizAlign( Actor::align_left ); @@ -284,6 +287,7 @@ ScreenEdit::ScreenEdit() : Screen("ScreenEdit") m_textHelp.SetVertAlign( Actor::align_top ); m_textHelp.SetZoom( 0.5f ); m_textHelp.SetText( HELP_TEXT ); + m_textHelp.EnableShadow( false ); m_sprInfo.Load( THEME->GetPathToG("ScreenEdit Info") ); m_sprInfo.SetHorizAlign( Actor::align_right ); @@ -294,6 +298,7 @@ ScreenEdit::ScreenEdit() : Screen("ScreenEdit") m_textInfo.SetHorizAlign( Actor::align_left ); m_textInfo.SetVertAlign( Actor::align_top ); m_textInfo.SetZoom( 0.5f ); + m_textInfo.EnableShadow( false ); //m_textInfo.SetText(); // set this below every frame m_soundChangeLine.Load( THEME->GetPathToS("ScreenEdit line") ); @@ -306,8 +311,6 @@ ScreenEdit::ScreenEdit() : Screen("ScreenEdit") m_soundMusic.SetStopMode(RageSound::M_CONTINUE); m_soundAssistTick.Load( THEME->GetPathToS("ScreenEdit assist tick") ); - - m_Fade.OpenWipingRight(); } ScreenEdit::~ScreenEdit() @@ -410,7 +413,8 @@ void ScreenEdit::Update( float fDeltaTime ) m_SnapDisplay.Update( fDeltaTime ); m_GrayArrowRowEdit.Update( fDeltaTime ); m_NoteFieldEdit.Update( fDeltaTime ); - m_Fade.Update( fDeltaTime ); + m_In.Update( fDeltaTime ); + m_Out.Update( fDeltaTime ); m_sprHelp.Update( fDeltaTime ); m_textHelp.Update( fDeltaTime ); m_sprInfo.Update( fDeltaTime ); @@ -522,7 +526,8 @@ void ScreenEdit::DrawPrimitives() m_textHelp.Draw(); m_sprInfo.Draw(); m_textInfo.Draw(); - m_Fade.Draw(); + m_In.Draw(); + m_Out.Draw(); } break; case MODE_RECORDING: @@ -545,6 +550,9 @@ void ScreenEdit::Input( const DeviceInput& DeviceI, const InputEventType type, c { // LOG->Trace( "ScreenEdit::Input()" ); + if( m_In.IsTransitioning() || m_Out.IsTransitioning() ) + return; + switch( m_EditMode ) { case MODE_EDITING: InputEdit( DeviceI, type, GameI, MenuI, StyleI ); break; @@ -1283,7 +1291,7 @@ void ScreenEdit::HandleMainMenuChoice( MainMenuChoice c, int* iAnswers ) PlayPreviewMusic(); break; case exit: - SCREENMAN->SetNewScreen( "ScreenEditMenu" ); + m_Out.StartTransitioning( SM_GoToNextScreen ); break; default: ASSERT(0); diff --git a/stepmania/src/ScreenEdit.h b/stepmania/src/ScreenEdit.h index 832b562145..b50f9c6a1b 100644 --- a/stepmania/src/ScreenEdit.h +++ b/stepmania/src/ScreenEdit.h @@ -11,7 +11,7 @@ #include "Screen.h" #include "Sprite.h" -#include "TransitionFade.h" +#include "TransitionBGAnimation.h" #include "BitmapText.h" #include "Player.h" #include "RandomSample.h" @@ -79,7 +79,8 @@ protected: RageSound m_soundChangeSnap; RageSound m_soundMarker; - TransitionFade m_Fade; + TransitionBGAnimation m_In; + TransitionBGAnimation m_Out; // for MODE_RECORD diff --git a/stepmania/src/ScreenGameOver.cpp b/stepmania/src/ScreenGameOver.cpp index e39f6df932..4d99143d74 100644 --- a/stepmania/src/ScreenGameOver.cpp +++ b/stepmania/src/ScreenGameOver.cpp @@ -32,13 +32,16 @@ ScreenGameOver::ScreenGameOver() : Screen("ScreenGameOver") m_Background.LoadFromAniDir( THEME->GetPathToB("ScreenGameOver background") ); this->AddChild( &m_Background ); - m_Fade.OpenWipingRight( SM_None ); - this->AddChild( &m_Fade ); + m_In.Load( THEME->GetPathToB("ScreenGameOver in") ); + this->AddChild( &m_In ); + + m_Out.Load( THEME->GetPathToB("ScreenGameOver out") ); + this->AddChild( &m_Out ); SOUNDMAN->PlayMusic( THEME->GetPathToS("ScreenGameOver music") ); - this->PostScreenMessage( SM_PlayAnnouncer, 0.5 ); - this->PostScreenMessage( SM_StartFadingOut, 5 ); + m_In.StartTransitioning( SM_PlayAnnouncer ); + this->PostScreenMessage( SM_StartFadingOut, m_Background.GetLengthSeconds() ); } @@ -50,7 +53,7 @@ void ScreenGameOver::HandleScreenMessage( const ScreenMessage SM ) SOUNDMAN->PlayOnceFromDir( ANNOUNCER->GetPathTo("game over") ); break; case SM_StartFadingOut: - m_Fade.CloseWipingRight( SM_GoToNextScreen ); + m_Out.StartTransitioning( SM_GoToNextScreen ); break; case SM_GoToNextScreen: SCREENMAN->SetNewScreen( NEXT_SCREEN ); @@ -60,7 +63,7 @@ void ScreenGameOver::HandleScreenMessage( const ScreenMessage SM ) void ScreenGameOver::MenuStart( PlayerNumber pn ) { - if( m_Fade.IsClosing() ) + if( m_In.IsTransitioning() || m_Out.IsTransitioning() ) return; this->ClearMessageQueue(); diff --git a/stepmania/src/ScreenGameOver.h b/stepmania/src/ScreenGameOver.h index 56b2c70a87..45c95a42f1 100644 --- a/stepmania/src/ScreenGameOver.h +++ b/stepmania/src/ScreenGameOver.h @@ -11,7 +11,7 @@ #include "Screen.h" #include "BGAnimation.h" -#include "TransitionFade.h" +#include "TransitionBGAnimation.h" class ScreenGameOver : public Screen @@ -25,8 +25,9 @@ public: private: - TransitionFade m_Fade; - BGAnimation m_Background; + TransitionBGAnimation m_In; + TransitionBGAnimation m_Out; + BGAnimation m_Background; }; diff --git a/stepmania/src/ScreenMiniMenu.cpp b/stepmania/src/ScreenMiniMenu.cpp index 3de711d853..01b472180f 100644 --- a/stepmania/src/ScreenMiniMenu.cpp +++ b/stepmania/src/ScreenMiniMenu.cpp @@ -49,11 +49,8 @@ ScreenMiniMenu::ScreenMiniMenu( Menu* pDef, ScreenMessage SM_SendOnOK, ScreenMes ASSERT( m_Def.rows.size() <= MAX_MENU_ROWS ); - m_Fade.SetTransitionTime( 0.5f ); - m_Fade.SetDiffuse( RageColor(0,0,0,0.7f) ); - m_Fade.SetOpened(); - m_Fade.CloseWipingRight(); - this->AddChild( &m_Fade ); + m_Background.LoadFromAniDir( THEME->GetPathToB("ScreenMiniMenu background") ); + this->AddChild( &m_Background ); float fHeightOfAll = (m_Def.rows.size()-1)*SPACING_Y; @@ -125,7 +122,12 @@ ScreenMiniMenu::ScreenMiniMenu( Menu* pDef, ScreenMessage SM_SendOnOK, ScreenMes m_textAnswer[k].SetX( fAnswerX ); } - SOUNDMAN->PlayOnce( THEME->GetPathToS("Common prompt") ); + m_In.Load( THEME->GetPathToB("ScreenMiniMenu in") ); + m_In.StartTransitioning(); + this->AddChild( &m_In ); + + m_Out.Load( THEME->GetPathToB("ScreenMiniMenu out") ); + this->AddChild( &m_Out ); } void ScreenMiniMenu::Update( float fDeltaTime ) @@ -140,7 +142,7 @@ void ScreenMiniMenu::DrawPrimitives() void ScreenMiniMenu::Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI ) { - if( m_Fade.IsOpening() ) + if( m_In.IsTransitioning() || m_Out.IsTransitioning() ) return; if( DeviceI.device==DEVICE_KEYBOARD && type==IET_FIRST_PRESS ) @@ -212,7 +214,7 @@ void ScreenMiniMenu::MenuRight( PlayerNumber pn ) void ScreenMiniMenu::MenuStart( PlayerNumber pn ) { - m_Fade.OpenWipingRight( SM_GoToOK ); + m_Out.StartTransitioning( SM_GoToOK ); SOUNDMAN->PlayOnce( THEME->GetPathToS("Common start") ); @@ -222,7 +224,7 @@ void ScreenMiniMenu::MenuStart( PlayerNumber pn ) void ScreenMiniMenu::MenuBack( PlayerNumber pn ) { - m_Fade.OpenWipingRight( SM_GoToCancel ); + m_Out.StartTransitioning( SM_GoToCancel ); } void ScreenMiniMenu::BeforeLineChanged() diff --git a/stepmania/src/ScreenMiniMenu.h b/stepmania/src/ScreenMiniMenu.h index 9559128a72..9db613a042 100644 --- a/stepmania/src/ScreenMiniMenu.h +++ b/stepmania/src/ScreenMiniMenu.h @@ -12,7 +12,7 @@ #include "Screen.h" #include "BitmapText.h" -#include "TransitionFade.h" +#include "TransitionBGAnimation.h" #include "Quad.h" #include "RandomSample.h" @@ -92,14 +92,16 @@ protected: void AfterLineChanged(); void AfterAnswerChanged(); + BGAnimation m_Background; Menu m_Def; - TransitionFade m_Fade; BitmapText m_textTitle; BitmapText m_textLabel[MAX_MENU_ROWS]; BitmapText m_textAnswer[MAX_MENU_ROWS]; int m_iCurLine; int m_iCurAnswers[MAX_MENU_ROWS]; ScreenMessage m_SMSendOnOK, m_SMSendOnCancel; + TransitionBGAnimation m_In; + TransitionBGAnimation m_Out; public: static int s_iLastLine; diff --git a/stepmania/src/ScreenPrompt.cpp b/stepmania/src/ScreenPrompt.cpp index 6b7a1118d9..26078e187d 100644 --- a/stepmania/src/ScreenPrompt.cpp +++ b/stepmania/src/ScreenPrompt.cpp @@ -38,11 +38,8 @@ ScreenPrompt::ScreenPrompt( ScreenMessage SM_SendWhenDone, CString sText, bool b m_pOnNo = OnNo; - m_Fade.SetTransitionTime( 0.5f ); - m_Fade.SetDiffuse( RageColor(0,0,0,0.7f) ); - m_Fade.SetOpened(); - m_Fade.CloseWipingRight(); - this->AddChild( &m_Fade ); + m_Background.LoadFromAniDir( THEME->GetPathToB("ScreenPrompt background") ); + this->AddChild( &m_Background ); m_textQuestion.LoadFromFont( THEME->GetPathToF("Common normal") ); m_textQuestion.SetText( sText ); @@ -80,7 +77,12 @@ ScreenPrompt::ScreenPrompt( ScreenMessage SM_SendWhenDone, CString sText, bool b m_textAnswer[m_bAnswer].SetEffectGlowShift(); - SOUNDMAN->PlayOnce( THEME->GetPathToS("Common prompt") ); + m_In.Load( THEME->GetPathToB("ScreenPrompt in") ); + m_In.StartTransitioning(); + this->AddChild( &m_In ); + + m_Out.Load( THEME->GetPathToB("ScreenPrompt out") ); + this->AddChild( &m_Out ); } void ScreenPrompt::Update( float fDeltaTime ) @@ -95,7 +97,7 @@ void ScreenPrompt::DrawPrimitives() void ScreenPrompt::Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI ) { - if( m_Fade.IsOpening() ) + if( m_In.IsTransitioning() || m_Out.IsTransitioning() ) return; if( DeviceI.device==DEVICE_KEYBOARD && type==IET_FIRST_PRESS ) @@ -157,7 +159,7 @@ void ScreenPrompt::MenuRight( PlayerNumber pn ) void ScreenPrompt::MenuStart( PlayerNumber pn ) { - m_Fade.OpenWipingRight( SM_DoneOpeningWipingRight ); + m_Out.StartTransitioning( SM_DoneOpeningWipingRight ); m_textQuestion.BeginTweening( 0.2f ); m_textQuestion.SetDiffuse( RageColor(1,1,1,0) ); diff --git a/stepmania/src/ScreenPrompt.h b/stepmania/src/ScreenPrompt.h index 89e4e7694d..52106febcb 100644 --- a/stepmania/src/ScreenPrompt.h +++ b/stepmania/src/ScreenPrompt.h @@ -12,7 +12,7 @@ #include "Screen.h" #include "BitmapText.h" -#include "TransitionFade.h" +#include "TransitionBGAnimation.h" #include "Quad.h" #include "RandomSample.h" @@ -35,7 +35,7 @@ protected: void MenuStart( PlayerNumber pn ); - TransitionFade m_Fade; + BGAnimation m_Background; BitmapText m_textQuestion; Quad m_rectAnswerBox; BitmapText m_textAnswer[2]; // "YES" or "NO" @@ -44,5 +44,7 @@ protected: ScreenMessage m_SMSendWhenDone; void(*m_pOnYes)(); void(*m_pOnNo)(); + TransitionBGAnimation m_In; + TransitionBGAnimation m_Out; }; diff --git a/stepmania/src/ScreenTextEntry.cpp b/stepmania/src/ScreenTextEntry.cpp index d8141b49d1..853ab56799 100644 --- a/stepmania/src/ScreenTextEntry.cpp +++ b/stepmania/src/ScreenTextEntry.cpp @@ -47,11 +47,8 @@ ScreenTextEntry::ScreenTextEntry( ScreenMessage SM_SendWhenDone, CString sQuesti m_sAnswer = CStringToWstring(sInitialAnswer); m_bCancelled = false; - m_Fade.SetTransitionTime( 0.5f ); - m_Fade.SetDiffuse( RageColor(0,0,0,0.7f) ); - m_Fade.SetOpened(); - m_Fade.CloseWipingRight(); - this->AddChild( &m_Fade ); + m_Background.LoadFromAniDir( THEME->GetPathToB("ScreenPrompt background") ); + this->AddChild( &m_Background ); m_textQuestion.LoadFromFont( THEME->GetPathToF("Common normal") ); m_textQuestion.SetText( sQuestion ); @@ -71,7 +68,12 @@ ScreenTextEntry::ScreenTextEntry( ScreenMessage SM_SendWhenDone, CString sQuesti UpdateText(); this->AddChild( &m_textAnswer ); - SOUNDMAN->PlayOnce( THEME->GetPathToS("Common prompt") ); + m_In.Load( THEME->GetPathToB("ScreenPrompt in") ); + m_In.StartTransitioning(); + this->AddChild( &m_In ); + + m_Out.Load( THEME->GetPathToB("ScreenPrompt out") ); + this->AddChild( &m_Out ); } void ScreenTextEntry::UpdateText() @@ -93,7 +95,7 @@ void ScreenTextEntry::DrawPrimitives() void ScreenTextEntry::Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI ) { - if( m_Fade.IsOpening() ) + if( m_In.IsTransitioning() || m_Out.IsTransitioning() ) return; if( type != IET_FIRST_PRESS ) @@ -188,7 +190,7 @@ void ScreenTextEntry::MenuRight( PlayerNumber pn ) void ScreenTextEntry::MenuStart( PlayerNumber pn ) { - m_Fade.OpenWipingRight( SM_DoneOpeningWipingRight ); + m_Out.StartTransitioning( SM_DoneOpeningWipingRight ); m_textQuestion.BeginTweening( 0.2f ); m_textQuestion.SetDiffuse( RageColor(1,1,1,0) ); diff --git a/stepmania/src/ScreenTextEntry.h b/stepmania/src/ScreenTextEntry.h index c744a87d51..41d301bd88 100644 --- a/stepmania/src/ScreenTextEntry.h +++ b/stepmania/src/ScreenTextEntry.h @@ -12,7 +12,7 @@ #include "Screen.h" #include "BitmapText.h" -#include "TransitionFade.h" +#include "TransitionBGAnimation.h" #include "Quad.h" #include "RandomSample.h" @@ -37,7 +37,7 @@ protected: void UpdateText(); - TransitionFade m_Fade; + BGAnimation m_Background; BitmapText m_textQuestion; Quad m_rectAnswerBox; wstring m_sAnswer; @@ -46,5 +46,7 @@ protected: void(*m_pOnOK)( CString sAnswer ); void(*m_pOnCancel)(); bool m_bCancelled; + TransitionBGAnimation m_In; + TransitionBGAnimation m_Out; }; diff --git a/stepmania/src/StepMania.dsp b/stepmania/src/StepMania.dsp index 673d0f09cc..bc88b6eac7 100644 --- a/stepmania/src/StepMania.dsp +++ b/stepmania/src/StepMania.dsp @@ -60,7 +60,7 @@ IntDir=.\../Release6 TargetDir=\stepmania\stepmania TargetName=StepMania SOURCE="$(InputPath)" -PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\ +PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\ PostBuild_Cmds=disasm\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi ia32.vdi # End Special Build Tool @@ -95,7 +95,7 @@ IntDir=.\../Debug6 TargetDir=\stepmania\stepmania TargetName=StepMania-debug SOURCE="$(InputPath)" -PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\ +PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\ PostBuild_Cmds=disasm\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi ia32.vdi # End Special Build Tool @@ -952,14 +952,6 @@ SOURCE=.\TransitionBGAnimation.h # End Source File # Begin Source File -SOURCE=.\TransitionFade.cpp -# End Source File -# Begin Source File - -SOURCE=.\TransitionFade.h -# End Source File -# Begin Source File - SOURCE=.\TransitionOniFade.cpp # End Source File # Begin Source File diff --git a/stepmania/src/StepMania.vcproj b/stepmania/src/StepMania.vcproj index 4d419dbcb1..8e6673f482 100644 --- a/stepmania/src/StepMania.vcproj +++ b/stepmania/src/StepMania.vcproj @@ -1023,12 +1023,6 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\ - - - - diff --git a/stepmania/src/TransitionFade.cpp b/stepmania/src/TransitionFade.cpp deleted file mode 100644 index 7c3f58c9af..0000000000 --- a/stepmania/src/TransitionFade.cpp +++ /dev/null @@ -1,46 +0,0 @@ -#include "global.h" -/* ------------------------------------------------------------------------------ - Class: TransitionFade - - Desc: See header. - - Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. - Chris Danford ------------------------------------------------------------------------------ -*/ - - -#include "RageUtil.h" - -#include "TransitionFade.h" -#include "GameConstantsAndTypes.h" - - - -TransitionFade::TransitionFade() -{ - m_rect.StretchTo( RectI(0,0,SCREEN_WIDTH,SCREEN_HEIGHT) ); - SetDiffuse( RageColor(0,0,0,1) ); // black -} - -TransitionFade::~TransitionFade() -{ - -} - -void TransitionFade::DrawPrimitives() -{ - float fPercentageOpaque = 1 - GetPercentageOpen(); - if( fPercentageOpaque == 0 ) - return; // draw nothing - - CLAMP( fPercentageOpaque, 0, 1 ); - - RageColor colorTemp = GetDiffuse(); - colorTemp.a *= fPercentageOpaque; - m_rect.SetDiffuse( colorTemp ); - m_rect.Draw(); -} - - diff --git a/stepmania/src/TransitionFade.h b/stepmania/src/TransitionFade.h deleted file mode 100644 index e615417d5c..0000000000 --- a/stepmania/src/TransitionFade.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef TRANSITIONFADE_H -#define TRANSITIONFADE_H -/* ------------------------------------------------------------------------------ - Class: TransitionFade - - Desc: Fades whole screen to color. - - Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. - Chris Danford ------------------------------------------------------------------------------ -*/ - - -#include "Transition.h" -#include "Quad.h" - - -class TransitionFade : public Transition -{ -public: - TransitionFade(); - virtual ~TransitionFade(); - - virtual void DrawPrimitives(); - -protected: - Quad m_rect; -}; - - -#endif