diff options
Diffstat (limited to 'source/gameengine/Ketsji/KX_KetsjiEngine.cpp')
-rw-r--r-- | source/gameengine/Ketsji/KX_KetsjiEngine.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/source/gameengine/Ketsji/KX_KetsjiEngine.cpp b/source/gameengine/Ketsji/KX_KetsjiEngine.cpp index 72c512589a4..c6e5f734c16 100644 --- a/source/gameengine/Ketsji/KX_KetsjiEngine.cpp +++ b/source/gameengine/Ketsji/KX_KetsjiEngine.cpp @@ -75,6 +75,8 @@ #include "KX_NavMeshObject.h" +#include "BL_Action.h" // For managing action lock. + #define DEFAULT_LOGIC_TIC_RATE 60.0 //#define DEFAULT_PHYSICS_TIC_RATE 60.0 @@ -181,6 +183,8 @@ KX_KetsjiEngine::KX_KetsjiEngine(KX_ISystem* system) #endif m_taskscheduler = BLI_task_scheduler_create(TASK_SCHEDULER_AUTO_THREADS); + + BL_Action::InitLock(); } @@ -200,6 +204,8 @@ KX_KetsjiEngine::~KX_KetsjiEngine() if (m_taskscheduler) BLI_task_scheduler_free(m_taskscheduler); + + BL_Action::EndLock(); } @@ -1019,6 +1025,10 @@ void KX_KetsjiEngine::GetSceneViewport(KX_Scene *scene, KX_Camera* cam, RAS_Rect void KX_KetsjiEngine::UpdateAnimations(KX_Scene *scene) { + if (scene->IsSuspended()) { + return; + } + // Handle the animations independently of the logic time step if (GetRestrictAnimationFPS()) { double anim_timestep = 1.0 / KX_GetActiveScene()->GetAnimationFPS(); |