Fix for [#32054] "Animation break after resuming scene" reported by Andreas Esau (ndee). The action's timing was getting messed up which resulted in negative local frames, which were being counted as "done."
This commit is contained in:
		@@ -206,7 +206,7 @@ bool BL_Action::Play(const char* name,
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Now that we have an action, we have something we can play
 | 
			
		||||
	m_starttime = KX_GetActiveEngine()->GetFrameTime();
 | 
			
		||||
	m_starttime = -1.f; // We get the start time on our first update
 | 
			
		||||
	m_startframe = m_localtime = start;
 | 
			
		||||
	m_endframe = end;
 | 
			
		||||
	m_blendin = blendin;
 | 
			
		||||
@@ -338,6 +338,11 @@ void BL_Action::Update(float curtime)
 | 
			
		||||
 | 
			
		||||
	curtime -= KX_KetsjiEngine::GetSuspendedDelta();
 | 
			
		||||
 | 
			
		||||
	// Grab the start time here so we don't end up with a negative m_localtime when
 | 
			
		||||
	// suspending and resuming scenes.
 | 
			
		||||
	if (m_starttime < 0)
 | 
			
		||||
		m_starttime = curtime;
 | 
			
		||||
 | 
			
		||||
	if (m_calc_localtime)
 | 
			
		||||
		SetLocalTime(curtime);
 | 
			
		||||
	else
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user