From c020f54c3cf48550f7fc866bcb39109c487a9b72 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Mon, 14 Feb 2005 01:29:25 +0000 Subject: [PATCH] move code from header to cpp --- stepmania/src/OptionRow.cpp | 29 +++++++++++++++++++++++++++++ stepmania/src/OptionRow.h | 31 +++++++------------------------ 2 files changed, 36 insertions(+), 24 deletions(-) diff --git a/stepmania/src/OptionRow.cpp b/stepmania/src/OptionRow.cpp index df5ac3c29d..14c8d35a28 100644 --- a/stepmania/src/OptionRow.cpp +++ b/stepmania/src/OptionRow.cpp @@ -17,6 +17,7 @@ static const CString LayoutTypeNames[NUM_LAYOUT_TYPES] = { XToString( LayoutType ); StringToX( LayoutType ); + OptionRow::OptionRow() { } @@ -30,6 +31,34 @@ OptionRow::~OptionRow() SAFE_DELETE( m_Underline[p][i] ); } + +int OptionRow::GetOneSelection( PlayerNumber pn ) const +{ + for( unsigned i=0; i<(unsigned)m_vbSelected[pn].size(); i++ ) + if( m_vbSelected[pn][i] ) + return i; + ASSERT(0); // shouldn't call this if not expecting one to be selected + return -1; +} + +int OptionRow::GetOneSharedSelection() const +{ + return GetOneSelection( (PlayerNumber)0 ); +} + +void OptionRow::SetOneSelection( PlayerNumber pn, int iChoice ) +{ + for( unsigned i=0; i<(unsigned)m_vbSelected[pn].size(); i++ ) + m_vbSelected[pn][i] = false; + m_vbSelected[pn][iChoice] = true; +} + +void OptionRow::SetOneSharedSelection( int iChoice ) +{ + FOREACH_HumanPlayer( pn ) + SetOneSelection( pn, iChoice ); +} + /* * (c) 2001-2004 Chris Danford * All rights reserved. diff --git a/stepmania/src/OptionRow.h b/stepmania/src/OptionRow.h index a21394a959..adb5ece967 100644 --- a/stepmania/src/OptionRow.h +++ b/stepmania/src/OptionRow.h @@ -40,6 +40,7 @@ class OptionRow : public ActorFrame public: OptionRow(); ~OptionRow(); + OptionRowDefinition m_RowDef; enum { ROW_NORMAL, ROW_EXIT } Type; vector m_textItems; // size depends on m_bRowIsLong and which players are joined @@ -54,30 +55,12 @@ public: int m_iChoiceInRowWithFocus[NUM_PLAYERS]; // this choice has input focus // Only one will true at a time if m_RowDef.bMultiSelect - vector m_vbSelected[NUM_PLAYERS]; // size = m_RowDef.choices.size(). - int GetOneSelection( PlayerNumber pn ) const - { - for( unsigned i=0; i<(unsigned)m_vbSelected[pn].size(); i++ ) - if( m_vbSelected[pn][i] ) - return i; - ASSERT(0); // shouldn't call this if not expecting one to be selected - return -1; - } - int GetOneSharedSelection() const - { - return GetOneSelection( (PlayerNumber)0 ); - } - void SetOneSelection( PlayerNumber pn, int iChoice ) - { - for( unsigned i=0; i<(unsigned)m_vbSelected[pn].size(); i++ ) - m_vbSelected[pn][i] = false; - m_vbSelected[pn][iChoice] = true; - } - void SetOneSharedSelection( int iChoice ) - { - FOREACH_HumanPlayer( pn ) - SetOneSelection( pn, iChoice ); - } + vector m_vbSelected[NUM_PLAYERS]; // size = m_RowDef.choices.size() + + int GetOneSelection( PlayerNumber pn ) const; + int GetOneSharedSelection() const; + void SetOneSelection( PlayerNumber pn, int iChoice ); + void SetOneSharedSelection( int iChoice ); }; #endif