diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index 7cb8b8614c..5c6db0fe5c 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -219,6 +219,7 @@ OptionIconsP2Y=86 HelpText=! or " change music Hold ! and " then press START to change sort::## easier difficulty $$ harder difficulty::#$#$ to change sort TimerSeconds=60 ScoreConnectedToMusicWheel=1 +SampleMusicDelay=0.15 [ScreenEz2SelectMusic] BannerX=320 // central banner @@ -447,7 +448,6 @@ GradeP2X=118 [MusicWheel] FadeSeconds=1 SwitchSeconds=0.10 -SampleMusicDelay=0.2 RouletteSwitchSeconds=0.05 RouletteSlowDownSwitches=5 LockedInitialVelocity=7 diff --git a/stepmania/src/MusicWheel.cpp b/stepmania/src/MusicWheel.cpp index 163ca17631..bb1b15578d 100644 --- a/stepmania/src/MusicWheel.cpp +++ b/stepmania/src/MusicWheel.cpp @@ -37,7 +37,6 @@ // MusicWheel stuff #define FADE_SECONDS THEME->GetMetricF("MusicWheel","FadeSeconds") #define SWITCH_SECONDS THEME->GetMetricF("MusicWheel","SwitchSeconds") -#define SAMPLE_MUSIC_DELAY THEME->GetMetricF("MusicWheel","SampleMusicDelay") #define ROULETTE_SWITCH_SECONDS THEME->GetMetricF("MusicWheel","RouletteSwitchSeconds") #define ROULETTE_SLOW_DOWN_SWITCHES THEME->GetMetricI("MusicWheel","RouletteSlowDownSwitches") #define LOCKED_INITIAL_VELOCITY THEME->GetMetricF("MusicWheel","LockedInitialVelocity") @@ -299,8 +298,6 @@ MusicWheel::MusicWheel() m_soundLocked.Load( THEME->GetPathTo("Sounds","select music wheel locked") ); - m_fTimeLeftBeforePlayMusicSample = 0; - // init m_mapGroupNameToBannerColor CArray arraySongs; @@ -761,13 +758,6 @@ void MusicWheel::Update( float fDeltaTime ) NextMusic( false ); // spin as fast as possible } - if( m_fTimeLeftBeforePlayMusicSample > 0 ) - { - m_fTimeLeftBeforePlayMusicSample -= fDeltaTime; - if( m_fTimeLeftBeforePlayMusicSample < 0 ) - SCREENMAN->SendMessageToTopScreen( SM_PlaySongSample, 0 ); - } - // update wheel state m_fTimeLeftInState -= fDeltaTime; if( m_fTimeLeftInState <= 0 ) // time to go to a new state @@ -836,11 +826,9 @@ void MusicWheel::Update( float fDeltaTime ) } break; case STATE_FLYING_ON_AFTER_NEXT_SORT: - SCREENMAN->SendMessageToTopScreen( SM_PlaySongSample, 0 ); m_WheelState = STATE_SELECTING_MUSIC; // now, wait for input break; case STATE_TWEENING_ON_SCREEN: - SCREENMAN->SendMessageToTopScreen( SM_PlaySongSample, 0 ); m_fTimeLeftInState = 0; if( GAMESTATE->IsExtraStage() || GAMESTATE->IsExtraStage2() ) { @@ -943,7 +931,7 @@ void MusicWheel::Update( float fDeltaTime ) if( m_fPositionOffsetFromSelection < 0 ) { m_fPositionOffsetFromSelection = 0; - m_fTimeLeftBeforePlayMusicSample = SAMPLE_MUSIC_DELAY; +// m_fTimeLeftBeforePlayMusicSample = SAMPLE_MUSIC_DELAY; } } else if( m_fPositionOffsetFromSelection < 0 ) @@ -952,7 +940,7 @@ void MusicWheel::Update( float fDeltaTime ) if( m_fPositionOffsetFromSelection > 0 ) { m_fPositionOffsetFromSelection = 0; - m_fTimeLeftBeforePlayMusicSample = SAMPLE_MUSIC_DELAY; +// m_fTimeLeftBeforePlayMusicSample = SAMPLE_MUSIC_DELAY; } } } @@ -971,8 +959,6 @@ void MusicWheel::PrevMusic( bool bSendSongChangedMessage ) if( fabsf(m_fPositionOffsetFromSelection) > 0.5f ) // wheel is busy spinning return; - m_fTimeLeftBeforePlayMusicSample = 0; - switch( m_WheelState ) { case STATE_SELECTING_MUSIC: @@ -1016,8 +1002,6 @@ void MusicWheel::NextMusic( bool bSendSongChangedMessage ) if( fabsf(m_fPositionOffsetFromSelection) > 0.5f ) // wheel is very busy spinning return; - m_fTimeLeftBeforePlayMusicSample = 0; - switch( m_WheelState ) { case STATE_SELECTING_MUSIC: diff --git a/stepmania/src/MusicWheel.h b/stepmania/src/MusicWheel.h index 29aaced549..ac23256693 100644 --- a/stepmania/src/MusicWheel.h +++ b/stepmania/src/MusicWheel.h @@ -32,8 +32,7 @@ const int NUM_WHEEL_ITEMS_TO_DRAW = 13; const ScreenMessage SM_SongChanged = ScreenMessage(SM_User+47); // this should be unique! -const ScreenMessage SM_PlaySongSample = ScreenMessage(SM_User+48); -const ScreenMessage SM_SortOrderChanged = ScreenMessage(SM_User+49); +const ScreenMessage SM_SortOrderChanged = ScreenMessage(SM_User+48); enum WheelItemType { TYPE_SECTION, TYPE_SONG, TYPE_ROULETTE, TYPE_COURSE }; @@ -141,7 +140,6 @@ protected: int m_iSwitchesLeftInSpinDown; float m_fLockedWheelVelocity; - float m_fTimeLeftBeforePlayMusicSample; // Triggers a message send when crosses 0 enum WheelState { STATE_SELECTING_MUSIC, diff --git a/stepmania/src/ScreenSelectMusic.cpp b/stepmania/src/ScreenSelectMusic.cpp index 177b1cc84a..0e752d2ae9 100644 --- a/stepmania/src/ScreenSelectMusic.cpp +++ b/stepmania/src/ScreenSelectMusic.cpp @@ -69,12 +69,14 @@ #define HELP_TEXT THEME->GetMetric("ScreenSelectMusic","HelpText") #define TIMER_SECONDS THEME->GetMetricI("ScreenSelectMusic","TimerSeconds") #define SCORE_CONNECTED_TO_MUSIC_WHEEL THEME->GetMetricB("ScreenSelectMusic","ScoreConnectedToMusicWheel") +#define SAMPLE_MUSIC_DELAY THEME->GetMetricF("ScreenSelectMusic","SampleMusicDelay") const float TWEEN_TIME = 0.5f; const ScreenMessage SM_GoToPrevScreen = ScreenMessage(SM_User+1); const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User+2); +const ScreenMessage SM_PlaySongSample = ScreenMessage(SM_User+3); @@ -544,9 +546,6 @@ void ScreenSelectMusic::MenuLeft( PlayerNumber pn, const InputEventType type ) if( type >= IET_SLOW_REPEAT && INPUTMAPPER->IsButtonDown( MenuInput(pn, MENU_BUTTON_RIGHT) ) ) return; // ignore - if( ! m_MusicWheel.WheelIsLocked() ) - MUSIC->Stop(); - m_MusicWheel.PrevMusic(); } @@ -556,9 +555,6 @@ void ScreenSelectMusic::MenuRight( PlayerNumber pn, const InputEventType type ) if( type >= IET_SLOW_REPEAT && INPUTMAPPER->IsButtonDown( MenuInput(pn, MENU_BUTTON_LEFT) ) ) return; // ignore - if( ! m_MusicWheel.WheelIsLocked() ) - MUSIC->Stop(); - m_MusicWheel.NextMusic(); } @@ -723,6 +719,9 @@ void ScreenSelectMusic::AfterMusicChange() break; case TYPE_SONG: { + MUSIC->Stop(); + this->SendScreenMessage( SM_PlaySongSample, SAMPLE_MUSIC_DELAY ); + for( int pn = 0; pn < NUM_PLAYERS; ++pn) { pSong->GetNotesThatMatch( GAMESTATE->GetCurrentStyleDef(), pn, m_arrayNotes[pn] ); SortNotesArrayByDifficulty( m_arrayNotes[pn] ); @@ -766,7 +765,7 @@ void ScreenSelectMusic::AfterMusicChange() void ScreenSelectMusic::PlayMusicSample() { - //LOG->Trace( "ScreenSelectSong::PlaySONGample()" ); + //LOG->Trace( "ScreenSelectSong::PlayMusicSample()" ); Song* pSong = m_MusicWheel.GetSelectedSong(); if( pSong && pSong->HasMusic() ) @@ -775,8 +774,8 @@ void ScreenSelectMusic::PlayMusicSample() MUSIC->Load( pSong->GetMusicPath() ); MUSIC->Play( true, pSong->m_fMusicSampleStartSeconds, pSong->m_fMusicSampleLengthSeconds ); } - else - MUSIC->LoadAndPlayIfNotAlready( THEME->GetPathTo("Sounds","select music music") ); +// else +// MUSIC->LoadAndPlayIfNotAlready( THEME->GetPathTo("Sounds","select music music") ); } void ScreenSelectMusic::UpdateOptionsDisplays()