From b1c833c4061a6e3e4980d75f8213b558a4e8137d Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Thu, 19 Nov 2009 00:22:37 -0500 Subject: Calculate .filter and .trans correctly in dmnsn_color_filter(). --- libdimension/color.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'libdimension') diff --git a/libdimension/color.c b/libdimension/color.c index 12edb20..15c6150 100644 --- a/libdimension/color.c +++ b/libdimension/color.c @@ -382,7 +382,11 @@ dmnsn_color_filter(dmnsn_color color, dmnsn_color filter) dmnsn_color transmitted = dmnsn_color_mul(filter.trans, color); dmnsn_color filtered = dmnsn_color_mul(filter.filter, dmnsn_color_illuminate(filter, color)); - return dmnsn_color_add(transmitted, filtered); + + dmnsn_color ret = dmnsn_color_add(transmitted, filtered); + ret.filter = filter.filter*color.filter; + ret.trans = filter.trans*color.trans; + return ret; } /* Illuminates `color' with `light' */ -- cgit v1.2.3