Skip to content

Commit d9757ba

Browse files
committed
fix setup time / miniround regression
1 parent 1f94ff1 commit d9757ba

2 files changed

Lines changed: 23 additions & 7 deletions

File tree

src/game/shared/teamplayroundbased_gamerules.cpp

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1641,8 +1641,13 @@ void CTeamplayRoundBasedRules::State_Enter_PREROUND( void )
16411641
#ifdef TF_DLL
16421642
if ( ( TFGameRules()->IsCompetitiveMode() || TFGameRules()->IsEmulatingMatch() ) && GetRoundsPlayed() == 0 && !m_bAllowBetweenRounds )
16431643
{
1644-
// we already did a round respawn in this case.
1645-
bDoRoundRespawn = false;
1644+
CTeamControlPointMaster* pMaster = g_hControlPointMasters.Count() ? g_hControlPointMasters[0] : NULL;
1645+
bool bPlayedMiniRound = pMaster && pMaster->PlayingMiniRounds();
1646+
if ( !bPlayedMiniRound && !( GetActiveRoundTimer() && ( GetActiveRoundTimer()->GetSetupTimeLength() > 0 ) ) )
1647+
{
1648+
// we already did a round respawn in this case.
1649+
bDoRoundRespawn = false;
1650+
}
16461651
}
16471652
#endif
16481653
if ( bDoRoundRespawn )
@@ -1866,9 +1871,17 @@ void CTeamplayRoundBasedRules::CheckReadyRestart( void )
18661871
return;
18671872
}
18681873
}
1869-
else if ( !TFGameRules()->IsCompetitiveMode() && !TFGameRules()->IsEmulatingMatch() && mp_tournament.GetBool() )
1874+
else if ( TFGameRules()->IsCompetitiveMode() || TFGameRules()->IsEmulatingMatch() )
1875+
{
1876+
// otherwise, we handled this during m_flCompModeRespawnPlayersAtMatchStart
1877+
if ( !TFGameRules()->IsPreRoundPushEnabled() )
1878+
{
1879+
TFGameRules()->StartCompetitiveMatch();
1880+
}
1881+
return;
1882+
}
1883+
else if ( mp_tournament.GetBool() )
18701884
{
1871-
// for matches, we handle this during m_flCompModeRespawnPlayersAtMatchStart
18721885
if ( mp_tournament_prevent_team_switch_on_readyup.GetBool() )
18731886
{
18741887
TFGameRules()->SetSwitchTeams( false );

src/game/shared/tf/tf_gamerules.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9430,9 +9430,12 @@ void CTFGameRules::Think()
94309430
{
94319431
if ( ( State_Get() == GR_STATE_BETWEEN_RNDS || State_Get() == GR_STATE_PREROUND ) && ( GetRoundsPlayed() == 0 ) )
94329432
{
9433-
ShouldResetScores( true, true );
9434-
ShouldResetRoundsPlayed( true );
9435-
StartCompetitiveMatch();
9433+
if ( IsPreRoundPushEnabled() )
9434+
{
9435+
ShouldResetScores( true, true );
9436+
ShouldResetRoundsPlayed( true );
9437+
StartCompetitiveMatch();
9438+
}
94369439
SpawnMatchBots();
94379440
}
94389441

0 commit comments

Comments
 (0)