Acttable t: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		 Bug:
Bug:
		
	
| m (Add Russian Lang) | m ("jesus pose") | ||
| Line 5: | Line 5: | ||
| '''<code>acttable_t</code>''' defines translations between the generic [[Activity|activities]] generated by a [[PlayerAnimState]] object into ones specific to the current weapon. For instance, <code>ACT_MP_STAND_IDLE</code> might be translated into <code>ACT_DOD_STAND_AIM_RIFLE</code> by the Rifle weapon. | '''<code>acttable_t</code>''' defines translations between the generic [[Activity|activities]] generated by a [[PlayerAnimState]] object into ones specific to the current weapon. For instance, <code>ACT_MP_STAND_IDLE</code> might be translated into <code>ACT_DOD_STAND_AIM_RIFLE</code> by the Rifle weapon. | ||
| If a weapon doesn't have an ActTable, or has an incomplete one, you are likely to find your player models  | If a weapon doesn't have an ActTable, or has an incomplete one, you are likely to find your player models losing all animations in some conditions. | ||
| {{bug|<code>[[CBaseCombatWeapon]]::ActivityOverride()</code>, which executes an ActTable, is not called from base code. See [[m_PlayerAnimState#Implementation]] to fix this.}} | {{bug|<code>[[CBaseCombatWeapon]]::ActivityOverride()</code>, which executes an ActTable, is not called from base code. See [[m_PlayerAnimState#Implementation]] to fix this.}} | ||
Revision as of 22:46, 18 May 2018
acttable_t defines translations between the generic activities generated by a PlayerAnimState object into ones specific to the current weapon. For instance, ACT_MP_STAND_IDLE might be translated into ACT_DOD_STAND_AIM_RIFLE by the Rifle weapon.
If a weapon doesn't have an ActTable, or has an incomplete one, you are likely to find your player models losing all animations in some conditions.
 Bug:
Bug:CBaseCombatWeapon::ActivityOverride(), which executes an ActTable, is not called from base code. See m_PlayerAnimState#Implementation to fix this.  [todo tested in ?]Implementation
Add DECLARE_ACTTABLE() to both the client and server classes. Then, in shared code:
acttable_t CMyWeapon::m_acttable[] = 
{
	{ ACT_MP_STAND_IDLE,	ACT_MYMOD_STAND_AIM_MYWEAPON,	false },
	{ ACT_MP_CROUCH_IDLE,	ACT_MYMOD_CROUCH_AIM_MYWEAPON,	false },
	{ ACT_MP_RUN,		ACT_MYMOD_RUN_MYWEAPON,		false },
	// etc.
};
IMPLEMENT_ACTTABLE( CMyWeapon );
The third value is whether the animation is "required" or not.
Todo: Meaning of this.