summaryrefslogtreecommitdiff
path: root/src/simulation/elements/BIZRS.cpp
diff options
context:
space:
mode:
authorcracker64 <cracker642@gmail.com>2013-02-26 23:59:37 (GMT)
committer cracker64 <cracker642@gmail.com>2013-02-26 23:59:37 (GMT)
commit8250515e97db5ace3e87c612d855f09235b73969 (patch)
treeddbc36591a9043334b2fc684722ffd334894da83 /src/simulation/elements/BIZRS.cpp
parente700ff29883fcc3479ad8d9fce9805fbb0d31dfa (diff)
downloadpowder-8250515e97db5ace3e87c612d855f09235b73969.zip
powder-8250515e97db5ace3e87c612d855f09235b73969.tar.gz
Lots of small optimizations and things, nothing should be functionally different.
Only gotten through a few elements, more later.
Diffstat (limited to 'src/simulation/elements/BIZRS.cpp')
-rw-r--r--src/simulation/elements/BIZRS.cpp83
1 files changed, 4 insertions, 79 deletions
diff --git a/src/simulation/elements/BIZRS.cpp b/src/simulation/elements/BIZRS.cpp
index 439a723..fe2a8cf 100644
--- a/src/simulation/elements/BIZRS.cpp
+++ b/src/simulation/elements/BIZRS.cpp
@@ -42,83 +42,8 @@ Element_BIZRS::Element_BIZRS()
HighTemperature = ITH;
HighTemperatureTransition = NT;
- Update = &Element_BIZRS::update;
- Graphics = &Element_BIZRS::graphics;
+ Update = &Element_BIZR::update;
+ Graphics = &Element_BIZR::graphics;
}
-
-//#TPT-Directive ElementHeader Element_BIZRS static int update(UPDATE_FUNC_ARGS)
-int Element_BIZRS::update(UPDATE_FUNC_ARGS)
- {
- int r, rx, ry, nr, ng, nb, na;
- float tr, tg, tb, ta, mr, mg, mb, ma;
- float blend;
- if(parts[i].dcolour){
- for (rx=-2; rx<3; rx++)
- for (ry=-2; ry<3; ry++)
- if (x+rx>=0 && y+ry>0 && x+rx<XRES && y+ry<YRES && (rx || ry))
- {
- r = pmap[y+ry][x+rx];
- if (!r)
- continue;
- if ((r&0xFF)!=PT_BIZR && (r&0xFF)!=PT_BIZRG && (r&0xFF)!=PT_BIZRS)
- {
- blend = 0.95f;
- tr = (parts[r>>8].dcolour>>16)&0xFF;
- tg = (parts[r>>8].dcolour>>8)&0xFF;
- tb = (parts[r>>8].dcolour)&0xFF;
- ta = (parts[r>>8].dcolour>>24)&0xFF;
-
- mr = (parts[i].dcolour>>16)&0xFF;
- mg = (parts[i].dcolour>>8)&0xFF;
- mb = (parts[i].dcolour)&0xFF;
- ma = (parts[i].dcolour>>24)&0xFF;
-
- nr = (tr*blend) + (mr*(1-blend));
- ng = (tg*blend) + (mg*(1-blend));
- nb = (tb*blend) + (mb*(1-blend));
- na = (ta*blend) + (ma*(1-blend));
-
- parts[r>>8].dcolour = nr<<16 | ng<<8 | nb | na<<24;
- }
- }
- }
- if(((r = sim->photons[y][x])&0xFF)==PT_PHOT || ((r = pmap[y][x])&0xFF)==PT_PHOT)
- {
- sim->part_change_type(r>>8, x, y, PT_ELEC);
- parts[r>>8].ctype = 0;
- }
- return 0;
-}
-
-
-//#TPT-Directive ElementHeader Element_BIZRS static int graphics(GRAPHICS_FUNC_ARGS)
-int Element_BIZRS::graphics(GRAPHICS_FUNC_ARGS)
- //BIZR, BIZRG, BIZRS
-{
- int x = 0;
- *colg = 0;
- *colb = 0;
- *colr = 0;
- for (x=0; x<12; x++) {
- *colr += (cpart->ctype >> (x+18)) & 1;
- *colb += (cpart->ctype >> x) & 1;
- }
- for (x=0; x<12; x++)
- *colg += (cpart->ctype >> (x+9)) & 1;
- x = 624/(*colr+*colg+*colb+1);
- *colr *= x;
- *colg *= x;
- *colb *= 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);
- *pixel_mode |= FIRE_ADD;
- }
- return 0;
-}
-
-
-Element_BIZRS::~Element_BIZRS() {} \ No newline at end of file
+//BIZRS update is in BIZR.cpp
+Element_BIZRS::~Element_BIZRS() {}