Fix issue 247; a crash occurs when exiting Practice mode from dance-solo, dance-threepanel, and popn-nine (all of which can only have one player). Not sure if any other modes will cause this crash.

This commit is contained in:
AJ Kelly
2011-04-02 00:32:30 -05:00
parent 4f79fe3e73
commit 348df5f561
2 changed files with 13 additions and 2 deletions
+6
View File
@@ -15,6 +15,12 @@ sm-ssc $NEXTVERSION | 2011????
It depends on who you ask. It depends on who you ask.
It could be v1.2.5, it could be v1.3.0, it could even be StepMania 5. It could be v1.2.5, it could be v1.3.0, it could even be StepMania 5.
20110402
--------
* Fix a crash (issue 247) when exiting Practice mode from dance-solo,
dance-threepanel, and popn-nine (all of which can only have one player).
If you find any other modes this crashes on, let us know. [AJ]
20110329 20110329
-------- --------
* [ScreenEdit] Changed sample playback button to L. [AJ] * [ScreenEdit] Changed sample playback button to L. [AJ]
+7 -2
View File
@@ -355,9 +355,14 @@ void GameState::JoinPlayer( PlayerNumber pn )
if( ALLOW_LATE_JOIN && m_pCurStyle != NULL ) if( ALLOW_LATE_JOIN && m_pCurStyle != NULL )
{ {
const Style *pStyle; const Style *pStyle;
// only use one player for StyleType_OnePlayerTwoSides. // Only use one player for StyleType_OnePlayerTwoSides and StepsTypes
// that can only be played by one player (e.g. dance-solo,
// dance-threepanel, popn-nine). -aj
// XXX?: still shows joined player as "Insert Card". May not be an issue? -aj // XXX?: still shows joined player as "Insert Card". May not be an issue? -aj
if( m_pCurStyle->m_StyleType == StyleType_OnePlayerTwoSides ) if( m_pCurStyle->m_StyleType == StyleType_OnePlayerTwoSides ||
m_pCurStyle->m_StepsType == StepsType_dance_solo ||
m_pCurStyle->m_StepsType == StepsType_dance_threepanel ||
m_pCurStyle->m_StepsType == StepsType_popn_nine )
pStyle = GAMEMAN->GetFirstCompatibleStyle( m_pCurGame, 1, m_pCurStyle->m_StepsType ); pStyle = GAMEMAN->GetFirstCompatibleStyle( m_pCurGame, 1, m_pCurStyle->m_StepsType );
else else
pStyle = GAMEMAN->GetFirstCompatibleStyle( m_pCurGame, GetNumSidesJoined(), m_pCurStyle->m_StepsType ); pStyle = GAMEMAN->GetFirstCompatibleStyle( m_pCurGame, GetNumSidesJoined(), m_pCurStyle->m_StepsType );