| 427 | } |
| 428 | |
| 429 | BOOL AutoPlace(int pnum, int ii, int sx, int sy, BOOL saveflag) |
| 430 | { |
| 431 | int i, j, xx, yy; |
| 432 | BOOL done; |
| 433 | |
| 434 | done = TRUE; |
| 435 | yy = 10 * (ii / 10); |
| 436 | if (yy < 0) { |
| 437 | yy = 0; |
| 438 | } |
| 439 | for (j = 0; j < sy && done; j++) { |
| 440 | if (yy >= 40) { |
| 441 | done = FALSE; |
| 442 | } |
| 443 | xx = ii % 10; |
| 444 | if (xx < 0) { |
| 445 | xx = 0; |
| 446 | } |
| 447 | for (i = 0; i < sx && done; i++) { |
| 448 | if (xx >= 10) { |
| 449 | done = FALSE; |
| 450 | } else { |
| 451 | done = plr[pnum].InvGrid[xx + yy] == 0; |
| 452 | } |
| 453 | xx++; |
| 454 | } |
| 455 | yy += 10; |
| 456 | } |
| 457 | if (done && saveflag) { |
| 458 | plr[pnum].InvList[plr[pnum]._pNumInv] = plr[pnum].HoldItem; |
| 459 | plr[pnum]._pNumInv++; |
| 460 | yy = 10 * (ii / 10); |
| 461 | if (yy < 0) { |
| 462 | yy = 0; |
| 463 | } |
| 464 | for (j = 0; j < sy; j++) { |
| 465 | xx = ii % 10; |
| 466 | if (xx < 0) { |
| 467 | xx = 0; |
| 468 | } |
| 469 | for (i = 0; i < sx; i++) { |
| 470 | if (i != 0 || j != sy - 1) { |
| 471 | plr[pnum].InvGrid[xx + yy] = -plr[pnum]._pNumInv; |
| 472 | } else { |
| 473 | plr[pnum].InvGrid[xx + yy] = plr[pnum]._pNumInv; |
| 474 | } |
| 475 | xx++; |
| 476 | } |
| 477 | yy += 10; |
| 478 | } |
| 479 | CalcPlrScrolls(pnum); |
| 480 | } |
| 481 | return done; |
| 482 | } |
| 483 | |
| 484 | BOOL SpecialAutoPlace(int pnum, int ii, int sx, int sy, BOOL saveflag) |
| 485 | { |
no test coverage detected