diff options
| author | jacksonmj <jacksonmj@jacksonmj.none> | 2011-01-28 21:38:36 (GMT) |
|---|---|---|
| committer | jacksonmj <jacksonmj@jacksonmj.none> | 2011-01-28 21:46:40 (GMT) |
| commit | a5ff51f5a508b35980502ebce46c4a3822ecb4b4 (patch) | |
| tree | bb7ce78fd6763688375c31397cf46e243711124e /src | |
| parent | 079d35f1a03088aca57be633f75c6e60d62a9fb3 (diff) | |
| download | powder-a5ff51f5a508b35980502ebce46c4a3822ecb4b4.zip powder-a5ff51f5a508b35980502ebce46c4a3822ecb4b4.tar.gz | |
Restore cracker64 changes overwritten by merge
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.c | 43 | ||||
| -rw-r--r-- | src/powder.c | 10 |
2 files changed, 30 insertions, 23 deletions
@@ -492,6 +492,10 @@ int parse_save(void *save, int size, int replace, int x0, int y0) memset(vx, 0, sizeof(vx)); memset(vy, 0, sizeof(vy)); memset(pv, 0, sizeof(pv)); + memset(photons, 0, sizeof(photons)); + memset(wireless, 0, sizeof(wireless)); + memset(gol2, 0, sizeof(gol2)); + memset(portal, 0, sizeof(portal)); death = death2 = ISSPAWN1 = ISSPAWN2 = 0; } @@ -714,10 +718,10 @@ int parse_save(void *save, int size, int replace, int x0, int y0) ttv |= (d[p++]); parts[i-1].tmp = ttv; if(ptypes[parts[i-1].type].properties&PROP_LIFE && !parts[i-1].tmp) - for(q = 1; q<NGOL ; q++){ - if(parts[i-1].type==goltype[q-1] && grule[q][9]==2) - parts[i-1].tmp = grule[q][9]-1; - } + for(q = 1; q<NGOL ; q++) { + if(parts[i-1].type==goltype[q-1] && grule[q][9]==2) + parts[i-1].tmp = grule[q][9]-1; + } } else { p+=2; } @@ -1495,13 +1499,25 @@ int main(int argc, char *argv[]) if (sdl_key=='=') { int nx, ny; - for (nx = 0; nx<XRES/CELL; nx++) - for (ny = 0; ny<YRES/CELL; ny++) - { - pv[ny][nx] = 0; - vx[ny][nx] = 0; - vy[ny][nx] = 0; - } + if(sdl_mod & (KMOD_CTRL)) + { + for(i=0; i<NPART; i++) + if(parts[i].type==PT_SPRK) + { + parts[i].type = parts[i].ctype; + parts[i].life = 0; + } + } + else + { + for (nx = 0; nx<XRES/CELL; nx++) + for (ny = 0; ny<YRES/CELL; ny++) + { + pv[ny][nx] = 0; + vx[ny][nx] = 0; + vy[ny][nx] = 0; + } + } } if (sdl_key=='w' && (!isplayer2 || (sdl_mod & (KMOD_SHIFT)))) //Gravity, by Moach @@ -2036,7 +2052,6 @@ int main(int argc, char *argv[]) memset(bmap, 0, sizeof(bmap)); memset(emap, 0, sizeof(emap)); memset(parts, 0, sizeof(particle)*NPART); - memset(photons, 0, sizeof(photons)); memset(wireless, 0, sizeof(wireless)); memset(gol2, 0, sizeof(gol2)); @@ -2098,10 +2113,6 @@ int main(int argc, char *argv[]) if (x>=19 && x<=35 && svf_last && svf_open && !bq) { //int tpval = sys_pause; parse_save(svf_last, svf_lsize, 1, 0, 0); - for (j= 0; j<99; j++) { //reset wifi on reload - wireless[j][0] = 0; - wireless[j][1] = 0; - } //sys_pause = tpval; } if (x>=(XRES+BARSIZE-(510-476)) && x<=(XRES+BARSIZE-(510-491)) && !bq) diff --git a/src/powder.c b/src/powder.c index 385ac5d..add5f48 100644 --- a/src/powder.c +++ b/src/powder.c @@ -577,8 +577,7 @@ inline int create_part(int p, int x, int y, int t) if (t==PT_SPRK) { - if (!((pmap[y][x]&0xFF)==PT_INST||(ptypes[pmap[y][x]&0xFF].properties&PROP_CONDUCTS)) - || (pmap[y][x]&0xFF)==PT_QRTZ) + if (!((pmap[y][x]&0xFF)==PT_INST||(ptypes[pmap[y][x]&0xFF].properties&PROP_CONDUCTS))) return -1; if (parts[pmap[y][x]>>8].life!=0) return -1; @@ -604,8 +603,6 @@ inline int create_part(int p, int x, int y, int t) } } } - if (photons[y][x] && t==PT_PHOT) - return -1; if (pfree == -1) return -1; i = pfree; @@ -967,7 +964,6 @@ inline void delete_part(int x, int y) } else return; - } #if defined(WIN32) && !defined(__GNUC__) @@ -1124,7 +1120,7 @@ int nearest_part(int ci, int t) void update_particles_i(pixel *vid, int start, int inc) { - int i, j, x, y, t, nx, ny, r, surround_space, s, lt, rt, nt, nnx, nny, q, golnum, goldelete, z; + int i, j, x, y, t, nx, ny, r, surround_space, s, lt, rt, nt, nnx, nny, q, golnum, goldelete, z, neighbors; float mv, dx, dy, ix, iy, lx, ly, nrx, nry, dp; int fin_x, fin_y, clear_x, clear_y; float fin_xf, fin_yf, clear_xf, clear_yf; @@ -1316,7 +1312,7 @@ void update_particles_i(pixel *vid, int start, int inc) for (nx=CELL; nx<XRES-CELL; nx++) for (ny=CELL; ny<YRES-CELL; ny++) { - int neighbors = gol2[nx][ny][0]; + neighbors = gol2[nx][ny][0]; if (neighbors==0) continue; for ( golnum = 1; golnum<NGOL; golnum++) |
