| 1421 | } |
| 1422 | |
| 1423 | BOOL LASoccupancyGrid::add_internal(I32 pos_x, I32 pos_y) |
| 1424 | { |
| 1425 | pos_y = pos_y - anker; |
| 1426 | BOOL no_x_anker = FALSE; |
| 1427 | U32* array_size; |
| 1428 | I32** ankers; |
| 1429 | U32*** array; |
| 1430 | U16** array_sizes; |
| 1431 | if (pos_y < 0) |
| 1432 | { |
| 1433 | pos_y = -pos_y - 1; |
| 1434 | ankers = &minus_ankers; |
| 1435 | if ((U32)pos_y < minus_plus_size && minus_plus_sizes[pos_y]) |
| 1436 | { |
| 1437 | pos_x -= minus_ankers[pos_y]; |
| 1438 | if (pos_x < 0) |
| 1439 | { |
| 1440 | pos_x = -pos_x - 1; |
| 1441 | array_size = &minus_minus_size; |
| 1442 | array = &minus_minus; |
| 1443 | array_sizes = &minus_minus_sizes; |
| 1444 | } |
| 1445 | else |
| 1446 | { |
| 1447 | array_size = &minus_plus_size; |
| 1448 | array = &minus_plus; |
| 1449 | array_sizes = &minus_plus_sizes; |
| 1450 | } |
| 1451 | } |
| 1452 | else |
| 1453 | { |
| 1454 | no_x_anker = TRUE; |
| 1455 | array_size = &minus_plus_size; |
| 1456 | array = &minus_plus; |
| 1457 | array_sizes = &minus_plus_sizes; |
| 1458 | } |
| 1459 | } |
| 1460 | else |
| 1461 | { |
| 1462 | ankers = &plus_ankers; |
| 1463 | if ((U32)pos_y < plus_plus_size && plus_plus_sizes[pos_y]) |
| 1464 | { |
| 1465 | pos_x -= plus_ankers[pos_y]; |
| 1466 | if (pos_x < 0) |
| 1467 | { |
| 1468 | pos_x = -pos_x - 1; |
| 1469 | array_size = &plus_minus_size; |
| 1470 | array = &plus_minus; |
| 1471 | array_sizes = &plus_minus_sizes; |
| 1472 | } |
| 1473 | else |
| 1474 | { |
| 1475 | array_size = &plus_plus_size; |
| 1476 | array = &plus_plus; |
| 1477 | array_sizes = &plus_plus_sizes; |
| 1478 | } |
| 1479 | } |
| 1480 | else |
nothing calls this directly
no test coverage detected