From d336032b6da0289d1c52cdd2a1673aefe571d204 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Sun, 9 Mar 2003 10:21:08 +0000 Subject: [PATCH] Fix Joint Premium... again --- stepmania/src/Screen.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/stepmania/src/Screen.cpp b/stepmania/src/Screen.cpp index a4b6ebe2b7..45b3c95975 100644 --- a/stepmania/src/Screen.cpp +++ b/stepmania/src/Screen.cpp @@ -137,11 +137,18 @@ bool Screen::JoinInput( const DeviceInput& DeviceI, const InputEventType type, c return false; /* subtract coins */ + int iCoinsToCharge = 0; if( PREFSMAN->m_CoinMode == PrefsManager::COIN_PAY ) - if( GAMESTATE->m_iCoins < PREFSMAN->m_iCoinsPerCredit ) - return false; // not enough coins - else - GAMESTATE->m_iCoins -= PREFSMAN->m_iCoinsPerCredit; + iCoinsToCharge = PREFSMAN->m_iCoinsPerCredit; + + if( PREFSMAN->m_bJointPremium ) + if( GAMESTATE->m_MasterPlayerNumber!=PLAYER_INVALID ) // one side already joined + iCoinsToCharge = 0; + + if( GAMESTATE->m_iCoins < iCoinsToCharge ) + return false; // not enough coins + else + GAMESTATE->m_iCoins -= iCoinsToCharge; GAMESTATE->m_bSideIsJoined[MenuI.player] = true; if( GAMESTATE->m_MasterPlayerNumber == PLAYER_INVALID )