1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
|
n=VOIDLINK;
x+=x_delta[code[ptr-1]];
y+=y_delta[code[ptr-1]];
if(x<1 || x>pfwidth || y<1 || y>pfheight) goto fail;
break;
case 8 ... 15:
n=VOIDLINK;
x+=x_delta[(code[ptr-1]+objects[obj]->dir)&7];
y+=y_delta[(code[ptr-1]+objects[obj]->dir)&7];
if(x<1 || x>pfwidth || y<1 || y>pfheight) goto fail;
break;
case 0x0200 ... 0x02FF:
g=code[ptr-1]&255;
goto message;
case 0x1000 ... 0x11FF:
g=code[ptr-1]&255;
|
|
|
|
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
|
n=VOIDLINK;
x+=x_delta[code[ptr-1]];
y+=y_delta[code[ptr-1]];
if(x<1 || x>pfwidth || y<1 || y>pfheight) goto fail;
break;
case 8 ... 15:
n=VOIDLINK;
x+=x_delta[(code[ptr-1]+d)&7];
y+=y_delta[(code[ptr-1]+d)&7];
if(x<1 || x>pfwidth || y<1 || y>pfheight) goto fail;
break;
case 0x0200 ... 0x02FF:
g=code[ptr-1]&255;
goto message;
case 0x1000 ... 0x11FF:
g=code[ptr-1]&255;
|
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
|
Push(UVALUE(0,TY_MARK));
break;
case OP_MUL:
cp[cpi].x=x;
cp[cpi].y=y;
cp[cpi].dir=d;
break;
case OP_OBJABOVE:
if(n==VOIDLINK) Throw("No object specified in pattern");
n=obj_above(n);
break;
case OP_OBJBELOW:
if(n==VOIDLINK) Throw("No object specified in pattern");
n=obj_below(n);
|
>
>
|
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
|
Push(UVALUE(0,TY_MARK));
break;
case OP_MUL:
cp[cpi].x=x;
cp[cpi].y=y;
cp[cpi].dir=d;
break;
case OP_NEXT:
goto fail;
case OP_OBJABOVE:
if(n==VOIDLINK) Throw("No object specified in pattern");
n=obj_above(n);
break;
case OP_OBJBELOW:
if(n==VOIDLINK) Throw("No object specified in pattern");
n=obj_below(n);
|