All pastes #426906 Raw Edit

Something

public c v1 · immutable
·published 2007-04-06 14:03 UTC
rendered paste body
void aimAt(vec3_t target) {	#ifdef ETH_DEBUG		if (seth.value[VAR_AIM_POINT] == AIM_POINT_2D) {			#define POINT_SIZE 3	    	int x, y;			if (worldToScreen(target, &x, &y))				drawFillRect(x - (POINT_SIZE / 1.5), y - (POINT_SIZE / 1.5), POINT_SIZE, POINT_SIZE, colorYellow);		} else if (seth.value[VAR_AIM_POINT] == AIM_POINT_3D) {			crossRailTrail(target);		}	#endif	vec3_t org, ang;	// Self Prediction	if (seth.value[VAR_SELFPREDICT]) {		vec3_t pVieworg;		if (seth.value[VAR_SELFPREDICT] == SELFPREDICT_PING) {			VectorMA(eth.cg_refdef.vieworg, eth.cg_snap->ping / 1000, eth.cg_entities[eth.cg_clientNum].currentState->pos.trDelta, pVieworg);    		} else if (seth.value[VAR_SELFPREDICT] == SELFPREDICT_MANUAL) {    			VectorMA(eth.cg_refdef.vieworg, seth.value[VAR_SELFPREDICT_VALUE] / 100.0f, eth.cg_entities[eth.cg_clientNum].currentState->pos.trDelta, pVieworg);		} else if (seth.value[VAR_SELFPREDICT] == SELFPREDICT_AUTO) {			VectorMA(eth.cg_refdef.vieworg, (float)(eth.cg_frametime) / 1000.0f, eth.cg_entities[eth.cg_clientNum].currentState->pos.trDelta, pVieworg);		} else {			ethLog("error: invalid aim prediction type: %i", seth.value[VAR_SELFPREDICT]);			VectorCopy(eth.cg_refdef.vieworg, pVieworg);		}		VectorSubtract(target, pVieworg, org);    } else {																													VectorSubtract(target, eth.cg_refdef.vieworg, org);    }	vectoangles(org, ang);	ang[PITCH] -= eth.cg_refdefViewAngles[PITCH];	ang[YAW] -= eth.cg_refdefViewAngles[YAW];	// Simple human aim for now - will try to make it cg_time based, not framebased like now	if (seth.value[VAR_HUMAN]) {		while (ang[PITCH] < -360.0f)			ang[PITCH] += 360.0f;		while (ang[PITCH] > 360.0f)			ang[PITCH] -= 360.0f;		while (ang[YAW] < -360.0f)			ang[YAW] += 360.0f;		while (ang[YAW] > 360.0f)			ang[YAW] -= 360.0f;		if (ang[PITCH] > 180.0f)			ang[PITCH] -= 360.0f;		if (ang[PITCH] < -180.0f)			ang[PITCH] += 360.0f;		if (ang[YAW] > 180.0f)			ang[YAW] -= 360.0f;		if (ang[YAW] < -180.0f)			ang[YAW] += 360.0f;	float aimDiv = seth.value[VAR_DIVMAX];        if (aimDiv>(float)(seth.value[VAR_DIVMIN])) {		ang[PITCH] *= seth.value[VAR_HUMANVALUE]/aimDiv;		ang[YAW] *= seth.value[VAR_HUMANVALUE]/aimDiv;		aimDiv -= seth.value[VAR_HUMANVALUE];        } else			{				aimDiv = (float)(seth.value[VAR_DIVMAX]);			}	}    *(float *)sethET->cl_mouseDx += ang[PITCH];    *(float *)sethET->cl_mouseDy += ang[YAW];//    *(float *)CL_MOUSEDX_ADDR += AngleDelta(ang[PITCH], seth.refdefViewAngles[PITCH]);//    *(float *)CL_MOUSEDY_ADDR += AngleDelta(ang[YAW], seth.refdefViewAngles[YAW]);}