Differences From Artifact [1c5a8555ba]:
- File exec.c — part of check-in [41eca04785] at 2023-08-04 23:03:10 on branch trunk — Implement ,if ,while ,until instructions (conditions with keeping the value in the stack if it is nonzero) (user: user, size: 169820) [annotate] [blame] [check-ins using]
To Artifact [e4a58f292e]:
- File exec.c — part of check-in [22d38aadb5] at 2023-08-06 19:44:01 on branch trunk — Add some additional checks to JumpTo for Compatible classes only. This fixes three levels, one each in HEARTS1, HEARTS4, and SUPERHRO. (user: user, size: 169967) [annotate] [blame] [check-ins using]
| ︙ | |||
1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 | 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 | + + + + |
static int jump_to(Uint32 from,Uint32 n,Uint32 x,Uint32 y) {
int xx,yy;
if(n==VOIDLINK) return 0;
xx=objects[n]->x;
yy=objects[n]->y;
if(!move_to(from,n,x,y)) return 0;
if(classes[objects[n]->class]->cflags&CF_COMPATIBLE) {
objects[n]->arrived2=objects[n]->departed2=0;
objects[n]->oflags&=~OF_MOVED2;
}
send_message(VOIDLINK,n,MSG_JUMPED,NVALUE(xx),NVALUE(yy),OVALUE(from));
return 1;
}
static int defer_move(Uint32 obj,Uint32 dir,Uint8 plus) {
Object*o;
Object*q;
|
| ︙ |