simpler version of 9a2b7749c7 (gravity wall change)

All gravity sources are now prevented, now just the specific elements that create gravity.
This commit is contained in:
jacob1 2016-01-05 23:12:12 -05:00
parent adf0fa72df
commit 85d89e9f87
5 changed files with 12 additions and 18 deletions

View File

@ -308,6 +308,7 @@ void Gravity::update_grav()
{ {
th_gravchanged = 1; th_gravchanged = 1;
membwand(th_gravmap, gravmask, (XRES/CELL)*(YRES/CELL)*sizeof(float), (XRES/CELL)*(YRES/CELL)*sizeof(unsigned));
//copy gravmap into padded gravmap array //copy gravmap into padded gravmap array
for (y=0; y<YRES/CELL; y++) for (y=0; y<YRES/CELL; y++)
{ {
@ -385,6 +386,7 @@ void Gravity::update_grav(void)
memset(th_gravx, 0, (XRES/CELL)*(YRES/CELL)*sizeof(float)); memset(th_gravx, 0, (XRES/CELL)*(YRES/CELL)*sizeof(float));
#endif #endif
th_gravchanged = 1; th_gravchanged = 1;
membwand(th_gravmap, gravmask, (XRES/CELL)*(YRES/CELL)*sizeof(float), (XRES/CELL)*(YRES/CELL)*sizeof(unsigned));
for (i = 0; i < YRES / CELL; i++) { for (i = 0; i < YRES / CELL; i++) {
for (j = 0; j < XRES / CELL; j++) { for (j = 0; j < XRES / CELL; j++) {
#ifdef GRAV_DIFF #ifdef GRAV_DIFF

View File

@ -69,13 +69,10 @@ int Element_GBMB::update(UPDATE_FUNC_ARGS)
} }
} }
} }
if (sim->grav->gravmask[(y/CELL)*(XRES/CELL)+(x/CELL)]) if (parts[i].life>20)
{ sim->gravmap[(y/CELL)*(XRES/CELL)+(x/CELL)] = 20;
if (parts[i].life>20) else if (parts[i].life>=1)
sim->gravmap[(y/CELL)*(XRES/CELL)+(x/CELL)] = 20; sim->gravmap[(y/CELL)*(XRES/CELL)+(x/CELL)] = -80;
else if (parts[i].life>=1)
sim->gravmap[(y/CELL)*(XRES/CELL)+(x/CELL)] = -80;
}
return 0; return 0;
} }

View File

@ -61,8 +61,7 @@ int Element_GPMP::update(UPDATE_FUNC_ARGS)
if (parts[i].temp<= -256.0+273.15) if (parts[i].temp<= -256.0+273.15)
parts[i].temp = -256.0+273.15; parts[i].temp = -256.0+273.15;
if (sim->grav->gravmask[(y/CELL)*(XRES/CELL)+(x/CELL)]) sim->gravmap[(y/CELL)*(XRES/CELL)+(x/CELL)] = 0.2f*(parts[i].temp-273.15);
sim->gravmap[(y/CELL)*(XRES/CELL)+(x/CELL)] = 0.2f*(parts[i].temp-273.15);
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 (BOUNDS_CHECK && (rx || ry)) if (BOUNDS_CHECK && (rx || ry))

View File

@ -54,8 +54,7 @@ int Element_GRVT::update(UPDATE_FUNC_ARGS)
if (parts[i].tmp <= -100) if (parts[i].tmp <= -100)
parts[i].tmp = -100; parts[i].tmp = -100;
if (sim->grav->gravmask[(y/CELL)*(XRES/CELL)+(x/CELL)]) sim->gravmap[(y/CELL)*(XRES/CELL)+(x/CELL)] = 0.2f*parts[i].tmp;
sim->gravmap[(y/CELL)*(XRES/CELL)+(x/CELL)] = 0.2f*parts[i].tmp;
return 0; return 0;
} }

View File

@ -47,13 +47,10 @@ Element_NBHL::Element_NBHL()
//#TPT-Directive ElementHeader Element_NBHL static int update(UPDATE_FUNC_ARGS) //#TPT-Directive ElementHeader Element_NBHL static int update(UPDATE_FUNC_ARGS)
int Element_NBHL::update(UPDATE_FUNC_ARGS) int Element_NBHL::update(UPDATE_FUNC_ARGS)
{ {
if (sim->grav->gravmask[(y/CELL)*(XRES/CELL)+(x/CELL)]) if (parts[i].tmp)
{ sim->gravmap[(y/CELL)*(XRES/CELL)+(x/CELL)] += restrict_flt(0.001f*parts[i].tmp, 0.1f, 51.2f);
if (parts[i].tmp) else
sim->gravmap[(y/CELL)*(XRES/CELL)+(x/CELL)] += restrict_flt(0.001f*parts[i].tmp, 0.1f, 51.2f); sim->gravmap[(y/CELL)*(XRES/CELL)+(x/CELL)] += 0.1f;
else
sim->gravmap[(y/CELL)*(XRES/CELL)+(x/CELL)] += 0.1f;
}
return 0; return 0;
} }