393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
|
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
|
-
+
+
+
-
-
-
-
+
+
+
+
+
+
+
+
+
+
|
exit(0);
break;
}
}
}
static void add_object_at(int x,int y,MRU*m,int d) {
Uint32 n;
Uint32 n,u;
Class*c;
if(x<1 || x>pfwidth || y<1 || y>pfheight || !m || !m->class) return;
c=classes[m->class];
if(d) {
n=playfield[y*64+x-65];
while(n!=VOIDLINK) {
if(objects[n]->class==m->class) return;
if(!c) return;
n=playfield[y*64+x-65];
while(n!=VOIDLINK) {
if(d && objects[n]->class==m->class) return;
if(c->collisionLayers&classes[objects[n]->class]->collisionLayers) {
u=objects[n]->up;
pfunlink(n);
free(objects[n]);
n=u;
} else {
n=objects[n]->up;
}
}
n=objalloc(m->class);
if(n==VOIDLINK) return;
objects[n]->x=x;
objects[n]->y=y;
|