コード例 #1
0
/*
======================
UI_PositionEntityOnTag
======================
*/
static void UI_PositionEntityOnTag( refEntity_t *entity, const refEntity_t *parent,
									clipHandle_t parentModel, char *tagName ) {
	int i;
	orientation_t lerped;

	// lerp the tag
	trap_CM_LerpTag( &lerped, (const refEntity_t *)parent, (const char *)tagName, 0 );

	// FIXME: allow origin offsets along tag?
	VectorCopy( parent->origin, entity->origin );
	for ( i = 0 ; i < 3 ; i++ ) {
		VectorMA( entity->origin, lerped.origin[i], parent->axis[i], entity->origin );
	}

	// cast away const because of compiler problems
	MatrixMultiply( lerped.axis, ( (refEntity_t*)parent )->axis, entity->axis );
	entity->backlerp = parent->backlerp;
}
コード例 #2
0
/*
======================
UI_PositionRotatedEntityOnTag
======================
*/
static void UI_PositionRotatedEntityOnTag( refEntity_t *entity, const refEntity_t *parent, 
							clipHandle_t parentModel, char *tagName ) {
	int				i;
	orientation_t	lerped;
	vec3_t			tempAxis[3];

	// lerp the tag
	trap_CM_LerpTag( &lerped, parentModel, parent->oldframe, parent->frame,
		1.0 - parent->backlerp, tagName );

	// FIXME: allow origin offsets along tag?
	VectorCopy( parent->origin, entity->origin );
	for ( i = 0 ; i < 3 ; i++ ) {
		VectorMA( entity->origin, lerped.origin[i], parent->axis[i], entity->origin );
	}

	// cast away const because of compiler problems
	MatrixMultiply( entity->axis, lerped.axis, tempAxis );
	MatrixMultiply( tempAxis, ((refEntity_t *)parent)->axis, entity->axis );
}
コード例 #3
0
ファイル: players.c プロジェクト: icanhas/yantar
/*
 * UI_PositionEntityOnTag
 */
static void
UI_PositionEntityOnTag(Refent *entity, const Refent *parent,
		       Cliphandle parentModel, char *tagName)
{
	int i;
	Orient lerped;

	/* lerp the tag */
	trap_CM_LerpTag(&lerped, parentModel, parent->oldframe, parent->frame,
		1.0 - parent->backlerp, tagName);

	/* FIXME: allow origin offsets along tag? */
	copyv3(parent->origin, entity->origin);
	for(i = 0; i < 3; i++)
		saddv3(entity->origin, lerped.origin[i], parent->axis[i],
			entity->origin);

	/* cast away const because of compiler problems */
	MatrixMultiply(lerped.axis, ((Refent*)parent)->axis, entity->axis);
	entity->backlerp = parent->backlerp;
}