1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
|
if((hit&0x48000)==0x8000) goto restart;
if((hit&0x1000000) && !(hit&0x400080)) {
if(hit&0x20000) goto success;
if(move_to(from,obj,objects[objLF]->x,objects[objLF]->y)) goto success;
}
}
}
fail: if(hit&0x1000) goto success; o->inertia=0; return 0;
success: if(!(hit&0x4000)) o->oflags|=OF_MOVED; if(hit&0x10000000) o->dir=dir; return 1;
}
static int jump_to(Uint32 from,Uint32 n,Uint32 x,Uint32 y) {
int xx,yy;
if(n==VOIDLINK) return 0;
xx=objects[n]->x;
|
>
|
>
>
>
>
>
|
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
|
if((hit&0x48000)==0x8000) goto restart;
if((hit&0x1000000) && !(hit&0x400080)) {
if(hit&0x20000) goto success;
if(move_to(from,obj,objects[objLF]->x,objects[objLF]->y)) goto success;
}
}
}
fail:
if(hit&0x1000) goto success;
if(hit&0x10000000) {
v=send_message(obj,objW,MSG_NEXTWARP,NVALUE(dir),NVALUE(0),NVALUE(hit));
if(v.t || v.u) goto warp;
}
o->inertia=0; return 0;
success: if(!(hit&0x4000)) o->oflags|=OF_MOVED; if(hit&0x10000000) o->dir=dir; return 1;
}
static int jump_to(Uint32 from,Uint32 n,Uint32 x,Uint32 y) {
int xx,yy;
if(n==VOIDLINK) return 0;
xx=objects[n]->x;
|