summaryrefslogtreecommitdiff
path: root/src/console.c
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-11-17 19:43:59 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-11-17 19:43:59 (GMT)
commite3594aba9e05c6865d396418c028049cda92c2f3 (patch)
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904 /src/console.c
parentfb43f7d23e99765ae093fc45608901cb5907d1d8 (diff)
downloadpowder-e3594aba9e05c6865d396418c028049cda92c2f3.zip
powder-e3594aba9e05c6865d396418c028049cda92c2f3.tar.gz
Remove old code
Diffstat (limited to 'src/console.c')
-rw-r--r--src/console.c638
1 files changed, 0 insertions, 638 deletions
diff --git a/src/console.c b/src/console.c
deleted file mode 100644
index 55ca358..0000000
--- a/src/console.c
+++ /dev/null
@@ -1,638 +0,0 @@
-/**
- * Powder Toy - simple console
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include <powder.h>
-#include <console.h>
-#include <math.h>
-
-#ifdef PYCONSOLE
-#include <pythonconsole.h>
-#endif
-
-char console_more=0;
-char console_error[255] = "";
-int file_script = 0;
-
-//takes a a string and compares it to element names, and puts it value into element.
-int console_parse_type(char *txt, int *element, char *err)
-{
- int i = -1;
- // alternative names for some elements
- if (strcasecmp(txt,"C4")==0) i = PT_PLEX;
- else if (strcasecmp(txt,"C5")==0) i = PT_C5;
- else if (strcasecmp(txt,"NONE")==0) i = PT_NONE;
- if (i>=0 && i<PT_NUM && ptypes[i].enabled)
- {
- if (element) *element = i;
- if (err) strcpy(err,"");
- return 1;
- }
- for (i=1; i<PT_NUM; i++) {
- if (strcasecmp(txt,ptypes[i].name)==0 && ptypes[i].enabled)
- {
- if (element) *element = i;
- if (err) strcpy(err,"");
- return 1;
- }
- }
- if (err) strcpy(err, "Particle type not recognised");
- return 0;
-}
-//takes a string of coords "x,y" and puts the values into x and y.
-int console_parse_coords(char *txt, int *x, int *y, char *err)
-{
- int nx = -1, ny = -1;
- if (sscanf(txt,"%d,%d",&nx,&ny)!=2 || nx<0 || nx>=XRES || ny<0 || ny>=YRES)
- {
- if (err) strcpy(err,"Invalid coordinates");
- return 0;
- }
- *x = nx;
- *y = ny;
- return 1;
-}
-//takes a string of either coords or a particle number, and puts the particle number into *which
-int console_parse_partref(char *txt, int *which, char *err)
-{
- int i = -1, nx, ny;
- if (err) strcpy(err,"");
- if (strchr(txt,',') && console_parse_coords(txt, &nx, &ny, err))
- {
- i = pmap[ny][nx];
- if (!i)
- i = -1;
- else
- i = i>>8;
- }
- else if (txt)
- {
- char *num = (char*)malloc(strlen(txt)+3);
- i = atoi(txt);
- sprintf(num,"%d",i);
- if (!txt || strcmp(txt,num)!=0)
- i = -1;
- free(num);
- }
- if (i>=0 && i<NPART && parts[i].type)
- {
- *which = i;
- if (err) strcpy(err,"");
- return 1;
- }
- if (err && strcmp(err,"")==0) strcpy(err,"Particle does not exist");
- return 0;
-}
-
-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) {
- int filesize;
- char *fileread = file_load(console3, &filesize);
- nx = 0;
- ny = 0;
- if (console4[0] && !console_parse_coords(console4, &nx , &ny, console_error))
- {
- free(fileread);
- return 1;
- }
- if (fileread)
- {
- char pch[501];
- char tokens[31];
- int tokensize;
- j = 0; // line start position in fileread
- m = 0; // token start position in fileread
- memset(pch,0,sizeof(pch));
- for (i=0; i<filesize; i++)
- {
- if (fileread[i] != '\n' && i-m<30)
- {
- pch[i-j] = fileread[i];
- if (fileread[i] != ' ')
- tokens[i-m] = fileread[i];
- }
- if ((fileread[i] == ' ' || fileread[i] == '\n') && i-j<400)
- {
- if (sregexp(tokens,"^x.\\{0,1\\}[0-9]*,y.\\{0,1\\}[0-9]*")==0)
- {
- int starty = 0;
- tokensize = strlen(tokens);
- x = 0;
- y = 0;
- if (tokens[1]!=',')
- sscanf(tokens,"x%d,y%d",&x,&y);
- else
- sscanf(tokens,"x,y%d",&y);
- 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;
- }
- }
- free(fileread);
- }
- 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");
- }
-#ifdef PYCONSOLE
- else if (strcmp(console2, "python")==0)
- if (pygood==1)
- pyready=1;
- else
- strcpy(console_error, "python not ready. check stdout for more info.")
-#endif
- 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, "bubble")==0 && console3[0])
- {
- if (console_parse_coords(console3, &nx, &ny, console_error))
- {
- int first, rem1, rem2;
-
- first = create_part(-1, nx+18, ny, PT_SOAP);
- rem1 = first;
-
- for (i = 1; i<=30; i++)
- {
- rem2 = create_part(-1, nx+18*cosf(i/5.0), ny+18*sinf(i/5.0), PT_SOAP);
-
- parts[rem1].ctype = 7;
- parts[rem1].tmp = rem2;
- parts[rem2].tmp2 = rem1;
-
- rem1 = rem2;
- }
-
- parts[rem1].ctype = 7;
- parts[rem1].tmp = first;
- parts[first].tmp2 = rem1;
- parts[first].ctype = 7;
- }
- }
- 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;
- }
- }
- }
- else 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;
- }
- }
- }
- else 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;
- }
- }
- }
- else 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;
- }
- }
- }
- else if (strcmp(console3, "tmp2")==0)
- {
- if (strcmp(console4, "all")==0)
- {
- j = atoi(console5);
- for (i=0; i<NPART; i++)
- {
- if (parts[i].type)
- parts[i].tmp2 = 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].tmp2 = k;
- }
- }
- else
- {
- if (console_parse_partref(console4, &i, console_error))
- {
- j = atoi(console5);
- parts[i].tmp2 = j;
- }
- }
- }
- else 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;
- }
- }
- }
- else 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;
- }
- }
- }
- else if (strcmp(console3, "ctype")==0)
- {
- if (strcmp(console4, "all")==0)
- {
- if (console_parse_type(console5, &j, console_error) || (j = atoi(console5)) || !strcmp(console5,"0") || !strcasecmp(console5,"NONE"))
- {
- strcpy(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))
- {
- if (console_parse_type(console5, &k, console_error) || (k = atoi(console5)) || !strcmp(console5,"0") || !strcasecmp(console5,"NONE"))
- {
- strcpy(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))
- {
- if (console_parse_type(console5, &j, console_error) || (j = atoi(console5)) || !strcmp(console5,"0") || !strcasecmp(console5,"NONE"))
- {
- strcpy(console_error, "");
- j = atoi(console5);
- parts[i].ctype = j;
- }
- }
- }
- }
- else 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;
- }
- }
- }
- else 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 property");
- }
- else
- strcpy(console_error, "Invalid Command");
- }
- return 1;
-}