summaryrefslogtreecommitdiff
path: root/src/simulation/elements/BIZR.cpp
diff options
context:
space:
mode:
authorSaveliy Skresanov <savask@yandex.ru>2013-06-12 13:14:34 (GMT)
committer Saveliy Skresanov <savask@yandex.ru>2013-06-12 13:14:34 (GMT)
commit03f25909675c99469cefece3c7d372935f0db407 (patch)
tree5709280c9fca94fda96b579e16350da40692ce0a /src/simulation/elements/BIZR.cpp
parent4e4bd9a11bf45370adbb0dbb510ef4eca3ecf188 (diff)
downloadpowder-03f25909675c99469cefece3c7d372935f0db407.zip
powder-03f25909675c99469cefece3c7d372935f0db407.tar.gz
Lower rounding errors in BIZR code and make it change color both on vertical and horizontal movement.
Diffstat (limited to 'src/simulation/elements/BIZR.cpp')
-rw-r--r--src/simulation/elements/BIZR.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/simulation/elements/BIZR.cpp b/src/simulation/elements/BIZR.cpp
index 0352c26..2e083fb 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;