diff --git a/stepmania/src/ScreenGameplay.cpp b/stepmania/src/ScreenGameplay.cpp index 309aa30f1d..e804e9a429 100644 --- a/stepmania/src/ScreenGameplay.cpp +++ b/stepmania/src/ScreenGameplay.cpp @@ -2199,7 +2199,10 @@ void ScreenGameplay::Input( const InputEventPlus &input ) AbortGiveUp( true ); if( PREFSMAN->m_AutoPlay == PC_HUMAN ) - m_vPlayerInfo[input.StyleI.player].m_pPlayer->Step( input.StyleI.col, input.DeviceI.ts ); + { + PlayerInfo& pi = PlayerNumberToPlayerInfo( input.StyleI.player ); + pi.m_pPlayer->Step( input.StyleI.col, input.DeviceI.ts ); + } } } } diff --git a/stepmania/src/ScreenGameplay.h b/stepmania/src/ScreenGameplay.h index 5af1b239e5..b42c6a9035 100644 --- a/stepmania/src/ScreenGameplay.h +++ b/stepmania/src/ScreenGameplay.h @@ -221,6 +221,7 @@ protected: vector m_vPlayerInfo; // filled by SGameplay derivatives in Init virtual void FillPlayerInfo( vector &vPlayerInfoOut ) = 0; + virtual PlayerInfo &PlayerNumberToPlayerInfo( PlayerNumber pn ) { return m_vPlayerInfo[pn]; } }; vector::iterator GetNextEnabledPlayerInfo ( vector::iterator iter, vector &v );