Пример #1
0
void Bench_AddObjects( void )
{
	if ( Bench_GetDotAdded() )
	{
		Bench_SpotPosition( g_dotorg, g_aimorg );
		Bench_SetDotAdded( 0 );
	}

	if ( Bench_InStage( SECOND_STAGE ) )
	{
		HUD_CreateBenchObjects( v_origin );	
	}
}
Пример #2
0
void Bench_CheckEntity( int type, struct cl_entity_s *ent, const char *modelname )
{
	if ( Bench_InStage( THIRD_STAGE ) && !stricmp( modelname, "*3" ) )
	{
		model_t *pmod;
		vec3_t v;
		pmod = (model_t *)( ent->model );

		VectorAdd( pmod->mins, pmod->maxs, v );
		VectorScale( v, 0.5, v );

		VectorAdd( v, ent->origin, g_aimorg );
	}

	if ( Bench_InStage( THIRD_STAGE ) && strstr( modelname, "ppdemodot" ) )
	{
		Bench_SetDotAdded( 1 );
		VectorCopy( ent->origin, g_dotorg );

		// Adjust end position
		if ( Bench_Active() && Bench_InStage( THIRD_STAGE ) )
		{
			static float fZAdjust = 0.0;
			static float fLastTime;
			float dt;
			float fRate = Bench_GetPowerPlay() ? 4.0 : 8.0;
			float fBounds = Bench_GetPowerPlay() ? 8.0 : 15.0;

			dt = gHUD.m_flTime - fLastTime;
			if ( dt > 0.0 && dt < 1.0 )
			{
				fZAdjust += gEngfuncs.pfnRandomFloat( -fRate, fRate );
				fZAdjust = min( fBounds, fZAdjust );
				fZAdjust = max( -fBounds, fZAdjust );

				ent->origin[2] += fZAdjust;

				g_fZAdjust = fZAdjust;
			}
			fLastTime = gHUD.m_flTime;
		}
	}
}
Пример #3
0
void Bench_CheckEntity( int type, cl_entity_t *ent, const char *modelname )
{
	if ( Bench_InStage( THIRD_STAGE ) && !stricmp( modelname, "*3" ) )
	{
		model_t *pmod = ent->model;
		const Vector v = ( pmod->mins + pmod->maxs ) * 0.5;

		g_aimorg = v + ent->origin;
	}

	if ( Bench_InStage( THIRD_STAGE ) && strstr( modelname, "ppdemodot" ) )
	{
		Bench_SetDotAdded( 1 );
		g_dotorg = ent->origin;

		// Adjust end position
		if ( Bench_Active() && Bench_InStage( THIRD_STAGE ) )
		{
			static float fZAdjust = 0.0;
			static float fLastTime;
			float dt;
			float fRate = Bench_GetPowerPlay() ? 4.0 : 8.0;
			float fBounds = Bench_GetPowerPlay() ? 8.0 : 15.0;

			dt = gHUD.m_flTime - fLastTime;
			if ( dt > 0.0 && dt < 1.0 )
			{
				fZAdjust += gEngfuncs.pfnRandomFloat( -fRate, fRate );
				fZAdjust = min( fBounds, fZAdjust );
				fZAdjust = max( -fBounds, fZAdjust );

				ent->origin[2] += fZAdjust;

				g_fZAdjust = fZAdjust;
			}
			fLastTime = gHUD.m_flTime;
		}
	}
}