diff --git a/stepmania/TODO.chris b/stepmania/TODO.chris index 2ff7add933..2ceeeb8ea3 100644 --- a/stepmania/TODO.chris +++ b/stepmania/TODO.chris @@ -2,7 +2,7 @@ Fix ///////////////////////// -default difficulty goofed +crowd cheer on AA or greater - ez2dancer missing graphic diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index 1824925c15..8e999ddbb1 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -419,8 +419,8 @@ TryExtraStageY=428 HelpText=Press START to continue TimerSeconds=40 SpinGrades=1 -GradesGlowColor1=1,1,1,0.2 -GradesGlowColor2=1,1,1,0.8 +GradesGlowColor1=1,1,1,0.0 +GradesGlowColor2=1,1,1,0.3 [ScreenMusicScroll] ScrollDelay=0.2 diff --git a/stepmania/src/BGAnimation.cpp b/stepmania/src/BGAnimation.cpp index 2fe536a726..515c54eec1 100644 --- a/stepmania/src/BGAnimation.cpp +++ b/stepmania/src/BGAnimation.cpp @@ -20,6 +20,7 @@ BGAnimation::BGAnimation() { + m_fFadeSeconds = 0; } BGAnimation::~BGAnimation() @@ -41,6 +42,8 @@ void BGAnimation::LoadFromStaticGraphic( CString sPath ) BGAnimationLayer* pLayer = new BGAnimationLayer; pLayer->LoadFromStaticGraphic( sPath ); m_Layers.Add( pLayer ); + + m_fFadeSeconds = 0.5f; } void BGAnimation::LoadFromAniDir( CString sAniDir, CString sSongBGPath ) @@ -72,15 +75,19 @@ void BGAnimation::LoadFromAniDir( CString sAniDir, CString sSongBGPath ) pLayer->LoadFromAniLayerFile( asImagePaths[i], sSongBGPath ); m_Layers.Add( pLayer ); } + + m_fFadeSeconds = 0; } -void BGAnimation::LoadFromMovie( CString sMoviePath, bool bLoop, bool bRewind, bool bFadeSongBG, CString sSongBGPath ) +void BGAnimation::LoadFromMovie( CString sMoviePath, bool bLoop, bool bRewind ) { Unload(); BGAnimationLayer* pLayer = new BGAnimationLayer; - pLayer->LoadFromMovie( sMoviePath, bLoop, bRewind, bFadeSongBG, sSongBGPath ); + pLayer->LoadFromMovie( sMoviePath, bLoop, bRewind ); m_Layers.Add( pLayer ); + + m_fFadeSeconds = 0.5f; } void BGAnimation::LoadFromVisualization( CString sVisPath, CString sSongBGPath ) @@ -95,6 +102,8 @@ void BGAnimation::LoadFromVisualization( CString sVisPath, CString sSongBGPath ) pLayer = new BGAnimationLayer; pLayer->LoadFromVisualization( sVisPath ); m_Layers.Add( pLayer ); + + m_fFadeSeconds = 0.5f; } @@ -114,6 +123,8 @@ void BGAnimation::GainingFocus() { for( int i=0; iGainingFocus(); + + SetDiffuse( D3DXCOLOR(1,1,1,1) ); } void BGAnimation::LosingFocus() @@ -122,3 +133,8 @@ void BGAnimation::LosingFocus() m_Layers[i]->LosingFocus(); } +void BGAnimation::SetDiffuse( const D3DXCOLOR &c ) +{ + for( int i=0; iSetDiffuse(c); + } diff --git a/stepmania/src/BGAnimation.h b/stepmania/src/BGAnimation.h index 2d3ce874ad..fb53854b0f 100644 --- a/stepmania/src/BGAnimation.h +++ b/stepmania/src/BGAnimation.h @@ -28,16 +28,20 @@ public: void LoadFromStaticGraphic( CString sPath ); void LoadFromAniDir( CString sAniDir, CString sSongBGPath="" ); - void LoadFromMovie( CString sMoviePath, bool bLoop, bool bRewind, bool bFadeSongBG = false, CString sSongBGPath = "" ); + void LoadFromMovie( CString sMoviePath, bool bLoop, bool bRewind ); void LoadFromVisualization( CString sMoviePath, CString sSongBGPath ); virtual void Update( float fDeltaTime ); virtual void DrawPrimitives(); + virtual void SetDiffuse( const D3DXCOLOR &c ); + + void GainingFocus(); void LosingFocus(); protected: CArray m_Layers; + float m_fFadeSeconds; }; diff --git a/stepmania/src/BGAnimationLayer.cpp b/stepmania/src/BGAnimationLayer.cpp index d5ba9d2196..1f132f2ce8 100644 --- a/stepmania/src/BGAnimationLayer.cpp +++ b/stepmania/src/BGAnimationLayer.cpp @@ -61,9 +61,9 @@ void BGAnimationLayer::LoadFromStaticGraphic( CString sPath ) m_Sprites[0].StretchTo( CRect(SCREEN_LEFT,SCREEN_TOP,SCREEN_RIGHT,SCREEN_BOTTOM) ); } -void BGAnimationLayer::LoadFromMovie( CString sMoviePath, bool bLoop, bool bRewind, bool bFadeSongBG, CString sSongBGPath ) +void BGAnimationLayer::LoadFromMovie( CString sMoviePath, bool bLoop, bool bRewind ) { - m_iNumSprites = bFadeSongBG ? 2 : 1; + m_iNumSprites = 1; m_Sprites[0].Load( sMoviePath ); m_Sprites[0].StretchTo( CRect(SCREEN_LEFT,SCREEN_TOP,SCREEN_RIGHT,SCREEN_BOTTOM) ); m_Sprites[0].GetTexture()->Play(); @@ -72,14 +72,6 @@ void BGAnimationLayer::LoadFromMovie( CString sMoviePath, bool bLoop, bool bRewi m_bRewindMovie = bRewind; if( !bLoop ) m_Sprites[0].GetTexture()->SetLooping(false); - - if( bFadeSongBG ) - { - m_Sprites[1].Load( sSongBGPath ); - m_Sprites[1].StretchTo( CRect(SCREEN_LEFT,SCREEN_TOP,SCREEN_RIGHT,SCREEN_BOTTOM) ); - m_Sprites[1].BeginTweening( 0.7f ); // this tween won't actually happen until GainFocus is called and this Layer starts getting Update()s. - m_Sprites[1].SetTweenDiffuse( D3DXCOLOR(1,1,1,0) ); - } } void BGAnimationLayer::LoadFromVisualization( CString sMoviePath ) diff --git a/stepmania/src/BGAnimationLayer.h b/stepmania/src/BGAnimationLayer.h index 85fffdba83..715356a126 100644 --- a/stepmania/src/BGAnimationLayer.h +++ b/stepmania/src/BGAnimationLayer.h @@ -26,12 +26,14 @@ public: void LoadFromStaticGraphic( CString sPath ); void LoadFromAniLayerFile( CString sPath, CString sSongBGPath ); - void LoadFromMovie( CString sMoviePath, bool bLoop, bool bRewind, bool bFadeSongBG, CString sSongBGPath ); + void LoadFromMovie( CString sMoviePath, bool bLoop, bool bRewind ); void LoadFromVisualization( CString sMoviePath ); virtual void Update( float fDeltaTime ); virtual void Draw(); + virtual void SetDiffuse( D3DXCOLOR c ) { for(int i=0; iGetMetricI("Background","LeftEdge") #define TOP_EDGE THEME->GetMetricI("Background","TopEdge") @@ -61,7 +63,8 @@ Background::Background() m_iCurBGSegment = 0; m_bInDanger = false; - m_BackgroundMode = MODE_STATIC_BG; + m_pFadingBGA = NULL; + m_fSecsLeftInFade = 0; m_BGADanger.LoadFromAniDir( THEME->GetPathTo("BGAnimations","gameplay danger") ); @@ -134,7 +137,7 @@ void Background::LoadFromSong( Song* pSong ) if( pSong->HasBGChanges() ) { // start off showing the static song background - m_aBGSegments.Add( BGSegment(-10000,0) ); + m_aBGSegments.Add( BGSegment(-10000,0,false) ); // Load the animations used by the song's pre-defined animation plan. @@ -142,6 +145,7 @@ void Background::LoadFromSong( Song* pSong ) for( int i=0; im_BackgroundChanges.GetSize(); i++ ) { const BackgroundChange& aniseg = pSong->m_BackgroundChanges[i]; + bool bFade = i==0; // Using aniseg.m_sBGName, search for the corresponding animation. // Look in this order: movies in song dir, BGAnims in song dir @@ -155,10 +159,10 @@ void Background::LoadFromSong( Song* pSong ) if( asFiles.GetSize() > 0 ) { pTempBGA = new BGAnimation; - pTempBGA->LoadFromMovie( asFiles[0], true, true, i==0/*first BGChange*/, sSongBackgroundPath ); + pTempBGA->LoadFromMovie( asFiles[0], true, true ); m_BGAnimations.Add( pTempBGA ); - m_aBGSegments.Add( BGSegment(aniseg.m_fStartBeat, m_BGAnimations.GetSize()-1) ); // add to the plan + m_aBGSegments.Add( BGSegment(aniseg.m_fStartBeat, m_BGAnimations.GetSize()-1, bFade) ); // add to the plan continue; // stop looking for this background } @@ -170,7 +174,7 @@ void Background::LoadFromSong( Song* pSong ) pTempBGA->LoadFromAniDir( asFiles[0], sSongBackgroundPath ); m_BGAnimations.Add( pTempBGA ); - m_aBGSegments.Add( BGSegment(aniseg.m_fStartBeat, m_BGAnimations.GetSize()-1) ); // add to the plan + m_aBGSegments.Add( BGSegment(aniseg.m_fStartBeat, m_BGAnimations.GetSize()-1, bFade) ); // add to the plan continue; // stop looking for this background } @@ -181,10 +185,10 @@ void Background::LoadFromSong( Song* pSong ) if( asFiles.GetSize() > 0 ) { pTempBGA = new BGAnimation; - pTempBGA->LoadFromMovie( asFiles[0], true, false, i==0/*first BGChange*/, sSongBackgroundPath ); + pTempBGA->LoadFromMovie( asFiles[0], true, false ); m_BGAnimations.Add( pTempBGA ); - m_aBGSegments.Add( BGSegment(aniseg.m_fStartBeat, m_BGAnimations.GetSize()-1) ); // add to the plan + m_aBGSegments.Add( BGSegment(aniseg.m_fStartBeat, m_BGAnimations.GetSize()-1, bFade) ); // add to the plan continue; // stop looking for this background } @@ -196,7 +200,7 @@ void Background::LoadFromSong( Song* pSong ) pTempBGA->LoadFromAniDir( asFiles[0], sSongBackgroundPath ); m_BGAnimations.Add( pTempBGA ); - m_aBGSegments.Add( BGSegment(aniseg.m_fStartBeat, m_BGAnimations.GetSize()-1) ); // add to the plan + m_aBGSegments.Add( BGSegment(aniseg.m_fStartBeat, m_BGAnimations.GetSize()-1, bFade) ); // add to the plan continue; // stop looking for this background } @@ -204,29 +208,33 @@ void Background::LoadFromSong( Song* pSong ) } // end showing the static song background - m_aBGSegments.Add( BGSegment(pSong->m_fLastBeat,0) ); + m_aBGSegments.Add( BGSegment(pSong->m_fLastBeat,0,false) ); SortBGSegmentArray( m_aBGSegments ); // Need to sort in case there is a background change after the last beat (not likely) } else // pSong doesn't have an animation plan { + + enum BackgroundMode { MODE_STATIC_BG, MODE_ANIMATIONS, MODE_MOVIE_VIS, MODE_RANDOMMOVIES } backgroundMode; + // // figure out what BackgroundMode to use // if( PREFSMAN->m_BackgroundMode == PrefsManager::BGMODE_OFF ) - m_BackgroundMode = MODE_STATIC_BG; + backgroundMode = MODE_STATIC_BG; else if( PREFSMAN->m_BackgroundMode == PrefsManager::BGMODE_MOVIEVIS ) - m_BackgroundMode = MODE_MOVIE_VIS; + backgroundMode = MODE_MOVIE_VIS; else if( PREFSMAN->m_BackgroundMode == PrefsManager::BGMODE_RANDOMMOVIES ) - m_BackgroundMode = MODE_RANDOMMOVIES; + backgroundMode = MODE_RANDOMMOVIES; else - m_BackgroundMode = MODE_ANIMATIONS; + backgroundMode = MODE_ANIMATIONS; + bool bFade = backgroundMode==MODE_RANDOMMOVIES; // // Load animations that will play while notes are active // - switch( m_BackgroundMode ) + switch( backgroundMode ) { case MODE_STATIC_BG: break; @@ -280,7 +288,7 @@ void Background::LoadFromSong( Song* pSong ) { int index = rand() % arrayPossibleMovies.GetSize(); pTempBGA = new BGAnimation; - pTempBGA->LoadFromMovie( arrayPossibleMovies[index], true, false, i==0, sSongBackgroundPath ); + pTempBGA->LoadFromMovie( arrayPossibleMovies[index], true, false ); m_BGAnimations.Add( pTempBGA ); arrayPossibleMovies.RemoveAt( index ); } @@ -296,14 +304,16 @@ void Background::LoadFromSong( Song* pSong ) // // Generate an animation plan // - if( m_BackgroundMode == MODE_MOVIE_VIS ) + if( backgroundMode == MODE_MOVIE_VIS ) { - m_aBGSegments.Add( BGSegment(-10000,1) ); + m_aBGSegments.Add( BGSegment(-10000,1,false) ); return; } - - // start off showing the static song background - m_aBGSegments.Add( BGSegment(-10000,0) ); + else + { + // start off showing the static song background + m_aBGSegments.Add( BGSegment(-10000,0,false) ); + } /* If we have only 2, only generate a single animation segment for for the * whole song. Otherwise, if it's a movie., it'll loop every four bars; we @@ -312,7 +322,7 @@ void Background::LoadFromSong( Song* pSong ) const float fLastBeat = pSong->m_fLastBeat; if( m_BGAnimations.GetSize() == 2) { - m_aBGSegments.Add( BGSegment(fFirstBeat,1) ); + m_aBGSegments.Add( BGSegment(fFirstBeat,1,bFade) ); } else { // change BG every 4 bars for( float f=fFirstBeat; fm_fLastBeat,0) ); + m_aBGSegments.Add( BGSegment(pSong->m_fLastBeat,0,bFade) ); // sort segments SortBGSegmentArray( m_aBGSegments ); @@ -386,14 +396,30 @@ void Background::Update( float fDeltaTime ) if( i > m_iCurBGSegment ) { // printf( "%d, %d, %f, %f\n", m_iCurBGSegment, i, m_aBGSegments[i].m_fStartBeat, GAMESTATE->m_fSongBeat ); - GetCurBGA()->LosingFocus(); + BGAnimation* pOld = GetCurBGA(); m_iCurBGSegment = i; - GetCurBGA()->GainingFocus(); + BGAnimation* pNew = GetCurBGA(); + if( pOld != pNew ) + { + pOld->LosingFocus(); + pNew->GainingFocus(); + + m_pFadingBGA = pOld; + m_fSecsLeftInFade = m_aBGSegments[m_iCurBGSegment].m_bFade ? FADE_SECONDS : 0; + } } GetCurBGA()->Update( fDeltaTime ); - + if( m_pFadingBGA ) + { + m_pFadingBGA->Update( fDeltaTime ); + m_fSecsLeftInFade -= fDeltaTime; + float fPercentOpaque = m_fSecsLeftInFade / FADE_SECONDS; + m_pFadingBGA->SetDiffuse( D3DXCOLOR(1,1,1,fPercentOpaque) ); + if( fPercentOpaque <= 0 ) + m_pFadingBGA = NULL; + } } m_quadBGBrightness.Update( fDeltaTime ); @@ -410,6 +436,8 @@ void Background::DrawPrimitives() else { GetCurBGA()->Draw(); + if( m_pFadingBGA ) + m_pFadingBGA->Draw(); } m_quadBGBrightness.Draw(); diff --git a/stepmania/src/Background.h b/stepmania/src/Background.h index 8fb786235f..a887900afc 100644 --- a/stepmania/src/Background.h +++ b/stepmania/src/Background.h @@ -22,9 +22,10 @@ struct BGSegment // like a BGChange, but holds index of a background instead of name { BGSegment() {}; - BGSegment( float b, int i ) { m_fStartBeat = b; m_iBGIndex = i; }; + BGSegment( float b, int i, bool f ) { m_fStartBeat = b; m_iBGIndex = i; m_bFade = f; }; float m_fStartBeat; int m_iBGIndex; + bool m_bFade; }; @@ -52,9 +53,6 @@ public: protected: bool DangerVisible(); - - enum BackgroundMode { MODE_STATIC_BG, MODE_ANIMATIONS, MODE_MOVIE_VIS, MODE_RANDOMMOVIES }; - BackgroundMode m_BackgroundMode; BGAnimation m_BGADanger; @@ -63,7 +61,9 @@ protected: CArray m_aBGSegments; int m_iCurBGSegment; // this increases as we move into new segments BGAnimation* GetCurBGA() { int index = m_aBGSegments[m_iCurBGSegment].m_iBGIndex; return m_BGAnimations[index]; }; - + BGAnimation* m_pCurrentBGA; + BGAnimation* m_pFadingBGA; + float m_fSecsLeftInFade; Quad m_quadBGBrightness; Quad m_quadBorder[4]; // l, t, r, b - cover up the edge of animations that might hang outside of the background rectangle diff --git a/stepmania/src/MusicWheel.cpp b/stepmania/src/MusicWheel.cpp index 2b77182b89..3c76d08770 100644 --- a/stepmania/src/MusicWheel.cpp +++ b/stepmania/src/MusicWheel.cpp @@ -541,7 +541,7 @@ void MusicWheel::BuildWheelItemDatas( CArray &arr arrayWheelItemDatas.Add( WheelItemData(TYPE_ROULETTE, NULL, "", NULL, D3DXCOLOR(1,0,0,1)) ); } - // HACK: Add extra stage item since it's not necessarily in the same group + // HACK: Add extra stage item if it isn't already present on the music wheel if( GAMESTATE->IsExtraStage() || GAMESTATE->IsExtraStage2() ) { Song* pSong; @@ -549,7 +549,20 @@ void MusicWheel::BuildWheelItemDatas( CArray &arr PlayerOptions po; SongOptions so; SONGMAN->GetExtraStageInfo( GAMESTATE->IsExtraStage2(), GAMESTATE->m_pCurSong->m_sGroupName, GAMESTATE->GetCurrentStyleDef(), pSong, pNotes, po, so ); - arrayWheelItemDatas.Add( WheelItemData(TYPE_SONG, pSong, "", NULL, GAMESTATE->GetStageColor()) ); + + bool bFoundExtraSong = false; + + for( int i=0; iGetStageColor()) ); } break; diff --git a/stepmania/src/PrefsManager.cpp b/stepmania/src/PrefsManager.cpp index 0ee8d4030a..69a61a52d4 100644 --- a/stepmania/src/PrefsManager.cpp +++ b/stepmania/src/PrefsManager.cpp @@ -45,7 +45,7 @@ PrefsManager::PrefsManager() m_bEventMode = false; m_iNumArcadeStages = 3; m_bAutoPlay = false; - m_fJudgeWindowSeconds = 0.20f; + m_fJudgeWindowSeconds = 0.17f; m_fJudgeWindowPerfectPercent = 0.25f; m_fJudgeWindowGreatPercent = 0.50f; m_fJudgeWindowGoodPercent = 0.75f; diff --git a/stepmania/src/RageMovieTexture.cpp b/stepmania/src/RageMovieTexture.cpp index 4f999d7c8e..0b9a8e5d43 100644 --- a/stepmania/src/RageMovieTexture.cpp +++ b/stepmania/src/RageMovieTexture.cpp @@ -188,7 +188,10 @@ HRESULT CTextureRenderer::SetRenderTarget( RageMovieTexture* pTexture ) HRESULT CTextureRenderer::DoRenderSample( IMediaSample * pSample ) { if( m_pTexture == NULL ) - throw RageException( "DoRenderSample called while m_pTexture was NULL!" ); + { + LOG->Warn( "DoRenderSample called while m_pTexture was NULL!" ); + return S_OK; + } BYTE *pBmpBuffer; // Bitmap buffer @@ -307,6 +310,7 @@ RageMovieTexture::RageMovieTexture( } m_bLoop = true; + m_bPlaying = false; } RageMovieTexture::~RageMovieTexture() @@ -490,6 +494,8 @@ HRESULT RageMovieTexture::PlayMovie() if( FAILED( hr = pMC->Run() ) ) throw RageException( hr, "Could not run the DirectShow graph." ); + m_bPlaying = true; + return S_OK; } @@ -552,6 +558,8 @@ void RageMovieTexture::Stop() HRESULT hr; if( FAILED( hr = pMC->Stop() ) ) throw RageException( hr, "Could not stop the DirectShow graph." ); + + m_bPlaying = false; } void RageMovieTexture::SetPosition( float fSeconds ) @@ -561,3 +569,8 @@ void RageMovieTexture::SetPosition( float fSeconds ) pMP->put_CurrentPosition(0); } +bool RageMovieTexture::IsPlaying() const +{ + return m_bPlaying; +} + diff --git a/stepmania/src/RageMovieTexture.h b/stepmania/src/RageMovieTexture.h index 234ad8f7a8..2297061235 100644 --- a/stepmania/src/RageMovieTexture.h +++ b/stepmania/src/RageMovieTexture.h @@ -53,6 +53,7 @@ public: virtual void Stop(); virtual void SetPosition( float fSeconds ); virtual bool IsAMovie() const { return true; }; + virtual bool IsPlaying() const; void SetLooping(bool looping=true) { m_bLoop = looping; } LPDIRECT3DTEXTURE8 GetBackBuffer() { return m_pd3dTexture[!m_iIndexFrontBuffer]; } @@ -76,4 +77,5 @@ protected: CComPtr m_pGB; // GraphBuilder CTextureRenderer *m_pCTR; // DShow Texture renderer bool m_bLoop; + bool m_bPlaying; }; diff --git a/stepmania/src/RageTexture.h b/stepmania/src/RageTexture.h index 194cba1b28..248a61a669 100644 --- a/stepmania/src/RageTexture.h +++ b/stepmania/src/RageTexture.h @@ -64,6 +64,7 @@ public: virtual void Pause() {} virtual void SetPosition( float fSeconds ) {} virtual bool IsAMovie() const { return false; } + virtual bool IsPlaying() const { return false; } void SetLooping(bool looping=true) { } int GetSourceWidth() const {return m_iSourceWidth;} diff --git a/stepmania/src/ScreenEvaluation.cpp b/stepmania/src/ScreenEvaluation.cpp index 2f9d3602bc..94476a2f2a 100644 --- a/stepmania/src/ScreenEvaluation.cpp +++ b/stepmania/src/ScreenEvaluation.cpp @@ -435,7 +435,7 @@ ScreenEvaluation::ScreenEvaluation( bool bSummary ) m_Grades[p].SetXY( GRADE_X(p), GRADE_Y ); m_Grades[p].SetZ( -2 ); m_Grades[p].SetZoom( 1.0f ); - m_Grades[p].SetEffectGlowing( 8.0f, GRADES_GLOW_COLOR_1, GRADES_GLOW_COLOR_2 ); + m_Grades[p].SetEffectGlowing( 5.0f, GRADES_GLOW_COLOR_1, GRADES_GLOW_COLOR_2 ); if( SPIN_GRADES ) m_Grades[p].SpinAndSettleOn( grade[p] ); else diff --git a/stepmania/src/ScreenMachineOptions.cpp b/stepmania/src/ScreenMachineOptions.cpp index cec808f927..1d14339cfa 100644 --- a/stepmania/src/ScreenMachineOptions.cpp +++ b/stepmania/src/ScreenMachineOptions.cpp @@ -88,11 +88,11 @@ void ScreenMachineOptions::ImportOptions() * impossible, and perhaps it *is* justice that even the CPU fails * it. :) */ - if( PREFSMAN->m_fJudgeWindowSeconds == 0.29f ) m_iSelectedOption[0][MO_JUDGE_DIFFICULTY] = 0; - else if( PREFSMAN->m_fJudgeWindowSeconds == 0.26f ) m_iSelectedOption[0][MO_JUDGE_DIFFICULTY] = 1; - else if( PREFSMAN->m_fJudgeWindowSeconds == 0.23f ) m_iSelectedOption[0][MO_JUDGE_DIFFICULTY] = 2; - else if( PREFSMAN->m_fJudgeWindowSeconds == 0.20f ) m_iSelectedOption[0][MO_JUDGE_DIFFICULTY] = 3; - else if( PREFSMAN->m_fJudgeWindowSeconds == 0.17f ) m_iSelectedOption[0][MO_JUDGE_DIFFICULTY] = 4; + if( PREFSMAN->m_fJudgeWindowSeconds == 0.27f ) m_iSelectedOption[0][MO_JUDGE_DIFFICULTY] = 0; + else if( PREFSMAN->m_fJudgeWindowSeconds == 0.24f ) m_iSelectedOption[0][MO_JUDGE_DIFFICULTY] = 1; + else if( PREFSMAN->m_fJudgeWindowSeconds == 0.21f ) m_iSelectedOption[0][MO_JUDGE_DIFFICULTY] = 2; + else if( PREFSMAN->m_fJudgeWindowSeconds == 0.18f ) m_iSelectedOption[0][MO_JUDGE_DIFFICULTY] = 3; + else if( PREFSMAN->m_fJudgeWindowSeconds == 0.15f ) m_iSelectedOption[0][MO_JUDGE_DIFFICULTY] = 4; else if( PREFSMAN->m_fJudgeWindowSeconds == 0.12f ) m_iSelectedOption[0][MO_JUDGE_DIFFICULTY] = 5; else if( PREFSMAN->m_fJudgeWindowSeconds == 0.09f ) m_iSelectedOption[0][MO_JUDGE_DIFFICULTY] = 6; else if( PREFSMAN->m_fJudgeWindowSeconds == 0.06f ) m_iSelectedOption[0][MO_JUDGE_DIFFICULTY] = 7; @@ -120,14 +120,14 @@ void ScreenMachineOptions::ExportOptions() switch( m_iSelectedOption[0][MO_JUDGE_DIFFICULTY] ) { - case 0: PREFSMAN->m_fJudgeWindowSeconds = 0.29f; break; - case 1: PREFSMAN->m_fJudgeWindowSeconds = 0.26f; break; - case 2: PREFSMAN->m_fJudgeWindowSeconds = 0.23f; break; - case 3: PREFSMAN->m_fJudgeWindowSeconds = 0.20f; break; - case 4: PREFSMAN->m_fJudgeWindowSeconds = 0.17f; break; - case 5: PREFSMAN->m_fJudgeWindowSeconds = 0.12f; break; - case 6: PREFSMAN->m_fJudgeWindowSeconds = 0.09f; break; - case 7: PREFSMAN->m_fJudgeWindowSeconds = 0.06f; break; + case 0: PREFSMAN->m_fJudgeWindowSeconds = 0.27f; break; + case 1: PREFSMAN->m_fJudgeWindowSeconds = 0.24f; break; + case 2: PREFSMAN->m_fJudgeWindowSeconds = 0.21f; break; + case 3: PREFSMAN->m_fJudgeWindowSeconds = 0.18f; break; + case 4: PREFSMAN->m_fJudgeWindowSeconds = 0.15f; break; + case 5: PREFSMAN->m_fJudgeWindowSeconds = 0.10f; break; + case 6: PREFSMAN->m_fJudgeWindowSeconds = 0.07f; break; + case 7: PREFSMAN->m_fJudgeWindowSeconds = 0.04f; break; default: ASSERT(0); } diff --git a/stepmania/src/ScreenMusicScroll.cpp b/stepmania/src/ScreenMusicScroll.cpp index e0e6332d09..413155c1ef 100644 --- a/stepmania/src/ScreenMusicScroll.cpp +++ b/stepmania/src/ScreenMusicScroll.cpp @@ -74,6 +74,7 @@ const CString CREDIT_LINES[] = "Bruno Figueiredo", "Dro Kulix (Peter S. May)", "nmspaz (Jared Roberts)", + "binarys (Brendan Walker)", "Mantis (Ben Nordstrom)", "Parasyte (Chris Gomez)", "dirkthedaring (Michael Patterson)", @@ -103,7 +104,6 @@ const CString CREDIT_LINES[] = "Lagged", "The Melting Pot", "DDRJamz Global BBS", - "Brendan Walker", "Eric 'WaffleKing' Webster", "Mark 'Foobly' Verrey", "Mandarin Blue", diff --git a/stepmania/src/ScreenTitleMenu.cpp b/stepmania/src/ScreenTitleMenu.cpp index e33f0bc77a..8d39eb0d57 100644 --- a/stepmania/src/ScreenTitleMenu.cpp +++ b/stepmania/src/ScreenTitleMenu.cpp @@ -272,7 +272,7 @@ void ScreenTitleMenu::HandleScreenMessage( const ScreenMessage SM ) if( RandomFloat(0,1)>0.8f ) GAMESTATE->m_PlayerOptions[p].m_bDark = true; } - GAMESTATE->m_SongOptions.m_LifeType = (randomf(0,1)>0.7f) ? SongOptions::LIFE_BATTERY : SongOptions::LIFE_BAR; + GAMESTATE->m_SongOptions.m_LifeType = (randomf(0,1)>0.8f) ? SongOptions::LIFE_BATTERY : SongOptions::LIFE_BAR; GAMESTATE->m_SongOptions.m_FailType = SongOptions::FAIL_OFF; GAMESTATE->m_bDemonstration = true; diff --git a/stepmania/src/Sprite.cpp b/stepmania/src/Sprite.cpp index ecba0db945..e28e9edf8c 100644 --- a/stepmania/src/Sprite.cpp +++ b/stepmania/src/Sprite.cpp @@ -197,7 +197,7 @@ void Sprite::DrawPrimitives() if( m_pTexture == NULL ) return; - if( m_pTexture->IsAMovie() ) + if( m_pTexture->IsAMovie() && m_pTexture->IsPlaying() ) ::Sleep( PREFSMAN->m_iMovieDecodeMS ); // let the movie decode a frame