From e1f9e558dfe249ea056eaf22a68e804c0c8061e2 Mon Sep 17 00:00:00 2001 From: Steve Checkoway Date: Sat, 24 Jun 2006 04:19:00 +0000 Subject: [PATCH] Map between PlayerNumber and PlayerInfo. Most subclasses use a one to one mapping so that's what ScreenGameplay's version will do. If you need other behavior, implement this member function. --- stepmania/src/ScreenGameplay.cpp | 5 ++++- stepmania/src/ScreenGameplay.h | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) 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 );