diff --git a/src/Layers/xrRender/LightTrack.cpp b/src/Layers/xrRender/LightTrack.cpp index f8a4ac9d9c6..4dc18e18569 100644 --- a/src/Layers/xrRender/LightTrack.cpp +++ b/src/Layers/xrRender/LightTrack.cpp @@ -365,11 +365,8 @@ void CROS_impl::update_smooth(IRenderable* O) void CROS_impl::calc_sun_value(Fvector& position, IGameObject* _object) { -#if RENDER == R_R1 - light* sun = (light*)RImplementation.L_DB->sun._get(); -#else light* sun = (light*)RImplementation.Lights.sun._get(); -#endif + if (MODE & IRender_ObjectSpecific::TRACE_SUN) { if (--result_sun < 0) @@ -530,7 +527,7 @@ void CROS_impl::prepare_lights(Fvector& position, IRenderable* O) } #if RENDER == R_R1 - light* sun = (light*)RImplementation.L_DB->sun._get(); + light* sun = (light*)RImplementation.Lights.sun._get(); // Sun float E = sun_smooth * sun->color.intensity(); diff --git a/src/Layers/xrRenderPC_R1/FStaticRender.cpp b/src/Layers/xrRenderPC_R1/FStaticRender.cpp index 76aef9ab85f..56dec35c71c 100644 --- a/src/Layers/xrRenderPC_R1/FStaticRender.cpp +++ b/src/Layers/xrRenderPC_R1/FStaticRender.cpp @@ -52,7 +52,6 @@ ShaderElement* CRender::rimp_select_sh_static(dxRender_Visual* pVisual, float cd ////////////////////////////////////////////////////////////////////////// void CRender::create() { - L_DB = nullptr; L_Shadows = nullptr; L_Projector = nullptr; @@ -272,7 +271,7 @@ FSlideWindowItem* CRender::getSWI(int id) return &SWIs[id]; } IRender_Target* CRender::getTarget() { return Target; } -IRender_Light* CRender::light_create() { return L_DB->Create(); } +IRender_Light* CRender::light_create() { return Lights.Create(); } IRender_Glow* CRender::glow_create() { return new CGlow(); } void CRender::flush() { r_dsgraph_render_graph(0); } BOOL CRender::occ_visible(vis_data& P) { return HOM.visible(P); } @@ -476,9 +475,9 @@ void CRender::Calculate() pPortal->bDualRender = TRUE; } } + // - if (L_DB) - L_DB->Update(); + Lights.Update(); // Main process marker++; @@ -609,7 +608,7 @@ void CRender::Calculate() { vis_data& vis = L->get_homdata(); if (HOM.visible(vis)) - L_DB->add_light(L); + Lights.add_light(L); } } } diff --git a/src/Layers/xrRenderPC_R1/FStaticRender.h b/src/Layers/xrRenderPC_R1/FStaticRender.h index 82f9bbe047b..482a13394ed 100644 --- a/src/Layers/xrRenderPC_R1/FStaticRender.h +++ b/src/Layers/xrRenderPC_R1/FStaticRender.h @@ -55,7 +55,7 @@ class CRender : public D3DXRenderBase xr_vector IB; xr_vector Visuals; CPSLibrary PSLibrary; - CLight_DB* L_DB; + CLight_DB Lights; CLightR_Manager* L_Dynamic; CLightShadows* L_Shadows; CLightProjector* L_Projector; diff --git a/src/Layers/xrRenderPC_R1/FStaticRender_Loader.cpp b/src/Layers/xrRenderPC_R1/FStaticRender_Loader.cpp index 646bb86c644..eef0e4c7d1f 100644 --- a/src/Layers/xrRenderPC_R1/FStaticRender_Loader.cpp +++ b/src/Layers/xrRenderPC_R1/FStaticRender_Loader.cpp @@ -46,10 +46,8 @@ void CRender::level_Load(IReader* fs) } // Components - L_Shadows = new CLightShadows(); L_Projector = new CLightProjector(); - L_DB = new CLight_DB(); L_Glows = new CGlowManager(); Wallmarks = new CWallmarksEngine(); Details = new CDetailManager(); @@ -133,7 +131,7 @@ void CRender::level_Unload() //*** Lights L_Glows->Unload(); - L_DB->Unload(); + Lights.Unload(); //*** Visuals for (I = 0; I < Visuals.size(); I++) @@ -161,7 +159,6 @@ void CRender::level_Unload() xr_delete(Details); xr_delete(Wallmarks); xr_delete(L_Glows); - xr_delete(L_DB); xr_delete(L_Projector); xr_delete(L_Shadows); @@ -278,7 +275,7 @@ void CRender::LoadVisuals(IReader* fs) void CRender::LoadLights(IReader* fs) { // lights - L_DB->Load(fs); + Lights.Load(fs); // glows IReader* chunk = fs->open_chunk(fsL_GLOWS);