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; const particle emptyparticle;
int wireless[CHANNELS][2]; int wireless[CHANNELS][2];
extern int ISWIRE; extern int wire_placed;
extern int gravwl_timeout; extern int gravwl_timeout;

View File

@ -7,7 +7,7 @@
int gravwl_timeout = 0; 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 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]; float player2[28];
@ -1469,18 +1469,21 @@ void update_particles_i(pixel *vid, int start, int inc)
} }
} }
//wire! //wire!
if(ISWIRE == 1) if(wire_placed == 1)
{ {
ISWIRE = 0; wire_placed = 0;
for (nx=0; nx<XRES; nx++) for (nx=0; nx<XRES; nx++)
{
for (ny=0; ny<YRES; ny++) for (ny=0; ny<YRES; ny++)
{ {
r = pmap[ny][nx]; r = pmap[ny][nx];
if ((r>>8)>=NPART || !r) if ((r>>8)>=NPART || !r)
continue; continue;
if(parts[r>>8].type==PT_WIRE)
parts[r>>8].tmp=parts[r>>8].ctype; parts[r>>8].tmp=parts[r>>8].ctype;
} }
} }
}
//game of life! //game of life!
if (ISGOL==1&&++CGOL>=GSPEED)//GSPEED is frames per generation 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) if (t==PT_WIRE)
{ {
ISWIRE = 1; wire_placed = 1;
} }
//spark updates from walls //spark updates from walls
if ((ptypes[t].properties&PROP_CONDUCTS) || t==PT_SPRK) if ((ptypes[t].properties&PROP_CONDUCTS) || t==PT_SPRK)