fix '=' resetting air heat, fix uninitialized ambient heat setting, a few LOLZ / LOVE changes
This commit is contained in:
parent
f68cded2d2
commit
b5de23433d
@ -41,12 +41,16 @@ void Air::make_kernel(void) //used for velocity
|
|||||||
|
|
||||||
void Air::Clear()
|
void Air::Clear()
|
||||||
{
|
{
|
||||||
std::fill(&hv[0][0], &hv[0][0]+((XRES/CELL)*(YRES/CELL)), 273.15f + 22.0f);
|
|
||||||
std::fill(&pv[0][0], &pv[0][0]+((XRES/CELL)*(YRES/CELL)), 0.0f);
|
std::fill(&pv[0][0], &pv[0][0]+((XRES/CELL)*(YRES/CELL)), 0.0f);
|
||||||
std::fill(&vy[0][0], &vy[0][0]+((XRES/CELL)*(YRES/CELL)), 0.0f);
|
std::fill(&vy[0][0], &vy[0][0]+((XRES/CELL)*(YRES/CELL)), 0.0f);
|
||||||
std::fill(&vx[0][0], &vx[0][0]+((XRES/CELL)*(YRES/CELL)), 0.0f);
|
std::fill(&vx[0][0], &vx[0][0]+((XRES/CELL)*(YRES/CELL)), 0.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Air::ClearAirH()
|
||||||
|
{
|
||||||
|
std::fill(&hv[0][0], &hv[0][0]+((XRES/CELL)*(YRES/CELL)), 273.15f + 22.0f);
|
||||||
|
}
|
||||||
|
|
||||||
void Air::update_airh(void)
|
void Air::update_airh(void)
|
||||||
{
|
{
|
||||||
int x, y, i, j;
|
int x, y, i, j;
|
||||||
|
@ -30,6 +30,7 @@ public:
|
|||||||
void update_airh(void);
|
void update_airh(void);
|
||||||
void update_air(void);
|
void update_air(void);
|
||||||
void Clear();
|
void Clear();
|
||||||
|
void ClearAirH();
|
||||||
void Invert();
|
void Invert();
|
||||||
Air(Simulation & sim);
|
Air(Simulation & sim);
|
||||||
};
|
};
|
||||||
|
@ -1976,7 +1976,10 @@ void Simulation::clear_sim(void)
|
|||||||
if(grav)
|
if(grav)
|
||||||
grav->Clear();
|
grav->Clear();
|
||||||
if(air)
|
if(air)
|
||||||
|
{
|
||||||
air->Clear();
|
air->Clear();
|
||||||
|
air->ClearAirH();
|
||||||
|
}
|
||||||
SetEdgeMode(edgeMode);
|
SetEdgeMode(edgeMode);
|
||||||
}
|
}
|
||||||
void Simulation::init_can_move()
|
void Simulation::init_can_move()
|
||||||
@ -3372,11 +3375,9 @@ void Simulation::update_particles_i(int start, int inc)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ISLOVE || ISLOLZ) //LOVE and LOLZ element handling
|
if (elementCount[PT_LOVE] > 0 || elementCount[PT_LOLZ] > 0) //LOVE and LOLZ element handling
|
||||||
{
|
{
|
||||||
int nx, nnx, ny, nny, r, rt;
|
int nx, nnx, ny, nny, r, rt;
|
||||||
ISLOVE = 0;
|
|
||||||
ISLOLZ = 0;
|
|
||||||
for (ny=0; ny<YRES-4; ny++)
|
for (ny=0; ny<YRES-4; ny++)
|
||||||
{
|
{
|
||||||
for (nx=0; nx<XRES-4; nx++)
|
for (nx=0; nx<XRES-4; nx++)
|
||||||
@ -3390,11 +3391,11 @@ void Simulation::update_particles_i(int start, int inc)
|
|||||||
kill_part(r>>8);
|
kill_part(r>>8);
|
||||||
else if (parts[r>>8].type==PT_LOVE)
|
else if (parts[r>>8].type==PT_LOVE)
|
||||||
{
|
{
|
||||||
love[nx/9][ny/9] = 1;
|
Element_LOVE::love[nx/9][ny/9] = 1;
|
||||||
}
|
}
|
||||||
else if (parts[r>>8].type==PT_LOLZ)
|
else if (parts[r>>8].type==PT_LOLZ)
|
||||||
{
|
{
|
||||||
lolz[nx/9][ny/9] = 1;
|
Element_LOLZ::lolz[nx/9][ny/9] = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3402,7 +3403,7 @@ void Simulation::update_particles_i(int start, int inc)
|
|||||||
{
|
{
|
||||||
for (ny=9; ny<=YRES-7; ny++)
|
for (ny=9; ny<=YRES-7; ny++)
|
||||||
{
|
{
|
||||||
if (love[nx/9][ny/9]==1)
|
if (Element_LOVE::love[nx/9][ny/9]==1)
|
||||||
{
|
{
|
||||||
for ( nnx=0; nnx<9; nnx++)
|
for ( nnx=0; nnx<9; nnx++)
|
||||||
for ( nny=0; nny<9; nny++)
|
for ( nny=0; nny<9; nny++)
|
||||||
@ -3419,8 +3420,8 @@ void Simulation::update_particles_i(int start, int inc)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
love[nx/9][ny/9]=0;
|
Element_LOVE::love[nx/9][ny/9]=0;
|
||||||
if (lolz[nx/9][ny/9]==1)
|
if (Element_LOLZ::lolz[nx/9][ny/9]==1)
|
||||||
{
|
{
|
||||||
for ( nnx=0; nnx<9; nnx++)
|
for ( nnx=0; nnx<9; nnx++)
|
||||||
for ( nny=0; nny<9; nny++)
|
for ( nny=0; nny<9; nny++)
|
||||||
@ -3438,7 +3439,7 @@ void Simulation::update_particles_i(int start, int inc)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
lolz[nx/9][ny/9]=0;
|
Element_LOLZ::lolz[nx/9][ny/9]=0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4805,6 +4806,7 @@ Simulation::Simulation():
|
|||||||
vy = air->vy;
|
vy = air->vy;
|
||||||
pv = air->pv;
|
pv = air->pv;
|
||||||
hv = air->hv;
|
hv = air->hv;
|
||||||
|
aheat_enable = false;
|
||||||
|
|
||||||
int menuCount;
|
int menuCount;
|
||||||
menu_section * msectionsT = LoadMenus(menuCount);
|
menu_section * msectionsT = LoadMenus(menuCount);
|
||||||
|
@ -118,10 +118,6 @@ public:
|
|||||||
int pretty_powder;
|
int pretty_powder;
|
||||||
int sandcolour;
|
int sandcolour;
|
||||||
int sandcolour_frame;
|
int sandcolour_frame;
|
||||||
bool ISLOVE;
|
|
||||||
int love[XRES/9][YRES/9];
|
|
||||||
bool ISLOLZ;
|
|
||||||
int lolz[XRES/9][YRES/9];
|
|
||||||
|
|
||||||
int Load(GameSave * save);
|
int Load(GameSave * save);
|
||||||
int Load(int x, int y, GameSave * save);
|
int Load(int x, int y, GameSave * save);
|
||||||
|
@ -42,8 +42,6 @@ Element_LOLZ::Element_LOLZ()
|
|||||||
HighTemperature = ITH;
|
HighTemperature = ITH;
|
||||||
HighTemperatureTransition = NT;
|
HighTemperatureTransition = NT;
|
||||||
|
|
||||||
Update = &Element_LOLZ::update;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//#TPT-Directive ElementHeader Element_LOLZ static int RuleTable[9][9]
|
//#TPT-Directive ElementHeader Element_LOLZ static int RuleTable[9][9]
|
||||||
@ -60,12 +58,7 @@ int Element_LOLZ::RuleTable[9][9] =
|
|||||||
{0,1,0,0,0,0,0,1,0},
|
{0,1,0,0,0,0,0,1,0},
|
||||||
};
|
};
|
||||||
|
|
||||||
//#TPT-Directive ElementHeader Element_LOLZ static int update(UPDATE_FUNC_ARGS)
|
//#TPT-Directive ElementHeader Element_LOLZ static int lolz[XRES/9][YRES/9];
|
||||||
int Element_LOLZ::update(UPDATE_FUNC_ARGS)
|
int Element_LOLZ::lolz[XRES/9][YRES/9];
|
||||||
{
|
|
||||||
sim->ISLOLZ = true;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Element_LOLZ::~Element_LOLZ() {}
|
Element_LOLZ::~Element_LOLZ() {}
|
@ -42,8 +42,6 @@ Element_LOVE::Element_LOVE()
|
|||||||
HighTemperature = ITH;
|
HighTemperature = ITH;
|
||||||
HighTemperatureTransition = NT;
|
HighTemperatureTransition = NT;
|
||||||
|
|
||||||
Update = &Element_LOVE::update;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//#TPT-Directive ElementHeader Element_LOVE static int RuleTable[9][9]
|
//#TPT-Directive ElementHeader Element_LOVE static int RuleTable[9][9]
|
||||||
@ -60,12 +58,7 @@ int Element_LOVE::RuleTable[9][9] =
|
|||||||
{0,0,1,1,0,0,0,0,0},
|
{0,0,1,1,0,0,0,0,0},
|
||||||
};
|
};
|
||||||
|
|
||||||
//#TPT-Directive ElementHeader Element_LOVE static int update(UPDATE_FUNC_ARGS)
|
//#TPT-Directive ElementHeader Element_LOVE static int love[XRES/9][YRES/9];
|
||||||
int Element_LOVE::update(UPDATE_FUNC_ARGS)
|
int Element_LOVE::love[XRES/9][YRES/9];
|
||||||
{
|
|
||||||
sim->ISLOVE = true;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Element_LOVE::~Element_LOVE() {}
|
Element_LOVE::~Element_LOVE() {}
|
Reference in New Issue
Block a user