#pragma once
namespace rage
{
#pragma pack(push, 1)
class scrVector
public:
scrVector() = default;
scrVector(float x, float y, float z) :
x(x), y(y), z(z)
{}
scrVector operator+(const scrVector& other)
scrVector vec;
vec.x = this->x + other.x;
vec.y = this->y + other.y;
vec.z = this->z + other.z;
return vec;
}
scrVector operator-(const scrVector& other)
vec.x = this->x - other.x;
vec.y = this->y - other.y;
vec.z = this->z - other.z;
scrVector operator*(const scrVector& other)
vec.x = this->x * other.x;
vec.y = this->y * other.y;
vec.z = this->z * other.z;
scrVector operator*(const float& other)
vec.x = this->x * other;
vec.y = this->y * other;
vec.z = this->z * other;
float x{};
private:
char m_padding1[0x04];
float y{};
char m_padding2[0x04];
float z{};
char m_padding3[0x04];
};
#pragma pack(pop)
class Vector2 final
Vector2() = default;
Vector2(float x, float y)
: x(x), y(y)
float x, y;
class Vector4 final
Vector4() = default;
Vector4(float x, float y, float z, float w)
: x(x), y(y), z(z), w(w)
float x, y, z, w;