bool WorldPosToScreenPos(int localClient, Vector3* In, Vector2* Out)
{
Vector3 Position = SubstractVector(*In, refdefs.ViewOrigin);
Vector3 Transform;
Transform.x = DotProduct(Position, refdefs.ViewAxis[1]);
Transform.y = DotProduct(Position, refdefs.ViewAxis[2]);
Transform.z = DotProduct(Position, refdefs.ViewAxis[0]);
if (Transform.z < 0.1f)
return false;
Vector2 Center = { (float)refdefs.Width * 0.5f, (float)refdefs.Height * 0.5f };
Vector2 OutPut = { Center.x * (1 - (Transform.x / refdefs.Fov.x / Transform.z)), Center.y * (1 - (Transform.y / refdefs.Fov.y / Transform.z)) };
*Out = OutPut;
return true;
}
bool WorldPosToScreenPos(int localClient, Vector3* In, Vector2* Out)
{
Vector3 Position = SubstractVector(*In, refdefs.ViewOrigin);
Vector3 Transform;
Transform.x = DotProduct(Position, refdefs.ViewAxis[1]);
Transform.y = DotProduct(Position, refdefs.ViewAxis[2]);
Transform.z = DotProduct(Position, refdefs.ViewAxis[0]);
if (Transform.z < 0.1f)
return false;
Vector2 Center = { (float)refdefs.Width * 0.5f, (float)refdefs.Height * 0.5f };
Vector2 OutPut = { Center.x * (1 - (Transform.x / refdefs.Fov.x / Transform.z)), Center.y * (1 - (Transform.y / refdefs.Fov.y / Transform.z)) };
*Out = OutPut;
return true;
}
//FF 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01
struct exmpl {
char a; //FF
int b; //00 00 00 01
char unk_0[0x08]; //00 00 00 00 00 00 00 00, 1 * 8 = 8
int c; // //00 00 00 01
}
Copyright © 2024, NextGenUpdate.
All Rights Reserved.