diff options
| -rw-r--r-- | includes/defines.h | 4 | ||||
| -rw-r--r-- | includes/powder.h | 4 | ||||
| -rw-r--r-- | src/interface.c | 42 | ||||
| -rw-r--r-- | src/main.c | 60 | ||||
| -rw-r--r-- | src/powder.c | 4 |
5 files changed, 57 insertions, 57 deletions
diff --git a/includes/defines.h b/includes/defines.h index c22180f..2057fe0 100644 --- a/includes/defines.h +++ b/includes/defines.h @@ -61,7 +61,7 @@ extern unsigned char ZSIZE; #define STAMP_Y 4 #define STAMP_MAX 120 -#define NGOL 26 +#define NGOL 25 #define CIRCLE_BRUSH 0 #define SQUARE_BRUSH 1 @@ -136,7 +136,7 @@ int GSPEED; int love[XRES/9][YRES/9]; int lolz[XRES/9][YRES/9]; int gol[XRES][YRES]; -int gol2[XRES][YRES][NGOL]; +int gol2[XRES][YRES][NGOL+1]; int SEC; int SEC2; int console_mode; diff --git a/includes/powder.h b/includes/powder.h index 91d8f1f..b09ad5e 100644 --- a/includes/powder.h +++ b/includes/powder.h @@ -405,7 +405,7 @@ static const part_type ptypes[PT_NUM] = {"WAX", PIXPACK(0xF0F0BB), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 0, 10, 1, 100, SC_SOLIDS, R_TEMP+0.0f +273.15f, 44, "Wax. Melts at moderately high temperatures.", ST_SOLID, TYPE_SOLID, NULL}, {"MWAX", PIXPACK(0xE0E0AA), 0.3f, 0.02f * CFDS, 0.95f, 0.80f, 0.0f, 0.15f, 0.00f, 0.000001f* CFDS,2, 5, 0, 0, 2, 1, 25, SC_LIQUID, R_TEMP+28.0f+273.15f, 44, "Liquid Wax.", ST_LIQUID, TYPE_LIQUID, NULL}, {"PSCN", PIXPACK(0x805050), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 1, 1, 1, 100, SC_ELEC, R_TEMP+0.0f +273.15f, 251, "P-Type Silicon, Will transfer current to any conductor.", ST_SOLID, TYPE_SOLID|PROP_CONDUCTS, NULL}, - {"NSCN", PIXPACK(0x505080), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 1, 1, 1, 100, SC_ELEC, R_TEMP+0.0f +273.15f, 251, "N-Type Silicon, Will only transfer current to P-Type Silicon.", ST_SOLID, TYPE_SOLID|PROP_CONDUCTS, NULL}, + {"NSCN", PIXPACK(0x505080), 0.0f, 0.00f * CFDS, 0.90f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 0, 0, 1, 1, 1, 100, SC_ELEC, R_TEMP+0.0f +273.15f, 251, "N-Type Silicon, Will not transfer current to P-Type Silicon.", ST_SOLID, TYPE_SOLID|PROP_CONDUCTS, NULL}, {"LN2", PIXPACK(0x80A0DF), 0.6f, 0.01f * CFDS, 0.98f, 0.95f, 0.0f, 0.1f, 0.00f, 0.000f * CFDS, 2, 0, 0, 0, 0, 1, 30, SC_LIQUID, 70.15f, 70, "Liquid Nitrogen. Very cold.", ST_SOLID, TYPE_LIQUID, NULL}, {"INSL", PIXPACK(0x9EA3B6), 0.0f, 0.00f * CFDS, 0.95f, 0.00f, 0.0f, 0.0f, 0.00f, 0.000f * CFDS, 0, 7, 0, 0, 10, 1, 100, SC_SPECIAL, R_TEMP+0.0f +273.15f, 0, "Insulator, does not conduct heat or electricity.", ST_SOLID, TYPE_SOLID, NULL}, {"BHOL", PIXPACK(0x202020), 0.0f, 0.00f * CFDS, 0.95f, 0.00f, 0.0f, 0.0f, 0.00f, -0.01f * CFDS, 0, 0, 0, 0, 0, 1, 100, SC_SPECIAL, R_TEMP+70.0f+273.15f, 255, "Black hole, sucks in other particles and heats up.", ST_NONE, TYPE_SOLID, NULL}, @@ -687,7 +687,7 @@ static part_transition ptransitions[PT_NUM] = #undef ST -static int grule[NGOL][10] = +static int grule[NGOL+1][10] = { // 0,1,2,3,4,5,6,7,8,STATES live=1 spawn=2 spawn&live=3 States are kind of how long until it dies, normal ones use two states(living,dead) for others the intermediate states live but do nothing {0,0,0,0,0,0,0,0,0,2},//blank diff --git a/src/interface.c b/src/interface.c index 0d963e0..e345007 100644 --- a/src/interface.c +++ b/src/interface.c @@ -852,16 +852,16 @@ void login_ui(pixel *vid_buf) char *s_id,*u_e,*nres; s_id = strchr(res+3, ' '); *(s_id++) = 0; - + u_e = strchr(s_id, ' '); *(u_e++) = 0; - + strcpy(svf_user_id, res+3); strcpy(svf_session_id, s_id); nres = mystrdup(u_e); - + printf("\n{%s} {%s} {%s}\n", svf_user_id, svf_session_id, nres); - + if (!strncmp(nres, "ADMIN", 5)) { svf_admin = 1; @@ -3837,17 +3837,17 @@ char *console_ui(pixel *vid_buf,char error[255]) { //TODO: error messages, show mx /= sdl_scale; my /= sdl_scale; ed.focus = 1; - + clearrect(vid_buf, 0, 0, XRES+BARSIZE, 220);//anyway to make it transparent? draw_line(vid_buf, 1, 219, XRES, 219, 228, 228, 228, XRES+BARSIZE); drawtext(vid_buf, 15, 15, "Welcome to The Powder Toy console v.1 (by cracker64)\n" - "Current commands are quit, set, reset, load\n" - "You can set type, temp, ctype, life, x, y, vx, vy using this format ('set life particle# 9001')\n" - "You can also use 'all' instead of a particle number to do it to everything\n" - "Reset works with pressure, velocity, sparks, temp (ex. 'reset pressure')\n" - "To load a save use load saveID (ex. load 1337)" - ,255, 187, 187, 255); - + "Current commands are quit, set, reset, load\n" + "You can set type, temp, ctype, life, x, y, vx, vy using this format ('set life particle# 9001')\n" + "You can also use 'all' instead of a particle number to do it to everything\n" + "Reset works with pressure, velocity, sparks, temp (ex. 'reset pressure')\n" + "To load a save use load saveID (ex. load 1337)" + ,255, 187, 187, 255); + cc = 0; currentcommand = last_command; while(cc < 10) @@ -3859,18 +3859,18 @@ char *console_ui(pixel *vid_buf,char error[255]) { //TODO: error messages, show { if(cc<9) { currentcommand = currentcommand->prev_command; - } else if(currentcommand->prev_command!=NULL){ + } else if(currentcommand->prev_command!=NULL) { free(currentcommand->prev_command); currentcommand->prev_command = NULL; } cc++; - } + } else { break; } } - + if(error) drawtext(vid_buf, 15, 190, error,255, 187, 187, 255); ui_edit_draw(vid_buf, &ed); @@ -3901,26 +3901,26 @@ char *console_ui(pixel *vid_buf,char error[255]) { //TODO: error messages, show } else { - if(last_command!=NULL){ + if(last_command!=NULL) { currentcommand = last_command; for (cc = 0; cc<ci; cc++) { if(currentcommand->prev_command==NULL) ci = cc; - else + else currentcommand = currentcommand->prev_command; } strcpy(ed.str, currentcommand->command); } - else + else { ci = -1; strcpy(ed.str, ""); } } } - + } - - + + } @@ -718,7 +718,7 @@ 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++) { + 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; } @@ -1736,7 +1736,7 @@ int main(int argc, char *argv[]) { pv[ny][nx] = 0; } - + } else if(strcmp(console3, "velocity")==0) { @@ -1749,7 +1749,7 @@ int main(int argc, char *argv[]) } else if(strcmp(console3, "sparks")==0) { - for(i=0;i<NPART;i++) + for(i=0; i<NPART; i++) { if(parts[i].type==PT_SPRK) { @@ -1760,7 +1760,7 @@ int main(int argc, char *argv[]) } else if(strcmp(console3, "temp")==0) { - for(i=0;i<NPART;i++) + for(i=0; i<NPART; i++) { if(parts[i].type) { @@ -1776,12 +1776,12 @@ int main(int argc, char *argv[]) if(strcmp(console4, "all")==0) { j = atoi(console5); - for(i=0;i<NPART;i++) + for(i=0; i<NPART; i++) { if(parts[i].type) parts[i].life = j; } - } else + } else { i = atoi(console4); if(parts[i].type) @@ -1790,18 +1790,18 @@ int main(int argc, char *argv[]) parts[i].life = j; } } - } + } if(strcmp(console3, "type")==0) { if(strcmp(console4, "all")==0) { j = atoi(console5); - for(i=0;i<NPART;i++) + for(i=0; i<NPART; i++) { if(parts[i].type) parts[i].type = j; } - } else + } else { i = atoi(console4); if(parts[i].type) @@ -1810,18 +1810,18 @@ int main(int argc, char *argv[]) parts[i].type = j; } } - } + } if(strcmp(console3, "temp")==0) { if(strcmp(console4, "all")==0) { j = atoi(console5); - for(i=0;i<NPART;i++) + for(i=0; i<NPART; i++) { if(parts[i].type) parts[i].temp = j; } - } else + } else { i = atoi(console4); if(parts[i].type) @@ -1830,18 +1830,18 @@ int main(int argc, char *argv[]) parts[i].temp = j; } } - } + } if(strcmp(console3, "tmp")==0) { if(strcmp(console4, "all")==0) { j = atoi(console5); - for(i=0;i<NPART;i++) + for(i=0; i<NPART; i++) { if(parts[i].type) parts[i].tmp = j; } - } else + } else { i = atoi(console4); if(parts[i].type) @@ -1850,18 +1850,18 @@ int main(int argc, char *argv[]) parts[i].tmp = j; } } - } + } if(strcmp(console3, "x")==0) { if(strcmp(console4, "all")==0) { j = atoi(console5); - for(i=0;i<NPART;i++) + for(i=0; i<NPART; i++) { if(parts[i].type) parts[i].x = j; } - } else + } else { i = atoi(console4); if(parts[i].type) @@ -1876,12 +1876,12 @@ int main(int argc, char *argv[]) if(strcmp(console4, "all")==0) { j = atoi(console5); - for(i=0;i<NPART;i++) + for(i=0; i<NPART; i++) { if(parts[i].type) parts[i].y = j; } - } else + } else { i = atoi(console4); if(parts[i].type) @@ -1890,18 +1890,18 @@ int main(int argc, char *argv[]) parts[i].y = j; } } - } + } if(strcmp(console3, "ctype")==0) { if(strcmp(console4, "all")==0) { j = atoi(console5); - for(i=0;i<NPART;i++) + for(i=0; i<NPART; i++) { if(parts[i].type) parts[i].ctype = j; } - } else + } else { i = atoi(console4); if(parts[i].type) @@ -1910,18 +1910,18 @@ int main(int argc, char *argv[]) parts[i].ctype = j; } } - } + } if(strcmp(console3, "vx")==0) { - if(strcmp(console4, "all")==0) + if(strcmp(console4, "all")==0) { j = atoi(console5); - for(i=0;i<NPART;i++) + for(i=0; i<NPART; i++) { if(parts[i].type) parts[i].vx = j; } - } else + } else { i = atoi(console4); if(parts[i].type) @@ -1930,18 +1930,18 @@ int main(int argc, char *argv[]) parts[i].vx = j; } } - } + } if(strcmp(console3, "vy")==0) { if(strcmp(console4, "all")==0) { j = atoi(console5); - for(i=0;i<NPART;i++) + for(i=0; i<NPART; i++) { if(parts[i].type) parts[i].vy = j; } - } else + } else { i = atoi(console4); if(parts[i].type) diff --git a/src/powder.c b/src/powder.c index b2932d1..a378da4 100644 --- a/src/powder.c +++ b/src/powder.c @@ -1328,7 +1328,7 @@ void update_particles_i(pixel *vid, int start, int inc) neighbors = gol2[nx][ny][0]; if(neighbors==0 || !(ptypes[r&0xFF].properties&PROP_LIFE || !r&0xFF) || (r>>8)>=NPART) continue; - for ( golnum = 1; golnum<NGOL; golnum++) + for ( golnum = 1; golnum<=NGOL; golnum++) for ( goldelete = 0; goldelete<9; goldelete++) { if (neighbors==goldelete&&gol[nx][ny]==0&&grule[golnum][goldelete]>=2&&gol2[nx][ny][golnum]>=(goldelete%2)+goldelete/2) @@ -1345,7 +1345,7 @@ void update_particles_i(pixel *vid, int start, int inc) parts[r>>8].type = PT_NONE;//using kill_part makes it not work } gol2[nx][ny][0] = 0; - for ( z = 1; z<NGOL; z++) + for ( z = 1; z<=NGOL; z++) gol2[nx][ny][z] = 0; } if (createdsomething) |
