diff options
author | aap <aap@papnet.eu> | 2019-07-03 14:06:26 +0200 |
---|---|---|
committer | aap <aap@papnet.eu> | 2019-07-03 14:06:26 +0200 |
commit | 936a8e83517fb05c34bca673140172dfa624d7b1 (patch) | |
tree | cc614e20b242bb818fb957f7677c9e4be79d881f /src | |
parent | Merge pull request #89 from ShFil119/test (diff) | |
download | re3-936a8e83517fb05c34bca673140172dfa624d7b1.tar re3-936a8e83517fb05c34bca673140172dfa624d7b1.tar.gz re3-936a8e83517fb05c34bca673140172dfa624d7b1.tar.bz2 re3-936a8e83517fb05c34bca673140172dfa624d7b1.tar.lz re3-936a8e83517fb05c34bca673140172dfa624d7b1.tar.xz re3-936a8e83517fb05c34bca673140172dfa624d7b1.tar.zst re3-936a8e83517fb05c34bca673140172dfa624d7b1.zip |
Diffstat (limited to 'src')
-rw-r--r-- | src/render/Renderer.cpp | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index d8b0bbe6..405b9bb2 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -222,16 +222,16 @@ CRenderer::RenderEverythingBarRoads(void) if(e->IsVehicle() || e->IsPed() && CVisibilityPlugins::GetClumpAlpha((RpClump*)e->m_rwObject) != 255){ if(e->IsVehicle() && ((CVehicle*)e)->IsBoat()){ + ei.ent = e; + dist = ms_vecCameraPosition - e->GetPosition(); + ei.sort = dist.MagnitudeSqr(); + gSortedVehiclesAndPeds.InsertSorted(ei); + }else{ dist = ms_vecCameraPosition - e->GetPosition(); if(!CVisibilityPlugins::InsertEntityIntoSortedList(e, dist.Magnitude())){ printf("Ran out of space in alpha entity list"); RenderOneNonRoad(e); } - }else{ - ei.ent = e; - dist = ms_vecCameraPosition - e->GetPosition(); - ei.sort = dist.MagnitudeSqr(); - gSortedVehiclesAndPeds.InsertSorted(ei); } }else RenderOneNonRoad(e); @@ -241,15 +241,17 @@ CRenderer::RenderEverythingBarRoads(void) void CRenderer::RenderVehiclesButNotBoats(void) { + // This function doesn't do anything + // because only boats are inserted into the list CLink<EntityInfo> *node; for(node = gSortedVehiclesAndPeds.tail.prev; node != &gSortedVehiclesAndPeds.head; node = node->prev){ + // only boats in this list CVehicle *v = (CVehicle*)node->item.ent; - if(v->IsVehicle() && v->IsBoat()) // BUG: IsVehicle missing in III - continue; - RenderOneNonRoad(v); + if(!v->IsBoat()) + RenderOneNonRoad(v); } } @@ -261,8 +263,9 @@ CRenderer::RenderBoats(void) for(node = gSortedVehiclesAndPeds.tail.prev; node != &gSortedVehiclesAndPeds.head; node = node->prev){ + // only boats in this list CVehicle *v = (CVehicle*)node->item.ent; - if(v->IsVehicle() && v->IsBoat()) // BUG: IsVehicle missing in III + if(v->IsBoat()) RenderOneNonRoad(v); } } |