2. Colors

typedef struct {
   int r;
   int g;
   int b;
   int a;
} MT_COLOR;

#define mt_color_set(c, red, green, blue)
#define mt_color_set(c, red, green, blue, alpha)

void mt_color_get_hsv(MT_COLOR *col, int *h, int *s, int *v);
void mt_color_set_hsv(MT_COLOR *result, int h, int s, int v);
void mt_color_light(MT_COLOR *result, MT_COLOR *col, int factor);
void mt_color_dark(MT_COLOR *result, MT_COLOR *col, int factor);