2002-03-30 20:00:13 +00:00
|
|
|
#include "stdafx.h"
|
|
|
|
|
/*
|
|
|
|
|
-----------------------------------------------------------------------------
|
2002-04-01 02:04:43 +00:00
|
|
|
Class: TransitionKeepAlive
|
2002-03-30 20:00:13 +00:00
|
|
|
|
2002-04-01 02:04:43 +00:00
|
|
|
Desc: See header.
|
2002-03-30 20:00:13 +00:00
|
|
|
|
2002-05-19 01:59:48 +00:00
|
|
|
Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved.
|
2002-03-30 20:00:13 +00:00
|
|
|
-----------------------------------------------------------------------------
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#include "RageUtil.h"
|
|
|
|
|
|
|
|
|
|
#include "TransitionKeepAlive.h"
|
2002-05-01 19:14:55 +00:00
|
|
|
#include "GameConstantsAndTypes.h"
|
2002-03-30 20:00:13 +00:00
|
|
|
#include "ThemeManager.h"
|
|
|
|
|
|
|
|
|
|
|
2002-05-01 19:14:55 +00:00
|
|
|
const float KEEP_ALIVE_FORWARD_TRANSITION_TIME = 0.8f;
|
|
|
|
|
const float KEEP_ALIVE_BACKWARD_TRANSITION_TIME = 0.4f;
|
2002-04-01 02:04:43 +00:00
|
|
|
|
2002-03-30 20:00:13 +00:00
|
|
|
TransitionKeepAlive::TransitionKeepAlive()
|
|
|
|
|
{
|
|
|
|
|
m_sprLogo.Load( THEME->GetPathTo(GRAPHIC_KEEP_ALIVE) );
|
|
|
|
|
m_sprLogo.SetXY( CENTER_X, CENTER_Y );
|
2002-05-01 19:14:55 +00:00
|
|
|
|
|
|
|
|
m_rect.StretchTo( CRect(0,0,SCREEN_WIDTH,SCREEN_HEIGHT) );
|
2002-03-30 20:00:13 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void TransitionKeepAlive::Update( float fDeltaTime )
|
|
|
|
|
{
|
|
|
|
|
// hack: Smooth out the big hickups.
|
|
|
|
|
fDeltaTime = min( fDeltaTime, 1/15.0f );
|
|
|
|
|
|
|
|
|
|
Transition::Update( fDeltaTime );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2002-05-19 01:59:48 +00:00
|
|
|
void TransitionKeepAlive::DrawPrimitives()
|
2002-03-30 20:00:13 +00:00
|
|
|
{
|
2002-05-28 20:01:22 +00:00
|
|
|
// draw keep alive graphic
|
|
|
|
|
|
|
|
|
|
float fPercentClosed = 1 - this->GetPercentageOpen();
|
|
|
|
|
fPercentClosed = min( 1, fPercentClosed*2 );
|
|
|
|
|
const float fPercentColor = fPercentClosed;
|
|
|
|
|
const float fPercentAlpha = min( fPercentClosed * 2, 1 );
|
|
|
|
|
|
|
|
|
|
m_sprLogo.SetDiffuseColor( D3DXCOLOR(fPercentColor,fPercentColor,fPercentColor,fPercentAlpha) );
|
|
|
|
|
m_sprLogo.SetZoomY( fPercentClosed );
|
|
|
|
|
if( fPercentClosed > 0 )
|
|
|
|
|
m_sprLogo.Draw();
|
2002-05-01 19:14:55 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2002-05-19 01:59:48 +00:00
|
|
|
void TransitionKeepAlive::OpenWipingRight( ScreenMessage send_when_done )
|
2002-05-01 19:14:55 +00:00
|
|
|
{
|
|
|
|
|
this->SetTransitionTime( KEEP_ALIVE_FORWARD_TRANSITION_TIME );
|
|
|
|
|
|
|
|
|
|
Transition::OpenWipingRight( send_when_done );
|
|
|
|
|
}
|
|
|
|
|
|
2002-05-19 01:59:48 +00:00
|
|
|
void TransitionKeepAlive::OpenWipingLeft( ScreenMessage send_when_done )
|
2002-05-01 19:14:55 +00:00
|
|
|
{
|
|
|
|
|
this->SetTransitionTime( KEEP_ALIVE_BACKWARD_TRANSITION_TIME );
|
|
|
|
|
|
|
|
|
|
Transition::OpenWipingLeft( send_when_done );
|
2002-03-30 20:00:13 +00:00
|
|
|
}
|
|
|
|
|
|
2002-05-19 01:59:48 +00:00
|
|
|
void TransitionKeepAlive::CloseWipingRight(ScreenMessage send_when_done )
|
2002-05-01 19:14:55 +00:00
|
|
|
{
|
|
|
|
|
this->SetTransitionTime( KEEP_ALIVE_FORWARD_TRANSITION_TIME );
|
|
|
|
|
|
|
|
|
|
Transition::CloseWipingRight( send_when_done );
|
|
|
|
|
}
|
|
|
|
|
|
2002-05-19 01:59:48 +00:00
|
|
|
void TransitionKeepAlive::CloseWipingLeft( ScreenMessage send_when_done )
|
2002-05-01 19:14:55 +00:00
|
|
|
{
|
|
|
|
|
this->SetTransitionTime( KEEP_ALIVE_BACKWARD_TRANSITION_TIME );
|
|
|
|
|
|
|
|
|
|
Transition::CloseWipingLeft( send_when_done );
|
|
|
|
|
}
|
2002-03-30 20:00:13 +00:00
|
|
|
|