From 971fbc71f94a85298e3a688ca772e7bb5de90ed6 Mon Sep 17 00:00:00 2001 From: Simon Robertshaw Date: Wed, 25 Jul 2012 18:01:15 +0100 Subject: [PATCH] TPT: fix compression during fusion 287822229f --- src/simulation/elements/CO2.cpp | 13 ++++++------- src/simulation/elements/H2.cpp | 16 ++++++++-------- src/simulation/elements/NBLE.cpp | 22 ++++++++++------------ src/simulation/elements/O2.cpp | 15 ++++++++++----- 4 files changed, 34 insertions(+), 32 deletions(-) diff --git a/src/simulation/elements/CO2.cpp b/src/simulation/elements/CO2.cpp index 745dedd8f..6b33795f7 100644 --- a/src/simulation/elements/CO2.cpp +++ b/src/simulation/elements/CO2.cpp @@ -83,15 +83,14 @@ int Element_CO2::update(UPDATE_FUNC_ARGS) if (rand()%5 < 1) { int j; - sim->kill_part(i); - j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NEUT); if (j != -1) parts[j].temp = 15000; - j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_ELEC); if (j != -1) parts[j].temp = 15000; - j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_O2); if (j != -1) parts[j].temp = 15000; - if (rand()%1000 < 1) { j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_SING); if (j != -1) { parts[j].temp = 15000; parts[i].life = 3; } } + sim->create_part(i,x,y,PT_O2); - parts[i].temp += 15000; + j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NEUT); if (j != -1) parts[j].temp = 15000; + if (!(rand()%50)) { j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_ELEC); if (j != -1) parts[j].temp = 15000; } + //if (rand()%1000 < 1) { j = create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_SING); if (j != -1) { parts[j].temp = 15000; parts[i].life = 3; } } + + parts[i].temp = 15000; sim->pv[y/CELL][x/CELL] += 100; - return 1; } } return 0; diff --git a/src/simulation/elements/H2.cpp b/src/simulation/elements/H2.cpp index 8d5bf0d68..f4f28220b 100644 --- a/src/simulation/elements/H2.cpp +++ b/src/simulation/elements/H2.cpp @@ -91,21 +91,21 @@ int Element_H2::update(UPDATE_FUNC_ARGS) { int j; float temp = parts[i].temp; - sim->part_change_type(i,x,y,PT_PLSM); - parts[i].life = rand()%150+50; - j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NEUT); if (j != -1) parts[j].temp = temp; - j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_ELEC); if (j != -1) parts[j].temp = temp; - j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_PHOT); - if (j != -1) { parts[j].ctype = 0xFFFF00; parts[j].temp = temp; } + sim->create_part(i,x,y,PT_NBLE); - j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NBLE); if (j != -1) parts[j].temp = temp; + j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NEUT); if (j != -1) parts[j].temp = temp; + if (!(rand()%10)) { j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_ELEC); if (j != -1) parts[j].temp = temp; } + j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_PHOT); if (j != -1) { parts[j].ctype = 0xFFFF00; parts[j].temp = temp; } + + j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_PLSM); if (j != -1) parts[j].temp = temp; if (rand()%2) { j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NBLE); if (j != -1) { parts[j].tmp = 1; parts[j].temp = temp; } } - parts[i].temp += 750+rand()%500; + + parts[i].temp = temp+750+rand()%500; sim->pv[y/CELL][x/CELL] += 30; } } diff --git a/src/simulation/elements/NBLE.cpp b/src/simulation/elements/NBLE.cpp index d08710227..2854c6cc3 100644 --- a/src/simulation/elements/NBLE.cpp +++ b/src/simulation/elements/NBLE.cpp @@ -55,20 +55,18 @@ int Element_NBLE::update(UPDATE_FUNC_ARGS) parts[i].tmp = 1; if (rand()%5 < 1) { - int j; - float temp = parts[i].temp; - sim->part_change_type(i,x,y,PT_PLSM); - parts[i].life = rand()%150+50; - j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NEUT); if (j != -1) - j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_ELEC); if (j != -1) - j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_PHOT); - if (j != -1) { parts[j].ctype = 0xFF0000; parts[j].temp = temp; } + int j; + float temp = parts[i].temp; + sim->create_part(i,x,y,PT_CO2); - j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_CO2); - if (j != -1) parts[j].temp = temp-1000; + j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NEUT); if (j != -1) parts[j].temp = temp; + if (!(rand()%25)) { j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_ELEC); if (j != -1) parts[j].temp = temp; } + j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_PHOT); if (j != -1) { parts[j].ctype = 0xFF0000; parts[j].temp = temp; } - parts[i].temp += 10000; - sim->pv[y/CELL][x/CELL] += 30; + j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_PLSM); if (j != -1) parts[j].temp = temp; + + parts[i].temp = temp+1750+rand()%500; + sim->pv[y/CELL][x/CELL] += 50; } } return 0; diff --git a/src/simulation/elements/O2.cpp b/src/simulation/elements/O2.cpp index 1167e76d8..4a48512b5 100644 --- a/src/simulation/elements/O2.cpp +++ b/src/simulation/elements/O2.cpp @@ -81,14 +81,19 @@ int Element_O2::update(UPDATE_FUNC_ARGS) if (rand()%5 < 1) { int j; - sim->part_change_type(i,x,y,PT_PLSM); - parts[i].life = rand()%150+50; + sim->create_part(i,x,y,PT_BRMT); + j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_NEUT); if (j != -1) parts[j].temp = 15000; j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_PHOT); if (j != -1) parts[j].temp = 15000; - j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_BRMT); if (j != -1) parts[j].temp = 15000; - j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_SING); if (j != -1) { parts[j].temp = 15000; parts[i].life = rand()%25+50; } + j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_PLSM); if (j != -1) parts[j].temp = 15000; + if (rand()%5 < 2) { + j = sim->create_part(-3,x+rand()%3-1,y+rand()%3-1,PT_SING); + if (j != -1) { + parts[j].temp = 15000; parts[i].life = rand()%25+50; + } + } - parts[i].temp += 15000; + parts[i].temp = 15000; sim->pv[y/CELL][x/CELL] += 300; } }