NEW FEATURE: AutoSync status now shown during gameplay with icon

NEW FEATURE:  added autogen icon to select music
NEW FEATURE:  toggle for easter eggs in Machine Options
NEW FEATURE:  marvelous step timing togglable in Machine Options
NEW FEATURE:  Grade AAAA (all marvelous)
CHANGE:  Only show ScreenHowToPlay if at least one player chose easy
This commit is contained in:
Chris Danford
2003-01-11 08:55:21 +00:00
parent 82a4960bd9
commit 3ff91dffb0
51 changed files with 654 additions and 401 deletions
+28 -50
View File
@@ -42,27 +42,22 @@ const CString CHOICE_TEXT[ScreenTitleMenu::NUM_TITLE_MENU_CHOICES] = {
"EXIT",
};
#define HELP_X THEME->GetMetricF("ScreenTitleMenu","HelpX")
#define HELP_Y THEME->GetMetricF("ScreenTitleMenu","HelpY")
#define CHOICES_X THEME->GetMetricF("ScreenTitleMenu","ChoicesX")
#define CHOICES_START_Y THEME->GetMetricF("ScreenTitleMenu","ChoicesStartY")
#define CHOICES_SPACING_Y THEME->GetMetricF("ScreenTitleMenu","ChoicesSpacingY")
#define CHOICES_SHADOW_LENGTH THEME->GetMetricF("ScreenTitleMenu","ChoicesShadowLength")
#define HELP_X THEME->GetMetricF("ScreenTitleMenu","HelpX")
#define HELP_Y THEME->GetMetricF("ScreenTitleMenu","HelpY")
#define LOGO_X THEME->GetMetricF("ScreenTitleMenu","LogoX")
#define LOGO_Y THEME->GetMetricF("ScreenTitleMenu","LogoY")
#define VERSION_X THEME->GetMetricF("ScreenTitleMenu","VersionX")
#define VERSION_Y THEME->GetMetricF("ScreenTitleMenu","VersionY")
#define SONGS_X THEME->GetMetricF("ScreenTitleMenu","SongsX")
#define SONGS_Y THEME->GetMetricF("ScreenTitleMenu","SongsY")
#define COLOR_NOT_SELECTED THEME->GetMetricC("ScreenTitleMenu","ColorNotSelected")
#define COLOR_SELECTED THEME->GetMetricC("ScreenTitleMenu","ColorSelected")
#define ZOOM_NOT_SELECTED THEME->GetMetricF("ScreenTitleMenu","ZoomNotSelected")
#define ZOOM_SELECTED THEME->GetMetricF("ScreenTitleMenu","ZoomSelected")
#define SECONDS_BETWEEN_ATTRACT THEME->GetMetricF("ScreenTitleMenu","SecondsBetweenAttract")
#define SECONDS_BETWEEN_COMMENTS THEME->GetMetricF("ScreenTitleMenu","SecondsBetweenComments")
#define SECONDS_BEFORE_ATTRACT THEME->GetMetricF("ScreenTitleMenu","SecondsBeforeAttract")
#define HELP_TEXT THEME->GetMetric("ScreenTitleMenu","HelpText")
#define NEXT_SCREEN THEME->GetMetric("ScreenTitleMenu","NextScreen")
const ScreenMessage SM_PlayAttract = ScreenMessage(SM_User+1);
const ScreenMessage SM_PlayComment = ScreenMessage(SM_User+1);
const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User+12);
const ScreenMessage SM_GoToAttractLoop = ScreenMessage(SM_User+13);
@@ -70,21 +65,15 @@ const ScreenMessage SM_GoToAttractLoop = ScreenMessage(SM_User+13);
ScreenTitleMenu::ScreenTitleMenu()
{
LOG->Trace( "ScreenTitleMenu::ScreenTitleMenu()" );
}
m_Background.LoadFromAniDir( THEME->GetPathTo("BGAnimations","title menu") );
this->AddChild( &m_Background );
void ScreenTitleMenu::FirstUpdate()
{
LOG->Trace( "ScreenTitleMenu::FirstUpdate()" );
m_sprLogo.Load( THEME->GetPathTo("Graphics",ssprintf("title menu logo %s",GAMESTATE->GetCurrentGameDef()->m_szName)) );
m_sprLogo.SetXY( LOGO_X, LOGO_Y );
m_sprLogo.SetGlow( RageColor(1,1,1,1) );
m_sprLogo.SetZoomY( 0 );
m_sprLogo.StopTweening();
m_sprLogo.BeginTweening( 0.5f ); // sleep
m_sprLogo.BeginTweening( 0.5f, Actor::TWEEN_BOUNCE_END );
m_sprLogo.SetEffectGlowing(1, RageColor(1,1,1,0.1f), RageColor(1,1,1,0.3f) );
m_sprLogo.SetTweenZoom( 1 );
this->AddChild( &m_sprLogo );
ScreenLogo::FirstUpdate();
// we have to do init here because ScreenLogo does it's initialization in FirstUpdate()
m_textHelp.LoadFromFont( THEME->GetPathTo("Fonts","help") );
m_textHelp.SetText( HELP_TEXT );
m_textHelp.SetXY( HELP_X, HELP_Y );
@@ -93,24 +82,6 @@ ScreenTitleMenu::ScreenTitleMenu()
m_textHelp.SetShadowLength( 2 );
this->AddChild( &m_textHelp );
m_textVersion.LoadFromFont( THEME->GetPathTo("Fonts","normal") );
m_textVersion.SetText( "v3.0 final" );
m_textVersion.SetDiffuse( RageColor(0.6f,0.6f,0.6f,1) ); // light gray
m_textVersion.SetXY( VERSION_X, VERSION_Y );
m_textVersion.SetZoom( 0.5f );
m_textVersion.SetShadowLength( 2 );
this->AddChild( &m_textVersion );
m_textSongs.LoadFromFont( THEME->GetPathTo("Fonts","normal") );
m_textSongs.SetHorizAlign( Actor::align_left );
m_textSongs.SetText( ssprintf("Found %u Songs", SONGMAN->m_pSongs.size()) );
m_textSongs.SetDiffuse( RageColor(0.6f,0.6f,0.6f,1) ); // light gray
m_textSongs.SetXY( SONGS_X, SONGS_Y );
m_textSongs.SetZoom( 0.5f );
m_textSongs.SetShadowLength( 2 );
this->AddChild( &m_textSongs );
int i;
for( i=0; i< NUM_TITLE_MENU_CHOICES; i++ )
{
@@ -122,12 +93,6 @@ ScreenTitleMenu::ScreenTitleMenu()
this->AddChild( &m_textChoice[i] );
}
m_Fade.SetClosed();
m_Fade.OpenWipingRight( SM_None );
this->AddChild( &m_Fade );
SOUNDMAN->PlayOnceFromDir( ANNOUNCER->GetPathTo("title menu game name") );
@@ -142,11 +107,14 @@ ScreenTitleMenu::ScreenTitleMenu()
LoseFocus( i );
GainFocus( m_TitleMenuChoice );
m_soundMusic.Stop();
SOUNDMAN->PlayMusic( THEME->GetPathTo("Sounds","title menu music") );
this->SendScreenMessage( SM_PlayAttract, SECONDS_BETWEEN_ATTRACT );
}
this->SendScreenMessage( SM_PlayComment, SECONDS_BETWEEN_COMMENTS);
this->MoveToBack( &(ScreenAttract::m_Fade) ); // put it in the back so it covers up the stuff we just added
}
ScreenTitleMenu::~ScreenTitleMenu()
{
@@ -167,6 +135,12 @@ void ScreenTitleMenu::Input( const DeviceInput& DeviceI, const InputEventType ty
void ScreenTitleMenu::Update( float fDelta )
{
if(TimeToDemonstration.PeekDeltaTime() >= SECONDS_BEFORE_ATTRACT)
{
this->SendScreenMessage( SM_GoToAttractLoop, 0 );
TimeToDemonstration.GetDeltaTime();
}
Screen::Update(fDelta);
}
@@ -175,9 +149,9 @@ void ScreenTitleMenu::HandleScreenMessage( const ScreenMessage SM )
{
switch( SM )
{
case SM_PlayAttract:
case SM_PlayComment:
m_soundAttract.PlayRandom();
this->SendScreenMessage( SM_PlayAttract, SECONDS_BETWEEN_ATTRACT );
this->SendScreenMessage( SM_PlayComment, SECONDS_BETWEEN_COMMENTS );
break;
case SM_GoToNextScreen:
switch( m_TitleMenuChoice )
@@ -246,6 +220,8 @@ void ScreenTitleMenu::GainFocus( int iChoiceIndex )
void ScreenTitleMenu::MenuUp( PlayerNumber pn )
{
TimeToDemonstration.GetDeltaTime(); /* Reset the demonstration timer when a key is pressed. */
LoseFocus( m_TitleMenuChoice );
if( m_TitleMenuChoice == 0 ) // wrap around
@@ -261,6 +237,8 @@ void ScreenTitleMenu::MenuUp( PlayerNumber pn )
void ScreenTitleMenu::MenuDown( PlayerNumber pn )
{
TimeToDemonstration.GetDeltaTime(); /* Reset the demonstration timer when a key is pressed. */
LoseFocus( m_TitleMenuChoice );
if( m_TitleMenuChoice == (int)ScreenTitleMenu::NUM_TITLE_MENU_CHOICES-1 )