diff options
Diffstat (limited to 'src/render/Renderer.cpp')
-rw-r--r-- | src/render/Renderer.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index 70002dcf..6979bb19 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -5,6 +5,7 @@ #include "Treadable.h" #include "Ped.h" #include "Vehicle.h" +#include "Heli.h" #include "Object.h" #include "PathFind.h" #include "Collision.h" @@ -14,6 +15,7 @@ #include "Camera.h" #include "ModelIndices.h" #include "Streaming.h" +#include "Shadows.h" #include "Renderer.h" bool gbShowPedRoadGroups; @@ -48,6 +50,28 @@ CRenderer::Init(void) gSortedVehiclesAndPeds.Init(40); SortBIGBuildings(); } + +void +CRenderer::PreRender(void) +{ + int i; + CLink<CVisibilityPlugins::AlphaObjectInfo> *node; + + for(i = 0; i < ms_nNoOfVisibleEntities; i++) + ms_aVisibleEntityPtrs[i]->PreRender(); + + for(i = 0; i < ms_nNoOfInVisibleEntities; i++) + ms_aInVisibleEntityPtrs[i]->PreRender(); + + for(node = CVisibilityPlugins::m_alphaEntityList.tail.prev; + node != &CVisibilityPlugins::m_alphaEntityList.head; + node = node->prev) + ((CEntity*)node->item.entity)->PreRender(); + + CHeli::SpecialHeliPreRender(); + CShadows::RenderExtraPlayerShadows(); +} + void CRenderer::RenderOneRoad(CEntity *e) { |