| 548 | |
| 549 | INIT_MODULE(GameStateObj, 3) |
| 550 | { |
| 551 | GGameState.NewOperators(ObjBinary, sizeof(ObjBinary) / sizeof(*ObjBinary)); |
| 552 | GGameState.NewFunctions(ObjUnary, sizeof(ObjUnary) / sizeof(*ObjUnary)); |
| 553 | }; |
| 554 | |
| 555 | #endif |
| 556 | |
| 557 | int Scene::AdjustComplexity(SortObjectList& objs) |
| 558 | { |
| 559 | int totalComplexity = 0; |
| 560 | for (int i = 0; i < objs.Size(); i++) |
| 561 | { |
| 562 | SortObject* oi = objs[i]; |
| 563 | Object* obj = oi->object; |
| 564 | if (!obj) |
| 565 | { |
| 566 | Fail("No obj in SortObject info"); |
| 567 | continue; |
| 568 | } |
| 569 | LODShape* shape = oi->shape; |
| 570 | if (oi->forceDrawLOD >= 0) |
| 571 | { |
| 572 | oi->drawLOD = oi->forceDrawLOD; |
| 573 | } |
| 574 | else |
| 575 | { |
| 576 | int drawLevel = |
| 577 | LevelFromDistance2(shape, oi->distance2, obj->Scale(), obj->Direction(), _camera->Direction()); |
| 578 | if (drawLevel != LOD_INVISIBLE) |
| 579 | { |
| 580 | #if _ENABLE_CHEATS |
| 581 | if (DiagDrawModeState != DDMNormal) |
| 582 | { |
| 583 | int geom = -1; |
| 584 | switch (DiagDrawModeState) |
| 585 | { |
| 586 | case DDMGeometry: |
| 587 | geom = shape->FindGeometryLevel(); |
| 588 | break; |
| 589 | case DDMViewGeometry: |
| 590 | geom = shape->FindViewGeometryLevel(); |
| 591 | break; |
| 592 | case DDMFireGeometry: |
| 593 | geom = shape->FindFireGeometryLevel(); |
| 594 | break; |
| 595 | case DDMRoadway: |
| 596 | geom = shape->FindRoadwayLevel(); |
| 597 | break; |
| 598 | case DDMPaths: |
| 599 | geom = shape->FindPaths(); |
| 600 | break; |
| 601 | } |
| 602 | if (geom >= 0) |
| 603 | drawLevel = geom; |
| 604 | } |
| 605 | #endif |
| 606 | } |
| 607 | oi->drawLOD = drawLevel; |
nothing calls this directly
no test coverage detected