Files
IL-GSC/BO1/PC/ZM/clientscripts/_clientfaceanim.csc
2024-02-18 17:32:07 -05:00

57 lines
1.8 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include clientscripts\_utility;
#include clientscripts\_face_utility;
actor_facial_anim_flag_handler( localClientNum, set, newEnt )
{
if ( set )
{
if ( GetDvarInt( #"cg_debugFace" ) != 0 )
{
PrintLn("*** SET flag face_disable - for ent " + self getentitynumber() + "["+self.type+"]");
}
self.face_disable = true;
self notify( "face", "face_advance" );
}
else
{
if ( GetDvarInt( #"cg_debugFace" ) != 0 )
{
PrintLn("*** CLEARED flag face_disable - for ent " + self getentitynumber() + "["+self.type+"]");
}
self.face_disable = false;
self notify( "face", "face_advance" );
}
}
init_clientfaceanim()
{
register_clientflag_callback("actor", 1, ::actor_facial_anim_flag_handler);
if ( IsDefined(level.zombiemode) && !level.zombiemode )
{
level._faceAnimCBFunc = clientscripts\_clientfaceanim::doFace;
}
}
doFace( localClientNum )
{
if ( self IsPlayer() )
doFace_player( localClientNum );
else if( isdefined( level._faceCBFunc_generichuman ) )
self [[ level._faceCBFunc_generichuman ]]( localClientNum );
}
#using_animtree ( "multiplayer" );
doFace_player( localClientNum )
{
self.face_anim_tree = "multiplayer";
self setFaceRoot( %head );
self buildFaceState( "face_casual", true, -1, 0, "basestate", %pf_casual_idle );
self buildFaceState( "face_alert", true, -1, 0, "basestate", %pf_alert_idle );
self buildFaceState( "face_shoot", true, 1, 1, "eventstate", %pf_firing );
self buildFaceState( "face_melee", true, 2, 1, "eventstate", %pf_melee );
self buildFaceState( "face_pain", false, -1, 2, "eventstate", %pf_pain );
self buildFaceState( "face_death", false, -1, 2, "exitstate", %pf_death );
self buildFaceState( "face_advance", false, -1, 3, "nullstate", undefined );
self thread processFaceEvents( localClientNum );
}