void TCOD_color_scale_HSV (TCOD_color_t *c, float scoef, float vcoef) { float h, s, v; TCOD_color_get_HSV(*c,&h,&s,&v); s = CLAMP(0.0f,1.0f,s*scoef); v = CLAMP(0.0f,1.0f,v*vcoef); *c = TCOD_color_HSV(h,s,v); }
void TCOD_color_shift_hue (TCOD_color_t *c, float hshift) { float h, s, v; if (hshift == 0.0f) return; TCOD_color_get_HSV(*c,&h,&s,&v); *c = TCOD_color_HSV(h+hshift,s,v); }
void TCOD_color_set_value (TCOD_color_t *c, float v) { float h, s, obsolete; TCOD_color_get_HSV(*c,&h,&s,&obsolete); *c = TCOD_color_HSV(h,s,v); }
void TCOD_color_set_saturation (TCOD_color_t *c, float s) { float h, obsolete, v; TCOD_color_get_HSV(*c,&h,&obsolete,&v); *c = TCOD_color_HSV(h,s,v); }
void TCOD_color_set_hue (TCOD_color_t *c, float h) { float obsolete, s, v; TCOD_color_get_HSV(*c,&obsolete,&s,&v); *c = TCOD_color_HSV(h,s,v); }
TCODColor::TCODColor(float h, float s, float v) { //setHSV(h,s,v); TCOD_color_t c = TCOD_color_HSV(h,s,v); r = c.r; g = c.g; b = c.b; }