Added blunt temperature controls to CLST that cause it to freeze in place when cooled by cohesion. Doesn't produce the exact same finger shapes as before for some arcane reason, I seriously have no clue why. But looks close enough for passing.

This commit is contained in:
Cate 2011-07-12 22:37:45 +08:00 committed by Simon Robertshaw
parent 7480442c67
commit e17a2a0b03

View File

@ -2,6 +2,7 @@
int update_CLST(UPDATE_FUNC_ARGS) { int update_CLST(UPDATE_FUNC_ARGS) {
int r, rx, ry; int r, rx, ry;
float cxy;
for (rx=-2; rx<3; rx++) for (rx=-2; rx<3; rx++)
for (ry=-2; ry<3; ry++) for (ry=-2; ry<3; ry++)
if (x+rx>=0 && y+ry>0 && x+rx<XRES && y+ry<YRES && (rx || ry)) if (x+rx>=0 && y+ry>0 && x+rx<XRES && y+ry<YRES && (rx || ry))
@ -16,7 +17,16 @@ int update_CLST(UPDATE_FUNC_ARGS) {
} }
if ((r&0xFF)==PT_CLST) if ((r&0xFF)==PT_CLST)
{ {
parts[i].vx += 0.01*rx; parts[i].vy += 0.01*ry; if(parts[i].temp >= 0 && parts[i].temp <294)
cxy = 0.02;
if(parts[i].temp >= 295 && parts[i].temp <349)
cxy = 0.01;
if(parts[i].temp >= 250 && parts[i].temp <499)
cxy = 0.005;
if(parts[i].temp >= 500)
cxy = 0.001;
parts[i].vx += cxy*rx;
parts[i].vy += cxy*ry;
} }
} }
return 0; return 0;