@@ -649,7 +649,7 @@ void GameEngine::resetSubsystems()
649649}
650650
651651// / -----------------------------------------------------------------------------------------------
652- Bool GameEngine::canUpdateGameLogic ()
652+ Bool GameEngine::canUpdateGameLogic (UnsignedInt logicTimeQueryFlags )
653653{
654654 // Must be first.
655655 TheGameLogic->preUpdate ();
@@ -663,7 +663,7 @@ Bool GameEngine::canUpdateGameLogic()
663663 }
664664 else
665665 {
666- return canUpdateRegularGameLogic ();
666+ return canUpdateRegularGameLogic (logicTimeQueryFlags );
667667 }
668668}
669669
@@ -684,19 +684,18 @@ Bool GameEngine::canUpdateNetworkGameLogic()
684684}
685685
686686// / -----------------------------------------------------------------------------------------------
687- Bool GameEngine::canUpdateRegularGameLogic ()
687+ Bool GameEngine::canUpdateRegularGameLogic (UnsignedInt logicTimeQueryFlags )
688688{
689- const Bool enabled = TheFramePacer->isLogicTimeScaleEnabled ();
690- const Int logicTimeScaleFps = TheFramePacer->getLogicTimeScaleFps ();
691- const Int maxRenderFps = TheFramePacer->getFramesPerSecondLimit ();
689+ const Int logicTimeScaleFps = TheFramePacer->getActualLogicTimeScaleFps (logicTimeQueryFlags);
690+ const Int maxRenderFps = TheFramePacer->getActualFramesPerSecondLimit ();
692691
693692#if defined(_ALLOW_DEBUG_CHEATS_IN_RELEASE)
694693 const Bool useFastMode = TheGlobalData->m_TiVOFastMode ;
695694#else // always allow this cheat key if we're in a replay game.
696695 const Bool useFastMode = TheGlobalData->m_TiVOFastMode && TheGameLogic->isInReplayGame ();
697696#endif
698697
699- if (useFastMode || !enabled || logicTimeScaleFps >= maxRenderFps)
698+ if (useFastMode || logicTimeScaleFps >= maxRenderFps)
700699 {
701700 // Logic time scale is uncapped or larger equal Render FPS. Update straight away.
702701 return true ;
@@ -746,7 +745,7 @@ void GameEngine::update()
746745 }
747746 }
748747
749- const Bool canUpdate = canUpdateGameLogic ();
748+ const Bool canUpdate = canUpdateGameLogic (FramePacer::IgnoreFrozenTime | FramePacer::IgnoreHaltedGame );
750749 const Bool canUpdateLogic = canUpdate && !TheFramePacer->isGameHalted () && !TheFramePacer->isTimeFrozen ();
751750 const Bool canUpdateScript = canUpdate && !TheFramePacer->isGameHalted ();
752751
0 commit comments