Split up the course sort into four sorts: all courses, and one ofr each

course mode.

Fix score not tweening when switching sorts via the menu.

Rename SORT_SORT to SORT_MODE.  Add metrics to define what
sorts are listed.  This can also change modes, but this has only been
tested for changing the play mode, not the play style.
This commit is contained in:
Glenn Maynard
2003-07-20 08:54:31 +00:00
parent 57d2c07c27
commit 5cb0b4f7cd
7 changed files with 160 additions and 58 deletions
+36 -24
View File
@@ -348,17 +348,21 @@ void ScreenSelectMusic::SkipCoursePartTweens()
void ScreenSelectMusic::TweenOnScreen()
{
if( GAMESTATE->m_SongSortOrder == SORT_COURSES )
switch( GAMESTATE->m_SongSortOrder )
{
case SORT_ALL_COURSES:
case SORT_NONSTOP_COURSES:
case SORT_ONI_COURSES:
case SORT_ENDLESS_COURSES:
TweenCoursePartsOnScreen( true );
TweenSongPartsOffScreen();
SkipSongPartTweens();
}
else
{
break;
default:
TweenSongPartsOnScreen( true );
TweenCoursePartsOffScreen();
SkipCoursePartTweens();
break;
}
ON_COMMAND( m_sprBannerMask );
@@ -392,10 +396,18 @@ void ScreenSelectMusic::TweenOnScreen()
void ScreenSelectMusic::TweenOffScreen()
{
if( GAMESTATE->m_SongSortOrder == SORT_COURSES )
switch( GAMESTATE->m_SongSortOrder )
{
case SORT_ALL_COURSES:
case SORT_NONSTOP_COURSES:
case SORT_ONI_COURSES:
case SORT_ENDLESS_COURSES:
TweenCoursePartsOffScreen();
else
break;
default:
TweenSongPartsOffScreen();
break;
}
OFF_COMMAND( m_sprBannerMask );
OFF_COMMAND( m_Banner );
@@ -477,10 +489,19 @@ void ScreenSelectMusic::TweenScoreOnAndOffAfterChangeSort()
apActorsInScore[i]->SetLatestTween(original);
}
if( GAMESTATE->m_SongSortOrder == SORT_COURSES )
switch( GAMESTATE->m_SongSortOrder )
{
case SORT_ALL_COURSES:
case SORT_NONSTOP_COURSES:
case SORT_ONI_COURSES:
case SORT_ENDLESS_COURSES:
EnterCourseDisplayMode();
else
ExitCourseDisplayMode();
break;
default:
if( GAMESTATE->m_SongSortOrder != SORT_MENU )
ExitCourseDisplayMode();
break;
}
}
void ScreenSelectMusic::Update( float fDeltaTime )
@@ -590,12 +611,7 @@ void ScreenSelectMusic::Input( const DeviceInput& DeviceI, InputEventType type,
if( ( GAMESTATE->IsExtraStage() && !PREFSMAN->m_bPickExtraStage ) || GAMESTATE->IsExtraStage2() )
m_soundLocked.Play();
else
m_MusicWheel.ChangeSort( SORT_SORT );
// if( m_MusicWheel.NextSort() )
// {
// SOUNDMAN->StopMusic();
// TweenScoreOnAndOffAfterChangeSort();
// }
m_MusicWheel.ChangeSort( SORT_MENU );
return;
}
if( !GAMESTATE->IsExtraStage() && !GAMESTATE->IsExtraStage2() && CodeDetector::DetectAndAdjustMusicOptions(GameI.controller) )
@@ -744,6 +760,10 @@ void ScreenSelectMusic::HandleScreenMessage( const ScreenMessage SM )
case SM_SortOrderChanged:
SortOrderChanged();
break;
case SM_SortOrderChanging:
// m_MusicSortDisplay.FadeOff( 0, "fade", TWEEN_TIME );
TweenScoreOnAndOffAfterChangeSort();
break;
}
}
@@ -757,14 +777,7 @@ void ScreenSelectMusic::MenuStart( PlayerNumber pn )
// m_soundLocked.Play();
// else
{
if( m_MusicWheel.NextSort() )
{
SOUNDMAN->StopMusic();
// m_MusicSortDisplay.FadeOff( 0, "fade", TWEEN_TIME );
TweenScoreOnAndOffAfterChangeSort();
}
m_MusicWheel.NextSort();
}
return;
}
@@ -840,7 +853,6 @@ void ScreenSelectMusic::MenuStart( PlayerNumber pn )
case TYPE_ROULETTE:
case TYPE_SORT:
break;
break;
default:
ASSERT(0);
}