void AngleVectors (const float* angles, float* forward, float* right, float* up)
{
	float angle, sr, sp, sy, cr, cp, cy;
	angle = (float)angles[1] * 0.017453f;
	sy = (float)sin(angle);
	cy = (float)cos(angle);
	angle = (float)angles[0] * 0.017453f;
	sp = (float)sin(angle);
	cp = (float)cos(angle);
	angle = (float)angles[2] * 0.017453f;
	sr = (float)sin(angle);
	cr = (float)cos(angle);
	if (forward)
	{
		forward[0] = cp * cy;
		forward[1] = cp * sy;
		forward[2] = -sp;
	}
	if (right)
	{
		right[0] = (-1 * sr * sp * cy + -1 * cr * -sy);
		right[1] = (-1 * sr * sp * sy + -1 * cr * cy);
		right[2] = -1 * sr * cp;
	}
	if (up)
	{
		up[0] = (cr * sp * cy + -sr * -sy);
		up[1] = (cr * sp * sy + -sr * cy);
		up[2] = cr * cp;
	}
}
void AngleVectors (const float* angles, float* forward, float* right, float* up)
{

	if (forward)
	{
		forward[0] = (float)cos(angles[0] * 0.017453f) * cos(angles[1] * 0.017453f);
		forward[1] = (float)cos(angles[0] * 0.017453f) * sin(angles[1] * 0.017453f);
		forward[2] = (float)-sin(angles[0] * 0.017453f)
	}
	if (right)
	{
		right[0] = (float)(-1 * sin(angles[2] * 0.017453f) * sin(angles[0] * 0.017453f) * cos(angles[1] * 0.017453f) + -1 * cos(angles[2] * 0.017453f) * -sin(angles[1] * 0.017453f));
		right[1] = (float)(-1 * sin(angles[2] * 0.017453f) * sin(angles[0] * 0.017453f) * sin(angles[1] * 0.017453f) + -1 * cos(angles[2] * 0.017453f) * cos(angles[1] * 0.017453f));
		right[2] = (float)-1 * sin(angles[2] * 0.017453f) * cos(angles[0] * 0.017453f);
	}
	if (up)
	{
		up[0] = (float)(cos(angles[2] * 0.017453f) * sin(angles[0] * 0.017453f) * cos(angles[1] * 0.017453f) + -sin(angles[2] * 0.017453f) * -sin(angles[1] * 0.017453f));
		up[1] = (float)(cos(angles[2] * 0.017453f) * sin(angles[0] * 0.017453f) * sin(angles[1] * 0.017453f) + -sin(angles[2] * 0.017453f) * cos(angles[1] * 0.017453f));
		up[2] = (float)cos(angles[2] * 0.017453f) * cos(angles[0] * 0.017453f);
	}
}

void AngleVectors (const float* angles, float* forward, float* right, float* up)
{
	float angle;
	angle = (float)angles[1] * 0.017453f;
	angle = (float)angles[0] * 0.017453f;
	angle = (float)angles[2] * 0.017453f;
	if (forward)
	{
		forward[0] = (float)cos(angle) * cos(angle);
		forward[1] = (float)cos(angle) * sin(angle);
		forward[2] = (float)-cos(angle);
	}
	if (right)
	{
		right[0] = (float)(-1 * sin(angle) * sin(angle) * cos(angle) + -1 * cos(angle) * -sin(angle));
		right[1] = (float)(-1 * sin(angle) * sin(angle) * sin(angle) + -1 * cos(angle) * cos(angle));
		right[2] = (float)-1 * sin(angle) * cos(angle);
	}
	if (up)
	{
		up[0] = (float)(cos(angle) * sin(angle) * cos(angle) + -sin(angle) * -sin(angle));
		up[1] = (float)(cos(angle) * sin(angle) * sin(angle) + -sin(angle) * cos(angle));
		up[2] = (float)cos(angle) * cos(angle);
	}
}