Fixes: HUD for fast PIPE, PIPE contents disappearing when next to walls, scrolling special menu, and parts_lastActiveIndex
This commit is contained in:
parent
323f3c1415
commit
df504330e2
@ -130,7 +130,7 @@ int update_PIPE(UPDATE_FUNC_ARGS) {
|
|||||||
if (x+rx>=0 && y+ry>=0 && x+rx<XRES && y+ry<YRES)
|
if (x+rx>=0 && y+ry>=0 && x+rx<XRES && y+ry<YRES)
|
||||||
{
|
{
|
||||||
r = pmap[y+ry][x+rx];
|
r = pmap[y+ry][x+rx];
|
||||||
if (surround_space && !r && (parts[i].tmp&0xFF)!=0) //creating at end
|
if (surround_space && !r && (parts[i].tmp&0xFF)!=0 && eval_move(parts[i].tmp&0xFF, x+rx, y+ry, NULL)) //creating at end
|
||||||
{
|
{
|
||||||
np = create_part(-1,x+rx,y+ry,parts[i].tmp&0xFF);
|
np = create_part(-1,x+rx,y+ry,parts[i].tmp&0xFF);
|
||||||
if (np!=-1)
|
if (np!=-1)
|
||||||
@ -139,9 +139,9 @@ int update_PIPE(UPDATE_FUNC_ARGS) {
|
|||||||
parts[np].life = parts[i].flags;
|
parts[np].life = parts[i].flags;
|
||||||
parts[np].tmp = parts[i].pavg[0];
|
parts[np].tmp = parts[i].pavg[0];
|
||||||
parts[np].ctype = parts[i].pavg[1];
|
parts[np].ctype = parts[i].pavg[1];
|
||||||
}
|
|
||||||
parts[i].tmp &= ~0xFF;
|
parts[i].tmp &= ~0xFF;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
//try eating particle at entrance
|
//try eating particle at entrance
|
||||||
else if ((parts[i].tmp&0xFF) == 0 && (ptypes[r&0xFF].falldown!= 0 || ptypes[r&0xFF].state == ST_GAS))
|
else if ((parts[i].tmp&0xFF) == 0 && (ptypes[r&0xFF].falldown!= 0 || ptypes[r&0xFF].state == ST_GAS))
|
||||||
{
|
{
|
||||||
|
@ -92,7 +92,6 @@ void menu_count(void)//puts the number of elements in each section into .itemcou
|
|||||||
int i=0;
|
int i=0;
|
||||||
msections[SC_LIFE].itemcount = NGOLALT;
|
msections[SC_LIFE].itemcount = NGOLALT;
|
||||||
msections[SC_WALL].itemcount = UI_WALLCOUNT-4;
|
msections[SC_WALL].itemcount = UI_WALLCOUNT-4;
|
||||||
msections[SC_SPECIAL].itemcount = 7;
|
|
||||||
for (i=0; i<PT_NUM; i++)
|
for (i=0; i<PT_NUM; i++)
|
||||||
{
|
{
|
||||||
msections[ptypes[i].menusection].itemcount+=ptypes[i].menu;
|
msections[ptypes[i].menusection].itemcount+=ptypes[i].menu;
|
||||||
|
@ -2428,6 +2428,7 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
for (cbi=0; cbi<NPART; cbi++)
|
for (cbi=0; cbi<NPART; cbi++)
|
||||||
parts[cbi] = cb_parts[cbi];
|
parts[cbi] = cb_parts[cbi];
|
||||||
|
parts_lastActiveIndex = NPART-1;
|
||||||
|
|
||||||
for (cby = 0; cby<YRES; cby++)
|
for (cby = 0; cby<YRES; cby++)
|
||||||
for (cbx = 0; cbx<XRES; cbx++)
|
for (cbx = 0; cbx<XRES; cbx++)
|
||||||
@ -2592,8 +2593,7 @@ int main(int argc, char *argv[])
|
|||||||
int tctype = parts[cr>>8].ctype;
|
int tctype = parts[cr>>8].ctype;
|
||||||
if ((cr&0xFF)==PT_PIPE)
|
if ((cr&0xFF)==PT_PIPE)
|
||||||
{
|
{
|
||||||
if (parts[cr>>8].tmp<PT_NUM) tctype = parts[cr>>8].tmp;
|
tctype = parts[cr>>8].tmp&0xFF;
|
||||||
else tctype = 0;
|
|
||||||
}
|
}
|
||||||
if (tctype>=PT_NUM || tctype<0 || (cr&0xFF)==PT_PHOT)
|
if (tctype>=PT_NUM || tctype<0 || (cr&0xFF)==PT_PHOT)
|
||||||
tctype = 0;
|
tctype = 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user