Fix Gol with Wire placed

This commit is contained in:
Simon Robertshaw 2011-08-08 16:19:23 +01:00
parent 950f5c34a3
commit 61bbc36cfa
2 changed files with 9 additions and 6 deletions

View File

@ -936,7 +936,7 @@ particle portalp[CHANNELS][8][80];
const particle emptyparticle;
int wireless[CHANNELS][2];
extern int ISWIRE;
extern int wire_placed;
extern int gravwl_timeout;

View File

@ -7,7 +7,7 @@
int gravwl_timeout = 0;
int ISWIRE = 0;
int wire_placed = 0;
float player[28]; //[0] is a command cell, [3]-[18] are legs positions, [19]-[26] are accelerations, [27] shows if player was spawned
float player2[28];
@ -1469,17 +1469,20 @@ void update_particles_i(pixel *vid, int start, int inc)
}
}
//wire!
if(ISWIRE == 1)
if(wire_placed == 1)
{
ISWIRE = 0;
wire_placed = 0;
for (nx=0; nx<XRES; nx++)
{
for (ny=0; ny<YRES; ny++)
{
r = pmap[ny][nx];
if ((r>>8)>=NPART || !r)
continue;
parts[r>>8].tmp=parts[r>>8].ctype;
if(parts[r>>8].type==PT_WIRE)
parts[r>>8].tmp=parts[r>>8].ctype;
}
}
}
//game of life!
if (ISGOL==1&&++CGOL>=GSPEED)//GSPEED is frames per generation
@ -1890,7 +1893,7 @@ void update_particles_i(pixel *vid, int start, int inc)
}
if (t==PT_WIRE)
{
ISWIRE = 1;
wire_placed = 1;
}
//spark updates from walls
if ((ptypes[t].properties&PROP_CONDUCTS) || t==PT_SPRK)