void StudioModel::RunFlexRules( )
{
	CStudioHdr *pStudioHdr = GetStudioHdr();

	float src[MAXSTUDIOFLEXCTRL*4];

	for (LocalFlexController_t i = LocalFlexController_t(0); i < pStudioHdr->numflexcontrollers(); i++)
	{
		mstudioflexcontroller_t *pflex = pStudioHdr->pFlexcontroller( i );
		int j = pStudioHdr->pFlexcontroller( i )->localToGlobal;
		// remap m_flexweights to full dynamic range, global flexcontroller indexes
		if (j >= 0 && j < MAXSTUDIOFLEXCTRL*4)
		{
			src[j] = m_flexweight[i] * (pflex->max - pflex->min) + pflex->min; 
		}
	}
	
	pStudioHdr->RunFlexRules( src, g_flexdescweight );
}
Esempio n. 2
0
void StudioModel::RunFlexRules(  )
{
	int i;

	CStudioHdr *pStudioHdr = GetStudioHdr();

	float src[MAXSTUDIOFLEXCTRL*4];

	for (i = 0; i < pStudioHdr->numflexcontrollers(); i++)
	{
		mstudioflexcontroller_t *pflex = pStudioHdr->pFlexcontroller( i );
		int j = pStudioHdr->pFlexcontroller( i )->link;
		// remap m_flexweights to full dynamic range, global flexcontroller indexes
		src[j] = m_flexweight[i] * (pflex->max - pflex->min) + pflex->min; 
	}
	
	pStudioHdr->RunFlexRules( src, g_flexdescweight );

	return;
}