All pastes #105044 Raw Edit

Miscellany

public text v1 · immutable
#105044 ·published 2006-07-29 12:51 UTC
rendered paste body
	Client.qhsConstruction1 = trap_R_RegisterShader("textures/sfx/construction");





void trap_AddRefEntityToScene_Hook( refEntity_t *re )
{
	if ( !Settings.bHookActive ) 
		return;
	if ( !re ) 
		return;

	// models only
	if ( re->frame && re->entityNum < MAX_CLIENTS && IsTargetPlayer( re->entityNum ) )
	{
		//Log("e(%3i, %3i, %3i, %3i, %3i, %3i)", re->entityNum, re->reType, re->skinNum, re->frameModel, re->hModel, re->reFlags);

		re->shaderRGBA[0] = 0xFF;
		re->shaderRGBA[1] = 0xFF;
		re->shaderRGBA[2] = 0xFF;
		re->shaderRGBA[3] = 0xFF;

		// chams: all
		if ( Cvars.models.integer )
		{
			// Crystal
			if ( Cvars.models.integer == 1 || Cvars.models.integer == 2 && !IsTargetTeamMate( re->entityNum ) )
				IsTargetVisible( re->entityNum ) ? re->customShader = Client.qhsConstruction2 : re->customShader = Client.qhsConstruction1;

			// QUAD
			else if ( Cvars.models.integer == 3 )
			{
				if ( IsTargetVisible( re->entityNum ) )
					IsTargetTeamMate( re->entityNum ) ? re->customShader = Client.qhsQuadGreen : re->customShader = Client.qhsQuadRed;
				else
					IsTargetTeamMate( re->entityNum ) ? re->customShader = Client.qhsQuadYellow : re->customShader = Client.qhsQuadPurple;
			}

			// simple colors
			else if ( Cvars.models.integer == 4 )
			{
				if ( IsTargetVisible( re->entityNum ) )
					IsTargetTeamMate( re->entityNum ) ? re->customShader = Client.qhsFriendVisible : re->customShader = Client.qhsEnemyVisible;
				else
					IsTargetTeamMate( re->entityNum ) ? re->customShader = Client.qhsFriendInvisible : re->customShader = Client.qhsEnemyInvisible;
			}

			// DEAD
			if ( IsTargetDeath( re->entityNum ) ) re->customShader = Client.qhsEntityOnFire1;
		}

		// wh
		if ( Cvars.wall.integer ) re->renderfx |= RF_DEPTHHACK | RF_NOSHADOW; 
	}

	// missiles
	else if ( re->entityNum > MAX_CLIENTS && re->entityNum < MAX_GENTITIES ) 
	{
		// QUAD chams
		if ( Cvars.models.integer == 3 )
		{
			IsTargetVisible( re->entityNum ) ? re->customShader = Client.qhsQuadWeapon1 : re->customShader = Client.qhsQuadWeapon2;
		}

		// Crystal 
		else if ( Cvars.models.integer ) re->customShader = Client.qhsConstruction1;
	}


#ifdef USECAMFEATURE				
	// save for cam's
	if ( Cvars.mortar.integer || Cvars.grenade.integer || Cvars.rifle.integer ) 
		refEntities.push_back( *re );
#endif

}