From e0b31605284e67aa008a244379d89f12ecd40dce Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Fri, 5 Sep 2003 07:34:13 +0000 Subject: [PATCH] revert PlayerOptions changes --- stepmania/Themes/default/metrics.ini | 12 +-- stepmania/src/ScreenMachineOptions.cpp | 32 +++--- stepmania/src/ScreenOptions.cpp | 29 ++++-- stepmania/src/ScreenPlayerOptions.cpp | 136 ++++++++----------------- 4 files changed, 82 insertions(+), 127 deletions(-) diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index d2d9f6f913..23677396db 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -2313,12 +2313,12 @@ PrevScreenOni=ScreenSelectCourse PrevScreenEndless=ScreenSelectCourse PrevScreenBattle=ScreenSelectMusic PrevScreenRave=ScreenSelectMusic -NextScreenArcade=ScreenStage -NextScreenNonstop=ScreenStage -NextScreenOni=ScreenStage -NextScreenEndless=ScreenStage -NextScreenBattle=ScreenStage -NextScreenRave=ScreenStage +NextScreenArcade=ScreenSongOptions +NextScreenNonstop=ScreenSongOptions +NextScreenOni=ScreenSongOptions +NextScreenEndless=ScreenSongOptions +NextScreenBattle=ScreenSongOptions +NextScreenRave=ScreenSongOptions HelpText=&UP; &DOWN; to change line &LEFT; &RIGHT; to select between options START to accept changes TimerSeconds=30 Beginner=BEGINNER diff --git a/stepmania/src/ScreenMachineOptions.cpp b/stepmania/src/ScreenMachineOptions.cpp index 4e5a70d562..0728d9f3d5 100644 --- a/stepmania/src/ScreenMachineOptions.cpp +++ b/stepmania/src/ScreenMachineOptions.cpp @@ -38,7 +38,7 @@ enum { MO_SHOWSTATS, MO_COINS_PER_CREDIT, MO_JOINT_PREMIUM, -// MO_SHOW_SONG_OPTIONS, + MO_SHOW_SONG_OPTIONS, NUM_MACHINE_OPTIONS_LINES }; @@ -56,7 +56,7 @@ OptionRow g_MachineOptionsLines[NUM_MACHINE_OPTIONS_LINES] = { OptionRow( "Show\nStats", true, "OFF","ON" ), OptionRow( "Coins Per\nCredit", true, "1","2","3","4","5","6","7","8" ), OptionRow( "Joint\nPremium", true, "OFF","ON" ), -// OptionRow( "Song\nOptions", true, "HIDE","SHOW","ASK" ), + OptionRow( "Song\nOptions", true, "HIDE","SHOW","ASK" ), }; ScreenMachineOptions::ScreenMachineOptions() : @@ -118,13 +118,13 @@ void ScreenMachineOptions::ImportOptions() m_iSelectedOption[0][MO_SHOWSTATS] = PREFSMAN->m_bShowStats ? 1:0; m_iSelectedOption[0][MO_COINS_PER_CREDIT] = PREFSMAN->m_iCoinsPerCredit - 1; m_iSelectedOption[0][MO_JOINT_PREMIUM] = PREFSMAN->m_bJointPremium ? 1:0; -// switch(PREFSMAN->m_ShowSongOptions) -// { -// case PrefsManager::YES: m_iSelectedOption[0][MO_SHOW_SONG_OPTIONS] = 1; break; -// case PrefsManager::NO: m_iSelectedOption[0][MO_SHOW_SONG_OPTIONS] = 0; break; -// case PrefsManager::ASK: m_iSelectedOption[0][MO_SHOW_SONG_OPTIONS] = 2; break; -// default: ASSERT(0); -// } + switch(PREFSMAN->m_ShowSongOptions) + { + case PrefsManager::YES: m_iSelectedOption[0][MO_SHOW_SONG_OPTIONS] = 1; break; + case PrefsManager::NO: m_iSelectedOption[0][MO_SHOW_SONG_OPTIONS] = 0; break; + case PrefsManager::ASK: m_iSelectedOption[0][MO_SHOW_SONG_OPTIONS] = 2; break; + default: ASSERT(0); + } } void ScreenMachineOptions::ExportOptions() @@ -189,13 +189,13 @@ void ScreenMachineOptions::ExportOptions() PREFSMAN->m_iCoinsPerCredit = m_iSelectedOption[0][MO_COINS_PER_CREDIT] + 1; PREFSMAN->m_bJointPremium = m_iSelectedOption[0][MO_JOINT_PREMIUM] == 1; -// switch(m_iSelectedOption[0][MO_SHOW_SONG_OPTIONS]) -// { -// case 0: PREFSMAN->m_ShowSongOptions = PrefsManager::NO; break; -// case 1: PREFSMAN->m_ShowSongOptions = PrefsManager::YES; break; -// case 2: PREFSMAN->m_ShowSongOptions = PrefsManager::ASK; break; -// default: ASSERT(0); -// } + switch(m_iSelectedOption[0][MO_SHOW_SONG_OPTIONS]) + { + case 0: PREFSMAN->m_ShowSongOptions = PrefsManager::NO; break; + case 1: PREFSMAN->m_ShowSongOptions = PrefsManager::YES; break; + case 2: PREFSMAN->m_ShowSongOptions = PrefsManager::ASK; break; + default: ASSERT(0); + } } void ScreenMachineOptions::GoToPrevState() diff --git a/stepmania/src/ScreenOptions.cpp b/stepmania/src/ScreenOptions.cpp index 5576e06ffc..3a0dc749a7 100644 --- a/stepmania/src/ScreenOptions.cpp +++ b/stepmania/src/ScreenOptions.cpp @@ -125,19 +125,20 @@ void ScreenOptions::Init( InputMode im, OptionRow OptionRows[], int iNumOptionLi int r; for( r=0; r & textItems = m_textItems[r]; + const OptionRow &optline = m_OptionRow[r]; + unsigned c; m_framePage.AddChild( &m_sprBullets[r] ); m_framePage.AddChild( &m_textTitles[r] ); - const OptionRow &optline = m_OptionRow[r]; - float fX = ITEMS_START_X; // indent 70 pixels for( c=0; cLoadFromFont( THEME->GetPathToF("ScreenOptions item") ); bt->SetText( optline.choices[c] ); @@ -156,8 +157,8 @@ void ScreenOptions::Init( InputMode im, OptionRow OptionRows[], int iNumOptionLi // It goes off the edge of the screen. Re-init with the "long row" style. m_bRowIsLong[r] = true; for( unsigned j=0; jLoadFromFont( THEME->GetPathToF("ScreenOptions item") ); - bt->SetText( m_OptionRow[r].choices[iChoiceInRow] ); + bt->SetText( optline.choices[iChoiceInRow] ); bt->SetZoom( ITEMS_ZOOM ); bt->EnableShadow( false ); @@ -186,8 +187,8 @@ void ScreenOptions::Init( InputMode im, OptionRow OptionRows[], int iNumOptionLi } } - for( c=0; cIsHumanPlayer(p) ) + continue; // skip + for( int i=0; iIsHumanPlayer(p) ) + continue; + for( int i=0; iIsHumanPlayer(p) ) + continue; + int i=m_iCurrentRow[p]; OptionsCursor &highlight = m_Highlight[p]; diff --git a/stepmania/src/ScreenPlayerOptions.cpp b/stepmania/src/ScreenPlayerOptions.cpp index 08eb690f9d..553c28f5ab 100644 --- a/stepmania/src/ScreenPlayerOptions.cpp +++ b/stepmania/src/ScreenPlayerOptions.cpp @@ -42,14 +42,7 @@ enum { PO_PERSPECTIVE, PO_STEP, PO_CHARACTER, - SO_LIFE, - SO_DRAIN, - SO_BAT_LIVES, - SO_FAIL, - SO_ASSIST, - SO_RATE, - SO_AUTOSYNC, - SO_SAVE, + NUM_PLAYER_OPTIONS_LINES }; OptionRow g_PlayerOptionsLines[NUM_PLAYER_OPTIONS_LINES] = { @@ -66,14 +59,6 @@ OptionRow g_PlayerOptionsLines[NUM_PLAYER_OPTIONS_LINES] = { OptionRow( "Perspec\n-tive", false, "" ), OptionRow( "Step", false, "" ), OptionRow( "Charac\n-ter", false, "" ), - OptionRow( "Life\nType", true, "BAR","BATTERY" ), - OptionRow( "Bar\nDrain", true, "NORMAL","NO RECOVER","SUDDEN DEATH" ), - OptionRow( "Bat\nLives", true, "1","2","3","4","5","6","7","8","9","10" ), - OptionRow( "Fail", true, "ARCADE","END OF SONG","OFF" ), - OptionRow( "Assist\nTick", true, "OFF", "ON" ), - OptionRow( "Rate", true, "0.3x","0.4x","0.5x","0.6x","0.7x","0.8x","0.9x","1.0x","1.1x","1.2x","1.3x","1.4x","1.5x","1.6x","1.7x","1.8x","1.9x","2.0x" ), - OptionRow( "Auto\nAdjust", true, "OFF", "ON" ), - OptionRow( "Save\nScores", true, "OFF", "ON" ), }; static const PlayerOptions::Effect ChoosableEffects[] = @@ -100,20 +85,20 @@ ScreenPlayerOptions::ScreenPlayerOptions() : /* If we're going to "press start for more options" or skipping options * entirely, we need a different fade out. XXX: this is a hack */ -// if(PREFSMAN->m_ShowSongOptions == PrefsManager::NO) + if(PREFSMAN->m_ShowSongOptions == PrefsManager::NO) m_Menu.m_Out.Load( THEME->GetPathToB("ScreenPlayerOptions direct out") ); /* direct to stage */ -// else if(PREFSMAN->m_ShowSongOptions == PrefsManager::ASK) -// m_Menu.m_Out.Load( THEME->GetPathToB("ScreenPlayerOptions option out") ); /* optional song options */ + else if(PREFSMAN->m_ShowSongOptions == PrefsManager::ASK) + m_Menu.m_Out.Load( THEME->GetPathToB("ScreenPlayerOptions option out") ); /* optional song options */ -// m_sprOptionsMessage.Load( THEME->GetPathToG("ScreenPlayerOptions options") ); -// m_sprOptionsMessage.StopAnimating(); -// m_sprOptionsMessage.SetXY( CENTER_X, CENTER_Y ); -// m_sprOptionsMessage.SetZoom( 1 ); -// m_sprOptionsMessage.SetDiffuse( RageColor(1,1,1,0) ); + m_sprOptionsMessage.Load( THEME->GetPathToG("ScreenPlayerOptions options") ); + m_sprOptionsMessage.StopAnimating(); + m_sprOptionsMessage.SetXY( CENTER_X, CENTER_Y ); + m_sprOptionsMessage.SetZoom( 1 ); + m_sprOptionsMessage.SetDiffuse( RageColor(1,1,1,0) ); //this->AddChild( &m_sprOptionsMessage ); // we have to draw this manually over the top of transitions m_bAcceptedChoices = false; -// m_bGoToOptions = ( PREFSMAN->m_ShowSongOptions == PrefsManager::YES ); + m_bGoToOptions = ( PREFSMAN->m_ShowSongOptions == PrefsManager::YES ); SOUND->PlayOnceFromDir( ANNOUNCER->GetPathTo("player options intro") ); } @@ -290,29 +275,6 @@ void ScreenPlayerOptions::ImportOptions() /* Why do this? We don't want to erase if we back out. */ // po.Init(); } - - - SongOptions &so = GAMESTATE->m_SongOptions; - - m_iSelectedOption[0][SO_LIFE] = so.m_LifeType; - m_iSelectedOption[0][SO_DRAIN] = so.m_DrainType; - m_iSelectedOption[0][SO_BAT_LIVES] = so.m_iBatteryLives-1; - - if ( m_iSelectedOption[0][SO_BAT_LIVES] < 0 ) - m_iSelectedOption[0][SO_BAT_LIVES] = 3; // default in case value is invalid - - m_iSelectedOption[0][SO_FAIL] = so.m_FailType; - m_iSelectedOption[0][SO_ASSIST] = so.m_bAssistTick; - m_iSelectedOption[0][SO_AUTOSYNC] = so.m_bAutoSync; - m_iSelectedOption[0][SO_SAVE] = so.m_bSaveScore; - - m_iSelectedOption[0][SO_RATE] = 7; // in case we don't match below - for( i=0; im_pCurCharacters[p] = GAMESTATE->m_pCharacters[choice]; } } - - - SongOptions &so = GAMESTATE->m_SongOptions; - - so.m_LifeType = (SongOptions::LifeType)m_iSelectedOption[0][SO_LIFE]; - so.m_DrainType = (SongOptions::DrainType)m_iSelectedOption[0][SO_DRAIN]; - so.m_iBatteryLives = m_iSelectedOption[0][SO_BAT_LIVES]+1; - if( so.m_FailType != (SongOptions::FailType)m_iSelectedOption[0][SO_FAIL] ) - { - /* The user is changing the fail mode explicitly; stop messing with it. */ - GAMESTATE->m_bChangedFailType = true; - so.m_FailType = (SongOptions::FailType)m_iSelectedOption[0][SO_FAIL]; - } - so.m_bAssistTick = !!m_iSelectedOption[0][SO_ASSIST]; - so.m_bAutoSync = !!m_iSelectedOption[0][SO_AUTOSYNC]; - so.m_bSaveScore = !!m_iSelectedOption[0][SO_SAVE]; - - int iSel = m_iSelectedOption[0][SO_RATE]; - so.m_fMusicRate = (float) atof( g_PlayerOptionsLines[SO_RATE].choices[iSel] ); } void ScreenPlayerOptions::GoToPrevState() @@ -466,10 +409,10 @@ void ScreenPlayerOptions::GoToNextState() { GAMESTATE->AdjustFailType(); -// if( m_bGoToOptions ) + if( m_bGoToOptions ) SCREENMAN->SetNewScreen( NEXT_SCREEN(GAMESTATE->m_PlayMode) ); -// else -// SCREENMAN->SetNewScreen( ScreenSongOptions::GetNextScreen() ); + else + SCREENMAN->SetNewScreen( ScreenSongOptions::GetNextScreen() ); } } @@ -477,19 +420,19 @@ void ScreenPlayerOptions::GoToNextState() void ScreenPlayerOptions::Update( float fDelta ) { ScreenOptions::Update( fDelta ); -// m_sprOptionsMessage.Update( fDelta ); + m_sprOptionsMessage.Update( fDelta ); } void ScreenPlayerOptions::DrawPrimitives() { ScreenOptions::DrawPrimitives(); -// m_sprOptionsMessage.Draw(); + m_sprOptionsMessage.Draw(); } void ScreenPlayerOptions::Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI ) { -/* if( !GAMESTATE->m_bEditing && + if( !GAMESTATE->m_bEditing && type == IET_FIRST_PRESS && !m_Menu.m_In.IsTransitioning() && MenuI.IsValid() && @@ -503,33 +446,36 @@ void ScreenPlayerOptions::Input( const DeviceInput& DeviceI, const InputEventTyp SOUND->PlayOnce( THEME->GetPathToS("Common start") ); } } -*/ + ScreenOptions::Input( DeviceI, type, GameI, MenuI, StyleI ); } void ScreenPlayerOptions::HandleScreenMessage( const ScreenMessage SM ) { -// if(PREFSMAN->m_ShowSongOptions == PrefsManager::ASK) -// switch( SM ) -// { -// case SM_BeginFadingOut: // when the user accepts the page of options -// { -// m_bAcceptedChoices = true; -// -// float fShowSeconds = m_Menu.m_Out.GetLengthSeconds(); -// -// // show "hold START for options" -// m_sprOptionsMessage.SetDiffuse( RageColor(1,1,1,0) ); -// m_sprOptionsMessage.BeginTweening( 0.15f ); // fade in -// m_sprOptionsMessage.SetZoomY( 1 ); -// m_sprOptionsMessage.SetDiffuse( RageColor(1,1,1,1) ); -// m_sprOptionsMessage.BeginTweening( fShowSeconds-0.3f ); // sleep -// m_sprOptionsMessage.BeginTweening( 0.15f ); // fade out -// m_sprOptionsMessage.SetDiffuse( RageColor(1,1,1,0) ); -// m_sprOptionsMessage.SetZoomY( 0 ); -// } -// break; -// } + if( PREFSMAN->m_ShowSongOptions == PrefsManager::ASK ) + { + switch( SM ) + { + case SM_BeginFadingOut: // when the user accepts the page of options + { + m_bAcceptedChoices = true; + + float fShowSeconds = m_Menu.m_Out.GetLengthSeconds(); + + // show "hold START for options" + m_sprOptionsMessage.SetDiffuse( RageColor(1,1,1,0) ); + m_sprOptionsMessage.BeginTweening( 0.15f ); // fade in + m_sprOptionsMessage.SetZoomY( 1 ); + m_sprOptionsMessage.SetDiffuse( RageColor(1,1,1,1) ); + m_sprOptionsMessage.BeginTweening( fShowSeconds-0.3f ); // sleep + m_sprOptionsMessage.BeginTweening( 0.15f ); // fade out + m_sprOptionsMessage.SetDiffuse( RageColor(1,1,1,0) ); + m_sprOptionsMessage.SetZoomY( 0 ); + } + break; + } + } + ScreenOptions::HandleScreenMessage( SM ); }