#pragma once

namespace flyff {
    struct Vector4 { 
        float x, y, z, w;
    };

    struct Vector3 {
        float x, y, z;

        friend std::ostream& operator<<(std::ostream& os, const Vector3& pos) {
            os << pos.x << ", " << pos.y << ", " << pos.z;
            return os;
        }
    };
    
    struct Matrix4 {
        Vector4 a, b, c, d;
    };

    struct Color {
        unsigned char r;
        unsigned char g;
        unsigned char b;
    };
}