| 613 | } |
| 614 | |
| 615 | void Renderer::DrawVroad() { |
| 616 | if (track->tag == NFS_3 || track->tag == NFS_4) { |
| 617 | float vRoadDisplayHeight = 0.2f; |
| 618 | uint32_t nVroad = boost::get<shared_ptr<NFS3_4_DATA::TRACK>>(track->trackData)->col.vroadHead.nrec; |
| 619 | for (uint32_t vroad_Idx = 0; vroad_Idx < nVroad; ++vroad_Idx) { |
| 620 | // Render COL Vroad? Should I use TRK VROAD to work across HS too? |
| 621 | if (vroad_Idx < nVroad - 1) { |
| 622 | INTPT refPt = boost::get<shared_ptr<NFS3_4_DATA::TRACK>>( |
| 623 | track->trackData)->col.vroad[vroad_Idx].refPt; |
| 624 | INTPT refPtNext = boost::get<shared_ptr<NFS3_4_DATA::TRACK>>(track->trackData)->col.vroad[ |
| 625 | vroad_Idx + 1].refPt; |
| 626 | glm::vec3 vroadPoint = glm::normalize(glm::quat(glm::vec3(-SIMD_PI / 2, 0, 0))) * |
| 627 | glm::vec3((refPt.x / 65536.0f) / 10.f, ((refPt.y / 65536.0f) / 10.f), |
| 628 | (refPt.z / 65536.0f) / 10.f); |
| 629 | glm::vec3 vroadPointNext = glm::normalize(glm::quat(glm::vec3(-SIMD_PI / 2, 0, 0))) * |
| 630 | glm::vec3((refPtNext.x / 65536.0f) / 10.f, |
| 631 | ((refPtNext.y / 65536.0f) / 10.f), |
| 632 | (refPtNext.z / 65536.0f) / 10.f); |
| 633 | vroadPoint.y += vRoadDisplayHeight; |
| 634 | vroadPointNext.y += vRoadDisplayHeight; |
| 635 | physicsEngine.mydebugdrawer.drawLine(Utils::glmToBullet(vroadPoint), |
| 636 | Utils::glmToBullet(vroadPointNext), btVector3(1, 0, 1)); |
| 637 | } |
| 638 | } |
| 639 | } |
| 640 | } |
| 641 | |
| 642 | void Renderer::DrawCameraAnimation() { |
| 643 | if (track->tag != NFS_3_PS1) { |
nothing calls this directly
no test coverage detected