Overview
| Comment: | Check for collision layers when adding objects in the editor |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
73439c4682e73b4d15d8bdfd871fdc5d |
| User & Date: | user on 2021-02-11 22:37:04.633 |
| Other Links: | manifest | tags |
Context
|
2021-02-11
| ||
| 22:51 | Always use objtrash to free objects in editor, not free check-in: b8f0f5f65a user: user tags: trunk | |
| 22:37 | Check for collision layers when adding objects in the editor check-in: 73439c4682 user: user tags: trunk | |
| 05:54 | Add the MOVE_LIST() SQL function check-in: 1c75f94d6b user: user tags: trunk | |
Changes
Modified edit.c
from [24b1ea6d74]
to [ecf182b369].
| ︙ | ︙ | |||
393 394 395 396 397 398 399 |
exit(0);
break;
}
}
}
static void add_object_at(int x,int y,MRU*m,int d) {
| | > > | | | | > > > > > > | 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,u;
Class*c;
if(x<1 || x>pfwidth || y<1 || y>pfheight || !m || !m->class) return;
c=classes[m->class];
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;
|
| ︙ | ︙ |