some cleanup
This commit is contained in:
+7
-5
@@ -63,7 +63,6 @@ void PaneDisplay::Load( const RString &sMetricsGroup, PlayerNumber pn )
|
||||
|
||||
EMPTY_MACHINE_HIGH_SCORE_NAME.Load( sMetricsGroup, "EmptyMachineHighScoreName" );
|
||||
NOT_AVAILABLE.Load( sMetricsGroup, "NotAvailable" );
|
||||
//BLANK_COUNT_VALUE.Load( sMetricsGroup, "BlankCountValue" ); // todo: better name -aj
|
||||
COUNT_FORMAT.Load( sMetricsGroup, "CountFormat" );
|
||||
|
||||
FOREACH_ENUM( PaneCategory, pc )
|
||||
@@ -123,8 +122,11 @@ void PaneDisplay::SetContent( PaneCategory c )
|
||||
const Profile *pProfile = PROFILEMAN->IsPersistentProfile(m_PlayerNumber) ? PROFILEMAN->GetProfile(m_PlayerNumber) : NULL;
|
||||
bool bIsPlayerEdit = pSteps && pSteps->IsAPlayerEdit();
|
||||
|
||||
// in SM3.9, all values would get set to a "?". In sm-ssc, we follow the
|
||||
// fallbacks above. (todo: make this a preference? see BLANK_COUNT_VALUE) -aj
|
||||
// Note: in SM3.9, all values would get set to a "?" if the current
|
||||
// selection (pSong/pCourse, in this case) is invalid. In sm-ssc, we use
|
||||
// the falback values (everything is blank).
|
||||
// TODO: add a theme option to use a similar behavior. -aj
|
||||
|
||||
if(GAMESTATE->IsCourseMode() && !pTrail)
|
||||
{
|
||||
if( (g_Contents[c].req&NEED_PROFILE) )
|
||||
@@ -205,7 +207,7 @@ void PaneDisplay::SetContent( PaneCategory c )
|
||||
case PaneCategory_Hands: val = rv[RadarCategory_Hands]; break;
|
||||
case PaneCategory_Lifts: val = rv[RadarCategory_Lifts]; break;
|
||||
case PaneCategory_ProfileHighScore:
|
||||
case PaneCategory_MachineHighName: /* set val for color */
|
||||
case PaneCategory_MachineHighName: // set val for color
|
||||
case PaneCategory_MachineHighScore:
|
||||
CHECKPOINT;
|
||||
val = pHSL->GetTopScore().GetPercentDP();
|
||||
@@ -266,7 +268,7 @@ done:
|
||||
|
||||
void PaneDisplay::SetFromGameState()
|
||||
{
|
||||
/* Don't update text that doesn't apply to the current mode. It's still tweening off. */
|
||||
// Don't update text that doesn't apply to the current mode. It's still tweening off.
|
||||
FOREACH_ENUM( PaneCategory, i )
|
||||
SetContent( i );
|
||||
}
|
||||
|
||||
@@ -10,12 +10,12 @@
|
||||
ScoreDisplayRave::ScoreDisplayRave()
|
||||
{
|
||||
LOG->Trace( "ScoreDisplayRave::ScoreDisplayRave()" );
|
||||
|
||||
|
||||
m_lastLevelSeen = ATTACK_LEVEL_1;
|
||||
|
||||
for( int i=0; i<NUM_ATTACK_LEVELS; i++ )
|
||||
for( int i=0; i<NUM_ATTACK_LEVELS; i++ )
|
||||
{
|
||||
m_sprMeter[i].Load( THEME->GetPathG("ScoreDisplayRave",ssprintf("stream level%d",i+1)) );
|
||||
m_sprMeter[i].Load( THEME->GetPathG("ScoreDisplayRave",ssprintf("stream level%d",i+1)) );
|
||||
m_sprMeter[i].SetCropRight( 1.f );
|
||||
}
|
||||
|
||||
@@ -32,14 +32,14 @@ void ScoreDisplayRave::Init( const PlayerState* pPlayerState, const PlayerStageS
|
||||
m_sprFrameBase.Load( THEME->GetPathG("ScoreDisplayRave",ssprintf("frame base p%d",pn+1)) );
|
||||
this->AddChild( m_sprFrameBase );
|
||||
|
||||
for( int i=0; i<NUM_ATTACK_LEVELS; i++ )
|
||||
for( int i=0; i<NUM_ATTACK_LEVELS; i++ )
|
||||
{
|
||||
m_sprMeter[i].SetName( ssprintf("MeterP%d",pn+1) );
|
||||
LOAD_ALL_COMMANDS( m_sprMeter[i] );
|
||||
ON_COMMAND( m_sprMeter[i] );
|
||||
this->AddChild( &m_sprMeter[i] );
|
||||
}
|
||||
|
||||
|
||||
m_textLevel.SetName( ssprintf("LevelP%d",pn+1) );
|
||||
LOAD_ALL_COMMANDS( m_textLevel );
|
||||
ON_COMMAND( m_textLevel );
|
||||
@@ -70,7 +70,7 @@ void ScoreDisplayRave::Update( float fDelta )
|
||||
/*
|
||||
* (c) 2003 Chris Danford
|
||||
* All rights reserved.
|
||||
*
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
@@ -80,7 +80,7 @@ void ScoreDisplayRave::Update( float fDelta )
|
||||
* copyright notice(s) and this permission notice appear in all copies of
|
||||
* the Software and that both the above copyright notice(s) and this
|
||||
* permission notice appear in supporting documentation.
|
||||
*
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
|
||||
+4
-12
@@ -31,10 +31,10 @@ REGISTER_SCREEN_CLASS( ScreenEditMenu );
|
||||
|
||||
void ScreenEditMenu::Init()
|
||||
{
|
||||
/* HACK: Disable any style set by the editor. */
|
||||
// HACK: Disable any style set by the editor.
|
||||
GAMESTATE->m_pCurStyle.Set( NULL );
|
||||
|
||||
/* Enable all players. */
|
||||
// Enable all players.
|
||||
FOREACH_PlayerNumber( pn )
|
||||
GAMESTATE->JoinPlayer( pn );
|
||||
|
||||
@@ -186,10 +186,7 @@ void ScreenEditMenu::MenuStart( const InputEventPlus &input )
|
||||
GAMESTATE->SetCurrentStyle( GAMEMAN->GetEditorStyleForStepsType(st) );
|
||||
GAMESTATE->m_pCurSteps[PLAYER_1].Set( pSteps );
|
||||
|
||||
//
|
||||
// handle error cases
|
||||
//
|
||||
|
||||
if( !pSong->HasMusic() )
|
||||
{
|
||||
ScreenPrompt::Prompt( SM_None, MISSING_MUSIC_FILE );
|
||||
@@ -227,9 +224,7 @@ void ScreenEditMenu::MenuStart( const InputEventPlus &input )
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// Do work
|
||||
//
|
||||
switch( action )
|
||||
{
|
||||
case EditMenuAction_Edit:
|
||||
@@ -288,17 +283,14 @@ void ScreenEditMenu::MenuStart( const InputEventPlus &input )
|
||||
ASSERT(0);
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Go to the next screen.
|
||||
//
|
||||
switch( action )
|
||||
{
|
||||
case EditMenuAction_Edit:
|
||||
case EditMenuAction_Create:
|
||||
case EditMenuAction_Practice:
|
||||
{
|
||||
// Prepare prepare for ScreenEdit
|
||||
// Prepare for ScreenEdit
|
||||
ASSERT( pSteps );
|
||||
bool bPromptToNameSteps = (action == EditMenuAction_Create && dc == Difficulty_Edit);
|
||||
if( bPromptToNameSteps )
|
||||
@@ -328,7 +320,7 @@ void ScreenEditMenu::MenuStart( const InputEventPlus &input )
|
||||
}
|
||||
|
||||
void ScreenEditMenu::MenuBack( const InputEventPlus &input )
|
||||
{
|
||||
{
|
||||
Cancel( SM_GoToPrevScreen );
|
||||
|
||||
SOUND->StopMusic();
|
||||
|
||||
+28
-32
@@ -1409,7 +1409,7 @@ void ScreenGameplay::PauseGame( bool bPause, GameController gc )
|
||||
return;
|
||||
}
|
||||
|
||||
/* Don't pause if we're already tweening out. */
|
||||
// Don't pause if we're already tweening out.
|
||||
if( bPause && m_DancingState == STATE_OUTRO )
|
||||
return;
|
||||
|
||||
@@ -1939,7 +1939,7 @@ float ScreenGameplay::GetHasteRate()
|
||||
if( GAMESTATE->m_fAccumulatedHasteSeconds <= 1 )
|
||||
{
|
||||
/* Only allow slowing down the song while the players have accumulated
|
||||
* haste. This prevents dragging on the song by keeping the life meter
|
||||
* haste. This prevents dragging on the song by keeping the life meter
|
||||
* nearly empty. */
|
||||
float fClamped = max( 1.0f, fSpeed );
|
||||
fSpeed = lerp( GAMESTATE->m_fAccumulatedHasteSeconds, fClamped, fSpeed );
|
||||
@@ -2125,7 +2125,7 @@ void ScreenGameplay::BeginBackingOutFromGameplay()
|
||||
AbortGiveUp( false );
|
||||
|
||||
m_pSoundMusic->StopPlaying();
|
||||
m_GameplayAssist.StopPlaying(); /* Stop any queued assist ticks. */
|
||||
m_GameplayAssist.StopPlaying(); // Stop any queued assist ticks.
|
||||
|
||||
this->ClearMessageQueue();
|
||||
|
||||
@@ -2179,9 +2179,8 @@ void ScreenGameplay::Input( const InputEventPlus &input )
|
||||
GAMESTATE->IsHumanPlayer(input.pn) &&
|
||||
!m_Cancel.IsTransitioning() )
|
||||
{
|
||||
/*
|
||||
* Allow bailing out by holding any START button. This gives a way to
|
||||
* "give up" when a back button isn't available.
|
||||
/* Allow bailing out by holding any START button.
|
||||
* This gives a way to "give up" when a back button isn't available.
|
||||
* If this is also a style button, don't do this; pump center is start.
|
||||
*/
|
||||
bool bHoldingGiveUp = false;
|
||||
@@ -2193,7 +2192,7 @@ void ScreenGameplay::Input( const InputEventPlus &input )
|
||||
|
||||
if( bHoldingGiveUp )
|
||||
{
|
||||
/* No PREFSMAN->m_bDelayedEscape; always delayed. */
|
||||
// No PREFSMAN->m_bDelayedEscape; always delayed.
|
||||
if( input.type==IET_RELEASE )
|
||||
{
|
||||
AbortGiveUp( true );
|
||||
@@ -2206,7 +2205,7 @@ void ScreenGameplay::Input( const InputEventPlus &input )
|
||||
m_textDebug.SetDiffuse( RageColor(1,1,1,0) );
|
||||
m_textDebug.BeginTweening( 1/8.f );
|
||||
m_textDebug.SetDiffuse( RageColor(1,1,1,1) );
|
||||
m_GiveUpTimer.Touch(); /* start the timer */
|
||||
m_GiveUpTimer.Touch(); // start the timer
|
||||
}
|
||||
|
||||
return;
|
||||
@@ -2324,8 +2323,7 @@ void ScreenGameplay::Input( const InputEventPlus &input )
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Saving StageStats that are affected by the note pattern is a little tricky:
|
||||
/* Saving StageStats that are affected by the note pattern is a little tricky:
|
||||
*
|
||||
* Stats are cumulative for course play.
|
||||
*
|
||||
@@ -2335,14 +2333,13 @@ void ScreenGameplay::Input( const InputEventPlus &input )
|
||||
* The pattern changes during play in battle and course mode. We want to include
|
||||
* these changes, so run stats for a song after the song finishes.
|
||||
*
|
||||
* If we fail, be sure to include the current song in stats, with the current modifier set.
|
||||
*
|
||||
* So:
|
||||
*
|
||||
* 1. At the end of a song in any mode, pass or fail, add stats for that song (from m_pPlayer).
|
||||
* 2. At the end of gameplay in course mode, add stats for any songs that weren't played,
|
||||
* applying the modifiers the song would have been played with. This doesn't
|
||||
* include songs that were played but failed; that was done in #1.
|
||||
* If we fail, be sure to include the current song in stats,
|
||||
* with the current modifier set. So:
|
||||
* 1. At the end of a song in any mode, pass or fail, add stats for that song
|
||||
* (from m_pPlayer).
|
||||
* 2. At the end of gameplay in course mode, add stats for any songs that weren't
|
||||
* played, applying the modifiers the song would have been played with.
|
||||
* This doesn't include songs that were played but failed; that was done in #1.
|
||||
*/
|
||||
void ScreenGameplay::SaveStats()
|
||||
{
|
||||
@@ -2380,7 +2377,7 @@ void ScreenGameplay::StageFinished( bool bBackedOut )
|
||||
if( GAMESTATE->IsCourseMode() && GAMESTATE->m_PlayMode != PLAY_MODE_ENDLESS )
|
||||
{
|
||||
LOG->Trace("Stage finished at index %i/%i", GAMESTATE->GetCourseSongIndex(), (int) m_apSongsQueue.size() );
|
||||
/* +1 to skip the current song; that song has already passed. */
|
||||
// +1 to skip the current song; that song has already passed.
|
||||
for( unsigned i = GAMESTATE->GetCourseSongIndex()+1; i < m_apSongsQueue.size(); ++i )
|
||||
{
|
||||
LOG->Trace("Running stats for %i", i );
|
||||
@@ -2397,7 +2394,7 @@ void ScreenGameplay::StageFinished( bool bBackedOut )
|
||||
return;
|
||||
}
|
||||
|
||||
/* If all players failed, kill. */
|
||||
// If all players failed, kill.
|
||||
if( STATSMAN->m_CurStageStats.AllFailed() )
|
||||
{
|
||||
FOREACH_HumanPlayer( p )
|
||||
@@ -2436,11 +2433,11 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
|
||||
|
||||
m_Go.StartTransitioning( SM_None );
|
||||
GAMESTATE->m_bGameplayLeadIn.Set( false );
|
||||
m_DancingState = STATE_DANCING; // STATE CHANGE! Now the user is allowed to press Back
|
||||
m_DancingState = STATE_DANCING; // STATE CHANGE! Now the user is allowed to press Back
|
||||
}
|
||||
else if( SM == SM_NotesEnded ) // received while STATE_DANCING
|
||||
{
|
||||
AbortGiveUp( false ); // don't allow giveup while the next song is loading
|
||||
AbortGiveUp( false ); // don't allow giveup while the next song is loading
|
||||
|
||||
/* Do this in LoadNextSong, so we don't tween off old attacks until
|
||||
* m_NextSong finishes. */
|
||||
@@ -2448,7 +2445,7 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
|
||||
|
||||
FOREACH_EnabledPlayerInfo( m_vPlayerInfo, pi )
|
||||
{
|
||||
/* Mark failure. */
|
||||
// Mark failure.
|
||||
if( GAMESTATE->GetPlayerFailType(pi->GetPlayerState()) != PlayerOptions::FAIL_OFF &&
|
||||
(pi->m_pLifeMeter && pi->m_pLifeMeter->IsFailing()) )
|
||||
pi->GetPlayerStageStats()->m_bFailed = true;
|
||||
@@ -2476,7 +2473,7 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Load the next song in the course. */
|
||||
// Load the next song in the course.
|
||||
HandleScreenMessage( SM_StartLoadingNextSong );
|
||||
return;
|
||||
}
|
||||
@@ -2491,7 +2488,7 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
|
||||
{
|
||||
FOREACH_EnabledPlayerNumberInfo( m_vPlayerInfo, pi )
|
||||
{
|
||||
/* XXX: In battle modes, switch( GAMESTATE->GetStageResult(p) ). */
|
||||
// XXX: In battle modes, switch( GAMESTATE->GetStageResult(p) ).
|
||||
if( pi->GetPlayerStageStats()->m_bFailed )
|
||||
pDancers->Change2DAnimState( pi->m_pn, AS2D_FAIL ); // fail anim
|
||||
else if( pi->m_pLifeMeter && pi->GetPlayerState()->m_HealthState == HealthState_Hot )
|
||||
@@ -2501,7 +2498,7 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
|
||||
}
|
||||
}
|
||||
|
||||
/* End round. */
|
||||
// End round.
|
||||
if( m_DancingState == STATE_OUTRO ) // ScreenGameplay already ended
|
||||
return; // ignore
|
||||
m_DancingState = STATE_OUTRO;
|
||||
@@ -2536,8 +2533,7 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
|
||||
}
|
||||
else if( SM == SM_StartLoadingNextSong )
|
||||
{
|
||||
/* Next song. */
|
||||
|
||||
// Next song.
|
||||
// give a little life back between stages
|
||||
FOREACH_EnabledPlayerInfo( m_vPlayerInfo, pi )
|
||||
{
|
||||
@@ -2628,19 +2624,19 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
|
||||
}
|
||||
else if( SM == SM_GainFocus )
|
||||
{
|
||||
/* We do this ourself. */
|
||||
// We do this ourself.
|
||||
SOUND->HandleSongTimer( false );
|
||||
}
|
||||
else if( SM == SM_LoseFocus )
|
||||
{
|
||||
/* We might have turned the song timer off. Be sure to turn it back on. */
|
||||
// We might have turned the song timer off. Be sure to turn it back on.
|
||||
SOUND->HandleSongTimer( true );
|
||||
}
|
||||
else if( SM == SM_BeginFailed )
|
||||
{
|
||||
m_DancingState = STATE_OUTRO;
|
||||
AbortGiveUp( false );
|
||||
m_GameplayAssist.StopPlaying(); /* Stop any queued assist ticks. */
|
||||
m_GameplayAssist.StopPlaying(); // Stop any queued assist ticks.
|
||||
TweenOffScreen();
|
||||
m_Failed.StartTransitioning( SM_DoNextScreen );
|
||||
|
||||
@@ -2668,7 +2664,7 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
|
||||
}
|
||||
else if( SM == SM_Pause )
|
||||
{
|
||||
/* Ignore SM_Pause when in demonstration. */
|
||||
// Ignore SM_Pause when in demonstration.
|
||||
if( GAMESTATE->m_bDemonstrationOrJukebox )
|
||||
return;
|
||||
|
||||
|
||||
+27
-27
@@ -149,7 +149,7 @@ void ScreenOptions::Init()
|
||||
LOAD_ALL_COMMANDS( m_Cursor[p] );
|
||||
m_frameContainer.AddChild( &m_Cursor[p] );
|
||||
}
|
||||
|
||||
|
||||
switch( m_InputMode )
|
||||
{
|
||||
case INPUTMODE_INDIVIDUAL:
|
||||
@@ -258,14 +258,14 @@ void ScreenOptions::RestartOptions()
|
||||
vector<PlayerNumber> vpns;
|
||||
FOREACH_HumanPlayer( p )
|
||||
vpns.push_back( p );
|
||||
|
||||
|
||||
for( unsigned r=0; r<m_pRows.size(); r++ ) // foreach row
|
||||
{
|
||||
OptionRow *pRow = m_pRows[r];
|
||||
pRow->Reload();
|
||||
|
||||
this->ImportOptions( r, vpns );
|
||||
|
||||
|
||||
// HACK: Process disabled players, too, to hide inactive underlines.
|
||||
FOREACH_PlayerNumber( p )
|
||||
pRow->AfterImportOptions( p );
|
||||
@@ -382,7 +382,7 @@ void ScreenOptions::GetWidthXY( PlayerNumber pn, int iRow, int iChoiceOnRow, int
|
||||
void ScreenOptions::RefreshIcons( int iRow, PlayerNumber pn )
|
||||
{
|
||||
OptionRow &row = *m_pRows[iRow];
|
||||
|
||||
|
||||
const OptionRowDefinition &def = row.GetRowDef();
|
||||
|
||||
// find first selection and whether multiple are selected
|
||||
@@ -405,7 +405,7 @@ void ScreenOptions::RefreshIcons( int iRow, PlayerNumber pn )
|
||||
pHand->GetIconTextAndGameCommand( iSelection, sIcon, gc );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* XXX: hack to not display text in the song options menu */
|
||||
if( def.m_bOneChoiceForAllPlayers )
|
||||
@@ -452,8 +452,8 @@ void ScreenOptions::TweenCursor( PlayerNumber pn )
|
||||
GetWidthXY( pn, iRow, iChoiceWithFocus, iWidth, iX, iY );
|
||||
|
||||
OptionsCursor &cursor = m_Cursor[pn];
|
||||
if( cursor.GetDestX() != (float) iX ||
|
||||
cursor.GetDestY() != (float) iY ||
|
||||
if( cursor.GetDestX() != (float) iX ||
|
||||
cursor.GetDestY() != (float) iY ||
|
||||
cursor.GetBarWidth() != iWidth )
|
||||
{
|
||||
cursor.StopTweening();
|
||||
@@ -477,7 +477,7 @@ void ScreenOptions::TweenCursor( PlayerNumber pn )
|
||||
cursor.SetCanGo( bCanGoLeft, bCanGoRight );
|
||||
|
||||
|
||||
if( GAMESTATE->IsHumanPlayer(pn) )
|
||||
if( GAMESTATE->IsHumanPlayer(pn) )
|
||||
{
|
||||
COMMAND( m_sprLineHighlight[pn], "Change" );
|
||||
if( row.GetRowType() == OptionRow::RowType_Exit )
|
||||
@@ -658,7 +658,7 @@ void ScreenOptions::PositionRows( bool bTween )
|
||||
|
||||
Actor::TweenState tsDestination = m_exprRowPositionTransformFunction.GetTransformCached( fPos, i, min( (int)Rows.size(), (int)NUM_ROWS_SHOWN ) );
|
||||
|
||||
bool bHidden =
|
||||
bool bHidden =
|
||||
i < first_start ||
|
||||
(i >= first_end && i < second_start) ||
|
||||
i >= second_end;
|
||||
@@ -691,7 +691,7 @@ void ScreenOptions::AfterChangeValueOrRow( PlayerNumber pn )
|
||||
|
||||
if( iCurRow == -1 )
|
||||
return;
|
||||
|
||||
|
||||
/* Update m_fY and m_bHidden[]. */
|
||||
PositionRows( true );
|
||||
|
||||
@@ -784,7 +784,7 @@ void ScreenOptions::MenuStart( const InputEventPlus &input )
|
||||
return; // don't allow repeat
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
/* If we are in a three-button mode, check to see if GAME_BUTTON_LEFT and
|
||||
* GAME_BUTTON_RIGHT are being held. */
|
||||
switch( m_OptionsNavigation )
|
||||
@@ -792,7 +792,7 @@ void ScreenOptions::MenuStart( const InputEventPlus &input )
|
||||
case NAV_THREE_KEY:
|
||||
case NAV_TOGGLE_THREE_KEY:
|
||||
{
|
||||
bool bHoldingLeftAndRight =
|
||||
bool bHoldingLeftAndRight =
|
||||
INPUTMAPPER->IsBeingPressed( GAME_BUTTON_RIGHT, pn ) &&
|
||||
INPUTMAPPER->IsBeingPressed( GAME_BUTTON_LEFT, pn );
|
||||
if( bHoldingLeftAndRight )
|
||||
@@ -803,7 +803,7 @@ void ScreenOptions::MenuStart( const InputEventPlus &input )
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
this->ProcessMenuStart( input );
|
||||
}
|
||||
|
||||
@@ -849,7 +849,7 @@ void ScreenOptions::ProcessMenuStart( const InputEventPlus &input )
|
||||
if( bEndThisScreen &&
|
||||
(input.type != IET_FIRST_PRESS || IsTransitioning()) )
|
||||
return;
|
||||
|
||||
|
||||
if( bEndThisScreen )
|
||||
{
|
||||
SCREENMAN->PlayStartSound();
|
||||
@@ -867,7 +867,7 @@ void ScreenOptions::ProcessMenuStart( const InputEventPlus &input )
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if( row.GetRowDef().m_selectType == SELECT_MULTIPLE )
|
||||
{
|
||||
int iChoiceInRow = row.GetChoiceInRowWithFocus(pn);
|
||||
@@ -941,7 +941,7 @@ void ScreenOptions::StoreFocus( PlayerNumber pn )
|
||||
|
||||
int iWidth, iY;
|
||||
GetWidthXY( pn, m_iCurrentRow[pn], row.GetChoiceInRowWithFocus(pn), iWidth, m_iFocusX[pn], iY );
|
||||
LOG->Trace("cur selection %ix%i @ %i",
|
||||
LOG->Trace("cur selection %ix%i @ %i",
|
||||
m_iCurrentRow[pn], row.GetChoiceInRowWithFocus(pn), m_iFocusX[pn]);
|
||||
}
|
||||
|
||||
@@ -987,7 +987,7 @@ void ScreenOptions::ChangeValueInRowAbsolute( int iRow, PlayerNumber pn, int iCh
|
||||
return; // don't allow a move
|
||||
|
||||
OptionRow &row = *m_pRows[iRow];
|
||||
|
||||
|
||||
const int iNumChoices = row.GetRowDef().m_vsChoices.size();
|
||||
ASSERT( iNumChoices >= 0 && iChoiceIndex < iNumChoices );
|
||||
|
||||
@@ -1003,13 +1003,13 @@ void ScreenOptions::ChangeValueInRowRelative( int iRow, PlayerNumber pn, int iDe
|
||||
return; // don't allow a move
|
||||
|
||||
OptionRow &row = *m_pRows[iRow];
|
||||
|
||||
|
||||
const int iNumChoices = row.GetRowDef().m_vsChoices.size();
|
||||
|
||||
if( m_OptionsNavigation == NAV_THREE_KEY_MENU && iNumChoices <= 1 ) // 1 or 0
|
||||
{
|
||||
/* There are no other options on the row; move up or down instead of left and right.
|
||||
* This allows navigating the options menu with left/right/start.
|
||||
* This allows navigating the options menu with left/right/start.
|
||||
*
|
||||
* XXX: Only allow repeats if the opposite key isn't pressed; otherwise, holding both
|
||||
* directions will repeat in place continuously, which is weird. */
|
||||
@@ -1038,7 +1038,7 @@ void ScreenOptions::ChangeValueInRowRelative( int iRow, PlayerNumber pn, int iDe
|
||||
wrap( iNewChoiceWithFocus, iNumChoices );
|
||||
else
|
||||
CLAMP( iNewChoiceWithFocus, 0, iNumChoices-1 );
|
||||
|
||||
|
||||
if( iCurrentChoiceWithFocus != iNewChoiceWithFocus )
|
||||
bOneChanged = true;
|
||||
|
||||
@@ -1105,13 +1105,13 @@ void ScreenOptions::ChangeValueInRowRelative( int iRow, PlayerNumber pn, int iDe
|
||||
this->AfterChangeValueInRow( iRow, pn );
|
||||
}
|
||||
|
||||
void ScreenOptions::AfterChangeValueInRow( int iRow, PlayerNumber pn )
|
||||
void ScreenOptions::AfterChangeValueInRow( int iRow, PlayerNumber pn )
|
||||
{
|
||||
AfterChangeValueOrRow( pn );
|
||||
}
|
||||
|
||||
/* Move up/down. Returns true if we actually moved. */
|
||||
bool ScreenOptions::MoveRowRelative( PlayerNumber pn, int iDir, bool bRepeat )
|
||||
bool ScreenOptions::MoveRowRelative( PlayerNumber pn, int iDir, bool bRepeat )
|
||||
{
|
||||
LOG->Trace( "MoveRowRelative(pn %i, dir %i, rep %i)", pn, iDir, bRepeat );
|
||||
|
||||
@@ -1144,7 +1144,7 @@ bool ScreenOptions::MoveRowRelative( PlayerNumber pn, int iDir, bool bRepeat )
|
||||
return MoveRowAbsolute( pn, iDest );
|
||||
}
|
||||
|
||||
void ScreenOptions::AfterChangeRow( PlayerNumber pn )
|
||||
void ScreenOptions::AfterChangeRow( PlayerNumber pn )
|
||||
{
|
||||
const int iRow = m_iCurrentRow[pn];
|
||||
if( iRow != -1 )
|
||||
@@ -1176,7 +1176,7 @@ void ScreenOptions::AfterChangeRow( PlayerNumber pn )
|
||||
|
||||
if( row.GetFirstItemGoesDown() )
|
||||
{
|
||||
// If moving to a bFirstChoiceGoesDown row, put focus back on
|
||||
// If moving to a bFirstChoiceGoesDown row, put focus back on
|
||||
// the first choice.
|
||||
row.SetChoiceInRowWithFocus( pn, 0 );
|
||||
}
|
||||
@@ -1185,7 +1185,7 @@ void ScreenOptions::AfterChangeRow( PlayerNumber pn )
|
||||
AfterChangeValueOrRow( pn );
|
||||
}
|
||||
|
||||
bool ScreenOptions::MoveRowAbsolute( PlayerNumber pn, int iRow )
|
||||
bool ScreenOptions::MoveRowAbsolute( PlayerNumber pn, int iRow )
|
||||
{
|
||||
bool bChanged = false;
|
||||
FOREACH_PlayerNumber( p )
|
||||
@@ -1291,7 +1291,7 @@ LUA_REGISTER_DERIVED_CLASS( ScreenOptions, ScreenWithMenuElements )
|
||||
/*
|
||||
* (c) 2001-2004 Chris Danford, Glenn Maynard
|
||||
* All rights reserved.
|
||||
*
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||
* copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
@@ -1301,7 +1301,7 @@ LUA_REGISTER_DERIVED_CLASS( ScreenOptions, ScreenWithMenuElements )
|
||||
* copyright notice(s) and this permission notice appear in all copies of
|
||||
* the Software and that both the above copyright notice(s) and this
|
||||
* permission notice appear in supporting documentation.
|
||||
*
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
|
||||
+10
-13
@@ -18,7 +18,7 @@ AutoScreenMessage( SM_ExportOptions )
|
||||
|
||||
enum InputMode
|
||||
{
|
||||
INPUTMODE_INDIVIDUAL, // each player controls their own cursor
|
||||
INPUTMODE_INDIVIDUAL, // each player controls their own cursor
|
||||
INPUTMODE_SHARE_CURSOR, // both players control the same cursor
|
||||
NUM_InputMode,
|
||||
InputMode_Invalid
|
||||
@@ -43,13 +43,10 @@ public:
|
||||
virtual void TweenOnScreen();
|
||||
virtual void TweenOffScreen();
|
||||
|
||||
//
|
||||
// Lua
|
||||
//
|
||||
virtual void PushSelf( lua_State *L );
|
||||
friend class LunaScreenOptions;
|
||||
|
||||
|
||||
protected:
|
||||
virtual void ImportOptions( int iRow, const vector<PlayerNumber> &vpns ) = 0;
|
||||
virtual void ExportOptions( int iRow, const vector<PlayerNumber> &vpns ) = 0;
|
||||
@@ -93,17 +90,17 @@ protected: // derived classes need access to these
|
||||
void SetNavigation( Navigation nav ) { m_OptionsNavigation = nav; }
|
||||
void SetInputMode( InputMode im ) { m_InputMode = im; }
|
||||
|
||||
/* Map menu lines to m_OptionRow entries. */
|
||||
// Map menu lines to m_OptionRow entries.
|
||||
vector<OptionRow*> m_pRows;
|
||||
int m_iCurrentRow[NUM_PLAYERS];
|
||||
|
||||
OptionRowType m_OptionRowTypeNormal;
|
||||
OptionRowType m_OptionRowTypeExit;
|
||||
OptionRowType m_OptionRowTypeNormal;
|
||||
OptionRowType m_OptionRowTypeExit;
|
||||
|
||||
Navigation m_OptionsNavigation;
|
||||
InputMode m_InputMode;
|
||||
|
||||
int m_iFocusX[NUM_PLAYERS];
|
||||
int m_iFocusX[NUM_PLAYERS];
|
||||
bool m_bWasOnExit[NUM_PLAYERS];
|
||||
|
||||
// TRICKY: People hold Start to get to PlayerOptions, then
|
||||
@@ -115,12 +112,12 @@ protected: // derived classes need access to these
|
||||
ActorFrame m_frameContainer;
|
||||
AutoActor m_sprPage;
|
||||
|
||||
OptionsCursor m_Cursor[NUM_PLAYERS];
|
||||
OptionsCursor m_Cursor[NUM_PLAYERS];
|
||||
AutoActor m_sprLineHighlight[NUM_PLAYERS];
|
||||
|
||||
BitmapText m_textExplanation[NUM_PLAYERS];
|
||||
BitmapText m_textExplanationTogether;
|
||||
DualScrollBar m_ScrollBar;
|
||||
DualScrollBar m_ScrollBar;
|
||||
AutoActor m_sprMore;
|
||||
|
||||
RageSound m_SoundChangeCol;
|
||||
@@ -134,7 +131,7 @@ protected: // derived classes need access to these
|
||||
ThemeMetric<apActorCommands> ROW_INIT_COMMAND;
|
||||
ThemeMetric<apActorCommands> ROW_ON_COMMAND;
|
||||
ThemeMetric<apActorCommands> ROW_OFF_COMMAND;
|
||||
LuaExpressionTransform m_exprRowPositionTransformFunction; // params: self,offsetFromCenter,itemIndex,numItems
|
||||
LuaExpressionTransform m_exprRowPositionTransformFunction; // params: self,offsetFromCenter,itemIndex,numItems
|
||||
ThemeMetric<bool> SHOW_SCROLL_BAR;
|
||||
ThemeMetric<float> SCROLL_BAR_HEIGHT;
|
||||
ThemeMetric<float> SCROLL_BAR_TIME;
|
||||
@@ -146,8 +143,8 @@ protected: // derived classes need access to these
|
||||
ThemeMetric<bool> ALLOW_REPEATING_CHANGE_VALUE_INPUT;
|
||||
ThemeMetric<float> CURSOR_TWEEN_SECONDS;
|
||||
ThemeMetric<bool> WRAP_VALUE_IN_ROW;
|
||||
ThemeMetric<RString> OPTION_ROW_NORMAL_METRICS_GROUP;
|
||||
ThemeMetric<RString> OPTION_ROW_EXIT_METRICS_GROUP;
|
||||
ThemeMetric<RString> OPTION_ROW_NORMAL_METRICS_GROUP;
|
||||
ThemeMetric<RString> OPTION_ROW_EXIT_METRICS_GROUP;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user