diff options
| author | Simon <simon@hardwired.org.uk> | 2011-04-08 14:28:57 (GMT) |
|---|---|---|
| committer | Simon <simon@hardwired.org.uk> | 2011-04-08 14:28:57 (GMT) |
| commit | 626cc8fa6a6cf5e2f046d138b72e3122614c46ad (patch) | |
| tree | 670c71d232ad958ec4689e9653741c6907d3becc | |
| parent | 60039b531e4bec2c8f16817b8da2beda148e828d (diff) | |
| download | powder-626cc8fa6a6cf5e2f046d138b72e3122614c46ad.zip powder-626cc8fa6a6cf5e2f046d138b72e3122614c46ad.tar.gz | |
Remove a TON of warnings
| -rw-r--r-- | includes/graphics.h | 19 | ||||
| -rw-r--r-- | includes/misc.h | 19 | ||||
| -rw-r--r-- | includes/powder.h | 51 | ||||
| -rw-r--r-- | src/main.c | 1013 |
4 files changed, 525 insertions, 577 deletions
diff --git a/includes/graphics.h b/includes/graphics.h index eed3ed6..31f8c57 100644 --- a/includes/graphics.h +++ b/includes/graphics.h @@ -64,17 +64,9 @@ int draw_tool_xy(pixel *vid_buf, int x, int y, int b, unsigned pc); void draw_menu(pixel *vid_buf, int i, int hover); -#if defined(WIN32) && !defined(__GNUC__) -_inline void drawpixel(pixel *vid, int x, int y, int r, int g, int b, int a); -#else -extern inline void drawpixel(pixel *vid, int x, int y, int r, int g, int b, int a); -#endif +void drawpixel(pixel *vid, int x, int y, int r, int g, int b, int a); -#if defined(WIN32) && !defined(__GNUC__) -_inline int drawchar(pixel *vid, int x, int y, int c, int r, int g, int b, int a); -#else -extern inline int drawchar(pixel *vid, int x, int y, int c, int r, int g, int b, int a); -#endif +int drawchar(pixel *vid, int x, int y, int c, int r, int g, int b, int a); int drawtext(pixel *vid, int x, int y, const char *s, int r, int g, int b, int a); @@ -99,13 +91,10 @@ void textnpos(char *s, int n, int w, int *cx, int *cy); int textwidthx(char *s, int w); int textposxy(char *s, int width, int w, int h); + int textwrapheight(char *s, int width); -#if defined(WIN32) && !defined(__GNUC__) -_inline void blendpixel(pixel *vid, int x, int y, int r, int g, int b, int a); -#else void blendpixel(pixel *vid, int x, int y, int r, int g, int b, int a); -#endif void draw_icon(pixel *vid_buf, int x, int y, char ch, int flag); @@ -122,7 +111,9 @@ void xor_line(int x1, int y1, int x2, int y2, pixel *vid); void xor_rect(pixel *vid, int x, int y, int w, int h); void draw_parts(pixel *vid); + void draw_wavelengths(pixel *vid, int x, int y, int h, int wl); + void render_signs(pixel *vid_buf); void render_fire(pixel *dst); diff --git a/includes/misc.h b/includes/misc.h index c3ba03e..ef23b1e 100644 --- a/includes/misc.h +++ b/includes/misc.h @@ -20,24 +20,13 @@ __asm__ __volatile ("cpuid":\ #endif static char hex[] = "0123456789ABCDEF"; + //Signum function -#if defined(WIN32) && !defined(__GNUC__) -extern _inline int isign(float i); -#else -extern inline int isign(float i); -#endif +int isign(float i); -#if defined(WIN32) && !defined(__GNUC__) -extern _inline unsigned clamp_flt(float f, float min, float max); -#else -extern inline unsigned clamp_flt(float f, float min, float max); -#endif +unsigned clamp_flt(float f, float min, float max); -#if defined(WIN32) && !defined(__GNUC__) -extern _inline float restrict_flt(float f, float min, float max); -#else -extern inline float restrict_flt(float f, float min, float max); -#endif +float restrict_flt(float f, float min, float max); char *mystrdup(char *s); diff --git a/includes/powder.h b/includes/powder.h index 8e40ead..66614b2 100644 --- a/includes/powder.h +++ b/includes/powder.h @@ -814,43 +814,19 @@ static void create_gain_photon(int pp); void kill_part(int i); -#if defined(WIN32) && !defined(__GNUC__) -extern _inline void part_change_type(int i, int x, int y, int t); -#else -extern inline void part_change_type(int i, int x, int y, int t); -#endif +void part_change_type(int i, int x, int y, int t); -#if defined(WIN32) && !defined(__GNUC__) -extern _inline int create_part(int p, int x, int y, int t); -#else -extern inline int create_part(int p, int x, int y, int t); -#endif +int create_part(int p, int x, int y, int t); -#if defined(WIN32) && !defined(__GNUC__) -extern _inline void delete_part(int x, int y); -#else -extern inline void delete_part(int x, int y); -#endif +void delete_part(int x, int y); -#if defined(WIN32) && !defined(__GNUC__) -extern _inline int is_wire(int x, int y); -#else -extern inline int is_wire(int x, int y); -#endif +int is_wire(int x, int y); -#if defined(WIN32) && !defined(__GNUC__) -extern _inline int is_wire_off(int x, int y); -#else -extern inline int is_wire_off(int x, int y); -#endif +int is_wire_off(int x, int y); void set_emap(int x, int y); -#if defined(WIN32) && !defined(__GNUC__) -extern _inline int parts_avg(int ci, int ni, int t); -#else -extern int parts_avg(int ci, int ni, int t); -#endif +int parts_avg(int ci, int ni, int t); int nearest_part(int ci, int t); @@ -869,20 +845,11 @@ int flood_parts(int x, int y, int c, int cm, int bm); int create_parts(int x, int y, int rx, int ry, int c); void create_line(int x1, int y1, int x2, int y2, int rx, int ry, int c); -void *transform_save(void *odata, int *size, matrix2d transform, vector2d translate); - -#if defined(WIN32) && !defined(__GNUC__) -extern _inline void orbitalparts_get(int block1, int block2, int resblock1[], int resblock2[]); -#else -extern inline void orbitalparts_get(int block1, int block2, int resblock1[], int resblock2[]); -#endif +void *transform_save(void *odata, int *size, matrix2d transform, vector2d translate); +void orbitalparts_get(int block1, int block2, int resblock1[], int resblock2[]); -#if defined(WIN32) && !defined(__GNUC__) -extern _inline void orbitalparts_set(int *block1, int *block2, int resblock1[], int resblock2[]); -#else -extern inline void orbitalparts_set(int *block1, int *block2, int resblock1[], int resblock2[]); -#endif +void orbitalparts_set(int *block1, int *block2, int resblock1[], int resblock2[]); #endif @@ -2049,6 +2049,508 @@ static PyMethodDef EmbMethods[] = { //WARNING! don't forget to register your fun }; #endif +#ifdef PYCONSOLE +int process_command(pixel *vid_buf,char *console,char *console_error,PyObject *pfunc) { + int y,x,nx,ny,i,j,k,m; + int do_next = 1; + char xcoord[10]; + char ycoord[10]; + char console2[15]; + char console3[15]; + char console4[15]; + char console5[15]; + PyObject *pvalue,*pargs; + //sprintf(console_error, "%s", console); + if (console && strcmp(console, "")!=0 && strncmp(console, " ", 1)!=0) + { + sscanf(console,"%14s %14s %14s %14s", console2, console3, console4, console5);//why didn't i know about this function?! + if (strcmp(console2, "quit")==0) + { + return -1; + } else { + //handle them command + pargs=Py_BuildValue("(s)",console); + pvalue = PyObject_CallObject(pfunc, pargs); + Py_DECREF(pargs); + pargs=NULL; + if (pvalue==NULL) + strcpy(console_error,"failed to execute code."); + pvalue=NULL; + } + } + return 1; +} +#endif +int process_command_old(pixel *vid_buf,char *console,char *console_error) { + int y,x,nx,ny,i,j,k,m; + float f; + int do_next = 1; + char xcoord[10] = ""; + char ycoord[10] = ""; + char console2[15] = ""; + char console3[15] = ""; + char console4[15] = ""; + char console5[15] = ""; + //sprintf(console_error, "%s", console); + if (console && strcmp(console, "")!=0 && strncmp(console, " ", 1)!=0) + { + sscanf(console,"%14s %14s %14s %14s", console2, console3, console4, console5);//why didn't i know about this function?! + if (strcmp(console2, "quit")==0) + { + return -1; + } + else if (strcmp(console2, "file")==0 && console3[0]) + { + if (file_script) { + FILE *f=fopen(console3, "r"); + if (f) + { + char fileread[5000];//TODO: make this change with file size + char pch[5000]; + char tokens[10]; + int tokensize; + nx = 0; + ny = 0; + j = 0; + m = 0; + if (console4[0]) + console_parse_coords(console4, &nx , &ny, console_error); + memset(pch,0,sizeof(pch)); + memset(fileread,0,sizeof(fileread)); + fread(fileread,1,5000,f); + for (i=0; i<strlen(fileread); i++) + { + if (fileread[i] != '\n') + { + pch[i-j] = fileread[i]; + if (fileread[i] != ' ') + tokens[i-m] = fileread[i]; + } + if (fileread[i] == ' ' || fileread[i] == '\n') + { + if (sregexp(tokens,"^x.[0-9],y.[0-9]")==0)//TODO: fix regex matching to work with x,y ect, right now it has to have a +0 or -0 + { + char temp[5]; + int starty = 0; + tokensize = strlen(tokens); + x = 0; + y = 0; + sscanf(tokens,"x%d,y%d",&x,&y); + sscanf(tokens,"%9s,%9s",xcoord,ycoord); + x += nx; + y += ny; + sprintf(xcoord,"%d",x); + sprintf(ycoord,"%d",y); + for (k = 0; k<strlen(xcoord); k++)//rewrite pch with numbers + { + pch[i-j-tokensize+k] = xcoord[k]; + starty = k+1; + } + pch[i-j-tokensize+starty] = ','; + starty++; + for (k=0; k<strlen(ycoord); k++) + { + pch[i-j-tokensize+starty+k] = ycoord[k]; + + } + pch[i-j-tokensize +strlen(xcoord) +1 +strlen(ycoord)] = ' '; + j = j -tokensize +strlen(xcoord) +1 +strlen(ycoord); + } + memset(tokens,0,sizeof(tokens)); + m = i+1; + } + if (fileread[i] == '\n') + { + + if (do_next) + { + if (strcmp(pch,"else")==0) + do_next = 0; + else + do_next = process_command_old(vid_buf, pch, console_error); + } + else if (strcmp(pch,"endif")==0 || strcmp(pch,"else")==0) + do_next = 1; + memset(pch,0,sizeof(pch)); + j = i+1; + } + } + //sprintf(console_error, "%s exists", console3); + fclose(f); + } + else + { + sprintf(console_error, "%s does not exist", console3); + } + } + else + { + sprintf(console_error, "Scripts are not enabled"); + } + + } + else if (strcmp(console2, "sound")==0 && console3[0]) + { + if (sound_enable) play_sound(console3); + else strcpy(console_error, "Audio device not available - cannot play sounds"); + } + else if (strcmp(console2, "python")==0) + if (pygood==1) + pyready=1; + else + strcpy(console_error, "python not ready. check stdout for more info."); + else if (strcmp(console2, "load")==0 && console3[0]) + { + j = atoi(console3); + if (j) + { + open_ui(vid_buf, console3, NULL); + console_mode = 0; + } + } + else if (strcmp(console2, "if")==0 && console3[0]) + { + if (strcmp(console3, "type")==0)//TODO: add more than just type, and be able to check greater/less than + { + if (console_parse_partref(console4, &i, console_error) + && console_parse_type(console5, &j, console_error)) + { + if (parts[i].type==j) + return 1; + else + return 0; + } + else + return 0; + } + } + else if (strcmp(console2, "create")==0 && console3[0] && console4[0]) + { + if (console_parse_type(console3, &j, console_error) + && console_parse_coords(console4, &nx, &ny, console_error)) + { + if (!j) + strcpy(console_error, "Cannot create particle with type NONE"); + else if (create_part(-1,nx,ny,j)<0) + strcpy(console_error, "Could not create particle"); + } + } + else if ((strcmp(console2, "delete")==0 || strcmp(console2, "kill")==0) && console3[0]) + { + if (console_parse_partref(console3, &i, console_error)) + kill_part(i); + } + else if (strcmp(console2, "reset")==0 && console3[0]) + { + if (strcmp(console3, "pressure")==0) + { + for (nx = 0; nx<XRES/CELL; nx++) + for (ny = 0; ny<YRES/CELL; ny++) + { + pv[ny][nx] = 0; + } + } + else if (strcmp(console3, "velocity")==0) + { + for (nx = 0; nx<XRES/CELL; nx++) + for (ny = 0; ny<YRES/CELL; ny++) + { + vx[ny][nx] = 0; + vy[ny][nx] = 0; + } + } + else if (strcmp(console3, "sparks")==0) + { + for (i=0; i<NPART; i++) + { + if (parts[i].type==PT_SPRK) + { + parts[i].type = parts[i].ctype; + parts[i].life = 4; + } + } + } + else if (strcmp(console3, "temp")==0) + { + for (i=0; i<NPART; i++) + { + if (parts[i].type) + { + parts[i].temp = ptypes[parts[i].type].heat; + } + } + } + } + else if (strcmp(console2, "set")==0 && console3[0] && console4[0] && console5[0]) + { + if (strcmp(console3, "life")==0) + { + if (strcmp(console4, "all")==0) + { + j = atoi(console5); + for (i=0; i<NPART; i++) + { + if (parts[i].type) + parts[i].life = j; + } + } + else if (console_parse_type(console4, &j, console_error)) + { + k = atoi(console5); + for (i=0; i<NPART; i++) + { + if (parts[i].type == j) + parts[i].life = k; + } + } + else + { + if (console_parse_partref(console4, &i, console_error)) + { + j = atoi(console5); + parts[i].life = j; + } + } + } + if (strcmp(console3, "type")==0) + { + if (strcmp(console4, "all")==0) + { + if (console_parse_type(console5, &j, console_error)) + for (i=0; i<NPART; i++) + { + if (parts[i].type) + parts[i].type = j; + } + } + else if (console_parse_type(console4, &j, console_error) + && console_parse_type(console5, &k, console_error)) + { + for (i=0; i<NPART; i++) + { + if (parts[i].type == j) + parts[i].type = k; + } + } + else + { + if (console_parse_partref(console4, &i, console_error) + && console_parse_type(console5, &j, console_error)) + { + parts[i].type = j; + } + } + } + if (strcmp(console3, "temp")==0) + { + if (strcmp(console4, "all")==0) + { + f = atof(console5); + for (i=0; i<NPART; i++) + { + if (parts[i].type) + parts[i].temp = f; + } + } + else if (console_parse_type(console4, &j, console_error)) + { + f = atof(console5); + for (i=0; i<NPART; i++) + { + if (parts[i].type == j) + parts[i].temp= f; + } + } + else + { + if (console_parse_partref(console4, &i, console_error)) + { + f = atof(console5); + parts[i].temp = f; + } + } + } + if (strcmp(console3, "tmp")==0) + { + if (strcmp(console4, "all")==0) + { + j = atoi(console5); + for (i=0; i<NPART; i++) + { + if (parts[i].type) + parts[i].tmp = j; + } + } + else if (console_parse_type(console4, &j, console_error)) + { + k = atoi(console5); + for (i=0; i<NPART; i++) + { + if (parts[i].type == j) + parts[i].tmp = k; + } + } + else + { + if (console_parse_partref(console4, &i, console_error)) + { + j = atoi(console5); + parts[i].tmp = j; + } + } + } + if (strcmp(console3, "x")==0) + { + if (strcmp(console4, "all")==0) + { + j = atoi(console5); + for (i=0; i<NPART; i++) + { + if (parts[i].type) + parts[i].x = j; + } + } + else if (console_parse_type(console4, &j, console_error)) + { + k = atoi(console5); + for (i=0; i<NPART; i++) + { + if (parts[i].type == j) + parts[i].x = k; + } + } + else + { + if (console_parse_partref(console4, &i, console_error)) + { + j = atoi(console5); + parts[i].x = j; + } + } + } + if (strcmp(console3, "y")==0) + { + if (strcmp(console4, "all")==0) + { + j = atoi(console5); + for (i=0; i<NPART; i++) + { + if (parts[i].type) + parts[i].y = j; + } + } + else if (console_parse_type(console4, &j, console_error)) + { + k = atoi(console5); + for (i=0; i<NPART; i++) + { + if (parts[i].type == j) + parts[i].y = k; + } + } + else + { + if (console_parse_partref(console4, &i, console_error)) + { + j = atoi(console5); + parts[i].y = j; + } + } + } + if (strcmp(console3, "ctype")==0) + { + if (strcmp(console4, "all")==0) + { + if (console_parse_type(console5, &j, console_error)) + for (i=0; i<NPART; i++) + { + if (parts[i].type) + parts[i].ctype = j; + } + } + else if (console_parse_type(console4, &j, console_error) + && console_parse_type(console5, &k, console_error)) + { + for (i=0; i<NPART; i++) + { + if (parts[i].type == j) + parts[i].ctype = k; + } + } + else + { + if (console_parse_partref(console4, &i, console_error) + && console_parse_type(console5, &j, console_error)) + { + parts[i].ctype = j; + } + } + } + if (strcmp(console3, "vx")==0) + { + if (strcmp(console4, "all")==0) + { + f = atof(console5); + for (i=0; i<NPART; i++) + { + if (parts[i].type) + parts[i].vx = f; + } + } + else if (console_parse_type(console4, &j, console_error)) + { + f = atof(console5); + for (i=0; i<NPART; i++) + { + if (parts[i].type == j) + parts[i].vx = f; + } + } + else + { + if (console_parse_partref(console4, &i, console_error)) + { + f = atof(console5); + parts[i].vx = f; + } + } + } + if (strcmp(console3, "vy")==0) + { + if (strcmp(console4, "all")==0) + { + f = atof(console5); + for (i=0; i<NPART; i++) + { + if (parts[i].type) + parts[i].vy = f; + } + } + else if (console_parse_type(console4, &j, console_error)) + { + f = atof(console5); + for (i=0; i<NPART; i++) + { + if (parts[i].type == j) + parts[i].vy = f; + } + } + else + { + if (console_parse_partref(console4, &i, console_error)) + { + f = atof(console5); + parts[i].vy = f; + } + } + } + } + else + strcpy(console_error, "Invalid Command"); + } + return 1; +} + int main(int argc, char *argv[]) { int hud_enable = 1; @@ -3766,7 +4268,7 @@ int main(int argc, char *argv[]) console = console_ui(vid_buf,console_error,console_more); console = mystrdup(console); strcpy(console_error,""); - if (process_command(vid_buf,console,&console_error,pfunc)==-1) + if (process_command(vid_buf, console, console_error,pfunc)==-1) { free(console); break; @@ -3782,7 +4284,7 @@ int main(int argc, char *argv[]) console = console_ui(vid_buf,console_error,console_more); console = mystrdup(console); strcpy(console_error,""); - if (process_command_old(vid_buf,console,&console_error)==-1) + if (process_command_old(vid_buf, console, console_error)==-1) { free(console); break; @@ -3794,10 +4296,10 @@ int main(int argc, char *argv[]) #else char *console; sys_pause = 1; - console = console_ui(vid_buf,console_error,console_more); + console = console_ui(vid_buf, console_error, console_more); console = mystrdup(console); strcpy(console_error,""); - if (process_command_old(vid_buf,console,&console_error)==-1) + if (process_command_old(vid_buf, console, console_error)==-1) { free(console); break; @@ -3854,505 +4356,4 @@ int main(int argc, char *argv[]) Py_Finalize();//cleanup any python stuff. #endif return 0; -} -#ifdef PYCONSOLE -int process_command(pixel *vid_buf,char *console,char *console_error,PyObject *pfunc) { - int y,x,nx,ny,i,j,k,m; - int do_next = 1; - char xcoord[10]; - char ycoord[10]; - char console2[15]; - char console3[15]; - char console4[15]; - char console5[15]; - PyObject *pvalue,*pargs; - //sprintf(console_error, "%s", console); - if (console && strcmp(console, "")!=0 && strncmp(console, " ", 1)!=0) - { - sscanf(console,"%14s %14s %14s %14s", console2, console3, console4, console5);//why didn't i know about this function?! - if (strcmp(console2, "quit")==0) - { - return -1; - } else { - //handle them command - pargs=Py_BuildValue("(s)",console); - pvalue = PyObject_CallObject(pfunc, pargs); - Py_DECREF(pargs); - pargs=NULL; - if (pvalue==NULL) - strcpy(console_error,"failed to execute code."); - pvalue=NULL; - } - } - return 1; -} -#endif -int process_command_old(pixel *vid_buf,char *console,char *console_error) { - int y,x,nx,ny,i,j,k,m; - float f; - int do_next = 1; - char xcoord[10] = ""; - char ycoord[10] = ""; - char console2[15] = ""; - char console3[15] = ""; - char console4[15] = ""; - char console5[15] = ""; - //sprintf(console_error, "%s", console); - if (console && strcmp(console, "")!=0 && strncmp(console, " ", 1)!=0) - { - sscanf(console,"%14s %14s %14s %14s", console2, console3, console4, console5);//why didn't i know about this function?! - if (strcmp(console2, "quit")==0) - { - return -1; - } - else if (strcmp(console2, "file")==0 && console3[0]) - { - if (file_script) { - FILE *f=fopen(console3, "r"); - if (f) - { - char fileread[5000];//TODO: make this change with file size - char pch[5000]; - char tokens[10]; - int tokensize; - nx = 0; - ny = 0; - j = 0; - m = 0; - if (console4[0]) - console_parse_coords(console4, &nx , &ny, console_error); - memset(pch,0,sizeof(pch)); - memset(fileread,0,sizeof(fileread)); - fread(fileread,1,5000,f); - for (i=0; i<strlen(fileread); i++) - { - if (fileread[i] != '\n') - { - pch[i-j] = fileread[i]; - if (fileread[i] != ' ') - tokens[i-m] = fileread[i]; - } - if (fileread[i] == ' ' || fileread[i] == '\n') - { - if (sregexp(tokens,"^x.[0-9],y.[0-9]")==0)//TODO: fix regex matching to work with x,y ect, right now it has to have a +0 or -0 - { - char temp[5]; - int starty = 0; - tokensize = strlen(tokens); - x = 0; - y = 0; - sscanf(tokens,"x%d,y%d",&x,&y); - sscanf(tokens,"%9s,%9s",xcoord,ycoord); - x += nx; - y += ny; - sprintf(xcoord,"%d",x); - sprintf(ycoord,"%d",y); - for (k = 0; k<strlen(xcoord); k++)//rewrite pch with numbers - { - pch[i-j-tokensize+k] = xcoord[k]; - starty = k+1; - } - pch[i-j-tokensize+starty] = ','; - starty++; - for (k=0; k<strlen(ycoord); k++) - { - pch[i-j-tokensize+starty+k] = ycoord[k]; - - } - pch[i-j-tokensize +strlen(xcoord) +1 +strlen(ycoord)] = ' '; - j = j -tokensize +strlen(xcoord) +1 +strlen(ycoord); - } - memset(tokens,0,sizeof(tokens)); - m = i+1; - } - if (fileread[i] == '\n') - { - - if (do_next) - { - if (strcmp(pch,"else")==0) - do_next = 0; - else - do_next = process_command_old(vid_buf, pch, console_error); - } - else if (strcmp(pch,"endif")==0 || strcmp(pch,"else")==0) - do_next = 1; - memset(pch,0,sizeof(pch)); - j = i+1; - } - } - //sprintf(console_error, "%s exists", console3); - fclose(f); - } - else - { - sprintf(console_error, "%s does not exist", console3); - } - } - else - { - sprintf(console_error, "Scripts are not enabled"); - } - - } - else if (strcmp(console2, "sound")==0 && console3[0]) - { - if (sound_enable) play_sound(console3); - else strcpy(console_error, "Audio device not available - cannot play sounds"); - } - else if (strcmp(console2, "python")==0) - if (pygood==1) - pyready=1; - else - strcpy(console_error, "python not ready. check stdout for more info."); - else if (strcmp(console2, "load")==0 && console3[0]) - { - j = atoi(console3); - if (j) - { - open_ui(vid_buf, console3, NULL); - console_mode = 0; - } - } - else if (strcmp(console2, "if")==0 && console3[0]) - { - if (strcmp(console3, "type")==0)//TODO: add more than just type, and be able to check greater/less than - { - if (console_parse_partref(console4, &i, console_error) - && console_parse_type(console5, &j, console_error)) - { - if (parts[i].type==j) - return 1; - else - return 0; - } - else - return 0; - } - } - else if (strcmp(console2, "create")==0 && console3[0] && console4[0]) - { - if (console_parse_type(console3, &j, console_error) - && console_parse_coords(console4, &nx, &ny, console_error)) - { - if (!j) - strcpy(console_error, "Cannot create particle with type NONE"); - else if (create_part(-1,nx,ny,j)<0) - strcpy(console_error, "Could not create particle"); - } - } - else if ((strcmp(console2, "delete")==0 || strcmp(console2, "kill")==0) && console3[0]) - { - if (console_parse_partref(console3, &i, console_error)) - kill_part(i); - } - else if (strcmp(console2, "reset")==0 && console3[0]) - { - if (strcmp(console3, "pressure")==0) - { - for (nx = 0; nx<XRES/CELL; nx++) - for (ny = 0; ny<YRES/CELL; ny++) - { - pv[ny][nx] = 0; - } - } - else if (strcmp(console3, "velocity")==0) - { - for (nx = 0; nx<XRES/CELL; nx++) - for (ny = 0; ny<YRES/CELL; ny++) - { - vx[ny][nx] = 0; - vy[ny][nx] = 0; - } - } - else if (strcmp(console3, "sparks")==0) - { - for (i=0; i<NPART; i++) - { - if (parts[i].type==PT_SPRK) - { - parts[i].type = parts[i].ctype; - parts[i].life = 4; - } - } - } - else if (strcmp(console3, "temp")==0) - { - for (i=0; i<NPART; i++) - { - if (parts[i].type) - { - parts[i].temp = ptypes[parts[i].type].heat; - } - } - } - } - else if (strcmp(console2, "set")==0 && console3[0] && console4[0] && console5[0]) - { - if (strcmp(console3, "life")==0) - { - if (strcmp(console4, "all")==0) - { - j = atoi(console5); - for (i=0; i<NPART; i++) - { - if (parts[i].type) - parts[i].life = j; - } - } - else if (console_parse_type(console4, &j, console_error)) - { - k = atoi(console5); - for (i=0; i<NPART; i++) - { - if (parts[i].type == j) - parts[i].life = k; - } - } - else - { - if (console_parse_partref(console4, &i, console_error)) - { - j = atoi(console5); - parts[i].life = j; - } - } - } - if (strcmp(console3, "type")==0) - { - if (strcmp(console4, "all")==0) - { - if (console_parse_type(console5, &j, console_error)) - for (i=0; i<NPART; i++) - { - if (parts[i].type) - parts[i].type = j; - } - } - else if (console_parse_type(console4, &j, console_error) - && console_parse_type(console5, &k, console_error)) - { - for (i=0; i<NPART; i++) - { - if (parts[i].type == j) - parts[i].type = k; - } - } - else - { - if (console_parse_partref(console4, &i, console_error) - && console_parse_type(console5, &j, console_error)) - { - parts[i].type = j; - } - } - } - if (strcmp(console3, "temp")==0) - { - if (strcmp(console4, "all")==0) - { - f = atof(console5); - for (i=0; i<NPART; i++) - { - if (parts[i].type) - parts[i].temp = f; - } - } - else if (console_parse_type(console4, &j, console_error)) - { - f = atof(console5); - for (i=0; i<NPART; i++) - { - if (parts[i].type == j) - parts[i].temp= f; - } - } - else - { - if (console_parse_partref(console4, &i, console_error)) - { - f = atof(console5); - parts[i].temp = f; - } - } - } - if (strcmp(console3, "tmp")==0) - { - if (strcmp(console4, "all")==0) - { - j = atoi(console5); - for (i=0; i<NPART; i++) - { - if (parts[i].type) - parts[i].tmp = j; - } - } - else if (console_parse_type(console4, &j, console_error)) - { - k = atoi(console5); - for (i=0; i<NPART; i++) - { - if (parts[i].type == j) - parts[i].tmp = k; - } - } - else - { - if (console_parse_partref(console4, &i, console_error)) - { - j = atoi(console5); - parts[i].tmp = j; - } - } - } - if (strcmp(console3, "x")==0) - { - if (strcmp(console4, "all")==0) - { - j = atoi(console5); - for (i=0; i<NPART; i++) - { - if (parts[i].type) - parts[i].x = j; - } - } - else if (console_parse_type(console4, &j, console_error)) - { - k = atoi(console5); - for (i=0; i<NPART; i++) - { - if (parts[i].type == j) - parts[i].x = k; - } - } - else - { - if (console_parse_partref(console4, &i, console_error)) - { - j = atoi(console5); - parts[i].x = j; - } - } - } - if (strcmp(console3, "y")==0) - { - if (strcmp(console4, "all")==0) - { - j = atoi(console5); - for (i=0; i<NPART; i++) - { - if (parts[i].type) - parts[i].y = j; - } - } - else if (console_parse_type(console4, &j, console_error)) - { - k = atoi(console5); - for (i=0; i<NPART; i++) - { - if (parts[i].type == j) - parts[i].y = k; - } - } - else - { - if (console_parse_partref(console4, &i, console_error)) - { - j = atoi(console5); - parts[i].y = j; - } - } - } - if (strcmp(console3, "ctype")==0) - { - if (strcmp(console4, "all")==0) - { - if (console_parse_type(console5, &j, console_error)) - for (i=0; i<NPART; i++) - { - if (parts[i].type) - parts[i].ctype = j; - } - } - else if (console_parse_type(console4, &j, console_error) - && console_parse_type(console5, &k, console_error)) - { - for (i=0; i<NPART; i++) - { - if (parts[i].type == j) - parts[i].ctype = k; - } - } - else - { - if (console_parse_partref(console4, &i, console_error) - && console_parse_type(console5, &j, console_error)) - { - parts[i].ctype = j; - } - } - } - if (strcmp(console3, "vx")==0) - { - if (strcmp(console4, "all")==0) - { - f = atof(console5); - for (i=0; i<NPART; i++) - { - if (parts[i].type) - parts[i].vx = f; - } - } - else if (console_parse_type(console4, &j, console_error)) - { - f = atof(console5); - for (i=0; i<NPART; i++) - { - if (parts[i].type == j) - parts[i].vx = f; - } - } - else - { - if (console_parse_partref(console4, &i, console_error)) - { - f = atof(console5); - parts[i].vx = f; - } - } - } - if (strcmp(console3, "vy")==0) - { - if (strcmp(console4, "all")==0) - { - f = atof(console5); - for (i=0; i<NPART; i++) - { - if (parts[i].type) - parts[i].vy = f; - } - } - else if (console_parse_type(console4, &j, console_error)) - { - f = atof(console5); - for (i=0; i<NPART; i++) - { - if (parts[i].type == j) - parts[i].vy = f; - } - } - else - { - if (console_parse_partref(console4, &i, console_error)) - { - f = atof(console5); - parts[i].vy = f; - } - } - } - } - else - strcpy(console_error, "Invalid Command"); - } - return 1; -} +}
\ No newline at end of file |
