diff --git a/polymer/build/src/engine.c b/polymer/build/src/engine.c index 113e132f7..e611f5ffb 100644 --- a/polymer/build/src/engine.c +++ b/polymer/build/src/engine.c @@ -6845,7 +6845,7 @@ int loadboard(char *filename, char fromwhere, int *daposx, int *daposy, int *dap if (sprite[i].sectnum<0||sprite[i].sectnum>=MYMAXSECTORS) { - initprintf("Map error: sprite #%d(%d,%d) with wrong sector(%d)\n",i,sprite[i].x,sprite[i].y,sprite[i].sectnum); + initprintf("Map error: sprite #%d(%d,%d) with an illegal sector(%d)\n",i,sprite[i].x,sprite[i].y,sprite[i].sectnum); sprite[i].sectnum=MYMAXSECTORS-1; } } @@ -7594,6 +7594,12 @@ int saveboard(char *filename, int *daposx, int *daposy, int *daposz, if ((fil = Bopen(filename,BO_BINARY|BO_TRUNC|BO_CREAT|BO_WRONLY,BS_IREAD|BS_IWRITE)) == -1) return(-1); + for (j=0;j<MAXSPRITES;j++)if((unsigned)sprite[j].statnum>MAXSTATUS) + { + initprintf("Map error: sprite #%d(%d,%d) with an illegal statnum(%d)\n",j,sprite[j].x,sprite[j].y,sprite[j].statnum); + changespritestat(j,0); + } + numsprites = 0; for (j=0;j<MAXSTATUS;j++) { diff --git a/polymer/eduke32/source/gamedef.c b/polymer/eduke32/source/gamedef.c index dcd3cc0f8..8bbd4d3be 100644 --- a/polymer/eduke32/source/gamedef.c +++ b/polymer/eduke32/source/gamedef.c @@ -3106,6 +3106,27 @@ static int parsecommand(void) return 0; } textptr++; + + if (scriptptr[-1] == g_iThisActorID) // convert to "setvarvar" + { + scriptptr--; + scriptptr[-1]=CON_SETVARVAR; + if (tw == CON_SETACTORVAR || tw == CON_SETPLAYERVAR) + { + transvartype(GAMEVAR_FLAG_READONLY); + transvar(); + } + else + { + scriptptr++; + transvar(); + scriptptr-=2; + transvartype(GAMEVAR_FLAG_READONLY); + scriptptr++; + } + break; + } + /// now pointing at 'xxx' // get the ID of the DEF