… | |
… | |
1391 | } /* If objects on this space */ |
1391 | } /* If objects on this space */ |
1392 | |
1392 | |
1393 | if (flag & INS_ABOVE_FLOOR_ONLY) |
1393 | if (flag & INS_ABOVE_FLOOR_ONLY) |
1394 | top = floor; |
1394 | top = floor; |
1395 | |
1395 | |
1396 | /* Top is the object that our object (op) is going to get inserted above. |
1396 | // insert object above top, or bottom-most if top = 0 |
1397 | */ |
|
|
1398 | |
|
|
1399 | /* no top found, insert at bottom */ |
|
|
1400 | if (!top) |
1397 | if (!top) |
1401 | { |
1398 | { |
1402 | op->below = 0; |
1399 | op->below = 0; |
1403 | op->above = ms.bot; |
1400 | op->above = ms.bot; |
1404 | ms.bot = op; |
1401 | ms.bot = op; |
1405 | |
1402 | |
1406 | *(op->above ? &op->above->below : &ms.top) = op; |
1403 | *(op->above ? &op->above->below : &ms.top) = op; |
1407 | } |
1404 | } |
1408 | else |
1405 | else |
1409 | { /* get inserted into the stack above top */ |
1406 | { |
1410 | op->above = top->above; |
1407 | op->above = top->above; |
1411 | top->above = op; |
1408 | top->above = op; |
1412 | |
1409 | |
1413 | op->below = top; |
1410 | op->below = top; |
1414 | *(op->above ? &op->above->below : &ms.top) = op; |
1411 | *(op->above ? &op->above->below : &ms.top) = op; |
1415 | } |
1412 | } |
1416 | } /* else not INS_BELOW_ORIGINATOR */ |
1413 | } |
1417 | |
1414 | |
1418 | if (op->type == PLAYER) |
1415 | if (op->type == PLAYER) |
1419 | { |
1416 | { |
1420 | op->contr->do_los = 1; |
1417 | op->contr->do_los = 1; |
1421 | ++op->map->players; |
1418 | ++op->map->players; |