From 03f25909675c99469cefece3c7d372935f0db407 Mon Sep 17 00:00:00 2001 From: Saveliy Skresanov Date: Wed, 12 Jun 2013 20:14:34 +0700 Subject: [PATCH] Lower rounding errors in BIZR code and make it change color both on vertical and horizontal movement. --- src/simulation/elements/BIZR.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/simulation/elements/BIZR.cpp b/src/simulation/elements/BIZR.cpp index 0352c269a..2e083fb91 100644 --- a/src/simulation/elements/BIZR.cpp +++ b/src/simulation/elements/BIZR.cpp @@ -105,16 +105,16 @@ int Element_BIZR::graphics(GRAPHICS_FUNC_ARGS) } for (x=0; x<12; x++) *colg += (cpart->ctype >> (x+9)) & 1; - x = 624/(*colr+*colg+*colb+1); - *colr *= x; - *colg *= x; - *colb *= x; + x = *colr+*colg+*colb+1; + *colr = *colr*624/x; + *colg = *colg*624/x; + *colb = *colb*624/x; if(fabs(cpart->vx)+fabs(cpart->vy)>0) { *firea = 255; - *fireg = *colg/5 * fabs(cpart->vx)+fabs(cpart->vy); - *fireb = *colb/5 * fabs(cpart->vx)+fabs(cpart->vy); - *firer = *colr/5 * fabs(cpart->vx)+fabs(cpart->vy); + *fireg = *colg/5 * (fabs(cpart->vx)+fabs(cpart->vy)); + *fireb = *colb/5 * (fabs(cpart->vx)+fabs(cpart->vy)); + *firer = *colr/5 * (fabs(cpart->vx)+fabs(cpart->vy)); *pixel_mode |= FIRE_ADD; } *pixel_mode |= PMODE_BLUR;