From f9f358c89c3c28197f57cb169163a8079fc53158 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Mon, 14 May 2007 04:04:52 +0000 Subject: [PATCH] fix slow FOREACH_EnabledPlayerInfo, etc --- stepmania/src/ScreenGameplay.cpp | 7 ++++--- stepmania/src/ScreenGameplay.h | 1 + 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/stepmania/src/ScreenGameplay.cpp b/stepmania/src/ScreenGameplay.cpp index 3f0b09ceb1..873f49e5e1 100644 --- a/stepmania/src/ScreenGameplay.cpp +++ b/stepmania/src/ScreenGameplay.cpp @@ -120,6 +120,7 @@ void PlayerInfo::Load( PlayerNumber pn, MultiPlayer mp, bool bShowNoteField ) { m_pn = pn; m_mp = mp; + m_bPlayerEnabled = IsEnabled(); m_bIsDummy = false; m_pLifeMeter = NULL; m_ptextCourseSongNumber = NULL; @@ -256,7 +257,7 @@ GetNextEnabledPlayerInfo( vector::iterator iter, vector { for( ; iter != v.end(); ++iter ) { - if( !iter->IsEnabled() ) + if( !iter->m_bPlayerEnabled ) continue; return iter; } @@ -270,7 +271,7 @@ GetNextEnabledPlayerInfoNotDummy( vector::iterator iter, vectorm_bIsDummy ) continue; - if( !iter->IsEnabled() ) + if( !iter->m_bPlayerEnabled ) continue; return iter; } @@ -284,7 +285,7 @@ GetNextEnabledPlayerNumberInfo( vector::iterator iter, vectorm_bIsDummy ) continue; - if( !iter->IsEnabled() ) + if( !iter->m_bPlayerEnabled ) continue; if( iter->m_mp != MultiPlayer_Invalid ) continue; diff --git a/stepmania/src/ScreenGameplay.h b/stepmania/src/ScreenGameplay.h index 0be7d0c2d2..397c7e157b 100644 --- a/stepmania/src/ScreenGameplay.h +++ b/stepmania/src/ScreenGameplay.h @@ -71,6 +71,7 @@ public: PlayerNumber m_pn; MultiPlayer m_mp; bool m_bIsDummy; + bool m_bPlayerEnabled; // IsEnabled cache for iterators PlayerState m_PlayerStateDummy; PlayerStageStats m_PlayerStageStatsDummy; SoundEffectControl m_SoundEffectControl;