Add AMBP and AMBM tools (#778)

Co-authored-by: Tamás Bálint Misius <lbphacker@gmail.com>
This commit is contained in:
Cracker1000 2021-07-29 21:20:24 +05:30 committed by GitHub
parent 4ed600b621
commit a3a45db3e4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 52 additions and 0 deletions

View File

@ -0,0 +1,25 @@
#include "simulation/ToolCommon.h"
static int perform(Simulation * sim, Particle * cpart, int x, int y, int brushX, int brushY, float strength);
void SimTool::Tool_AMBM()
{
Identifier = "DEFAULT_TOOL_AMBM";
Name = "AMBM";
Colour = PIXPACK(0x00DDFF);
Description = "Decreases ambient air temperature.";
Perform = &perform;
}
static int perform(Simulation *sim, Particle *cpart, int x, int y, int brushX, int brushY, float strength)
{
if (!sim->aheat_enable)
{
return 0;
}
sim->hv[y / CELL][x / CELL] -= strength * 2.0f;
if (sim->hv[y / CELL][x / CELL] > MAX_TEMP) sim->hv[y / CELL][x / CELL] = MAX_TEMP;
if (sim->hv[y / CELL][x / CELL] < MIN_TEMP) sim->hv[y / CELL][x / CELL] = MIN_TEMP;
return 1;
}

View File

@ -0,0 +1,25 @@
#include "simulation/ToolCommon.h"
static int perform(Simulation * sim, Particle * cpart, int x, int y, int brushX, int brushY, float strength);
void SimTool::Tool_AMBP()
{
Identifier = "DEFAULT_TOOL_AMBP";
Name = "AMBP";
Colour = PIXPACK(0xFFDD00);
Description = "Increases ambient air temperature.";
Perform = &perform;
}
static int perform(Simulation *sim, Particle *cpart, int x, int y, int brushX, int brushY, float strength)
{
if (!sim->aheat_enable)
{
return 0;
}
sim->hv[y / CELL][x / CELL] += strength * 2.0f;
if (sim->hv[y / CELL][x / CELL] > MAX_TEMP) sim->hv[y / CELL][x / CELL] = MAX_TEMP;
if (sim->hv[y / CELL][x / CELL] < MIN_TEMP) sim->hv[y / CELL][x / CELL] = MIN_TEMP;
return 1;
}

View File

@ -7,6 +7,8 @@ simulation_tool_ids = [
[ 'NGRV', 5 ],
[ 'MIX', 6 ],
[ 'CYCL', 7 ],
[ 'AMBM', 8 ],
[ 'AMBP', 9 ],
]
simulation_tool_src = []