From c182b48fee31aa1f708dd675f7c1ee429456831d Mon Sep 17 00:00:00 2001 From: Garux Date: Thu, 1 Mar 2018 14:52:13 +0300 Subject: [PATCH] do not render light radii in doom3 mode --- plugins/entity/light.cpp | 70 ++++++++++++++++++++------------------- plugins/entity/plugin.cpp | 2 +- 2 files changed, 37 insertions(+), 35 deletions(-) diff --git a/plugins/entity/light.cpp b/plugins/entity/light.cpp index 7380c9a2..f5bdd5ca 100644 --- a/plugins/entity/light.cpp +++ b/plugins/entity/light.cpp @@ -1418,42 +1418,44 @@ void renderSolid( Renderer& renderer, const VolumeTest& volume, const Matrix4& l renderer.SetState( m_colour.state(), Renderer::eFullMaterials ); renderer.addRenderable( *this, localToWorld ); - if ( selected && g_lightRadii && string_empty( m_entity.getKeyValue( "target" ) ) ) { - if ( renderer.getStyle() == Renderer::eFullMaterials ) { - renderer.SetState( m_colour.state_additive(), Renderer::eFullMaterials ); - renderer.Highlight( Renderer::ePrimitive, false ); - renderer.Highlight( Renderer::eFace, false ); - renderer.addRenderable( m_radii_fill, localToWorld ); + if( selected ){ + if ( g_lightType != LIGHTTYPE_DOOM3 ) { + if ( g_lightRadii && string_empty( m_entity.getKeyValue( "target" ) ) ) { + if ( renderer.getStyle() == Renderer::eFullMaterials ) { + renderer.SetState( m_colour.state_additive(), Renderer::eFullMaterials ); + renderer.Highlight( Renderer::ePrimitive, false ); + renderer.Highlight( Renderer::eFace, false ); + renderer.addRenderable( m_radii_fill, localToWorld ); + } + else + { + renderer.Highlight( Renderer::ePrimitive, false ); + renderer.addRenderable( m_radii_wire, localToWorld ); + } + } } - else - { - renderer.Highlight( Renderer::ePrimitive, false ); - renderer.addRenderable( m_radii_wire, localToWorld ); - } - } + else{ + renderer.SetState( m_entity.getEntityClass().m_state_wire, Renderer::eFullMaterials ); + if ( isProjected() ) { + projection(); + m_projectionOrientation = rotation(); + vector4_to_vector3( m_projectionOrientation.t() ) = localAABB().origin; + renderer.addRenderable( m_renderProjection, m_projectionOrientation ); + } + else + { + updateLightRadiiBox(); + renderer.addRenderable( m_radii_box, localToWorld ); + } - renderer.SetState( m_entity.getEntityClass().m_state_wire, Renderer::eFullMaterials ); - - if ( g_lightType == LIGHTTYPE_DOOM3 && selected ) { - if ( isProjected() ) { - projection(); - m_projectionOrientation = rotation(); - vector4_to_vector3( m_projectionOrientation.t() ) = localAABB().origin; - renderer.addRenderable( m_renderProjection, m_projectionOrientation ); - } - else - { - updateLightRadiiBox(); - renderer.addRenderable( m_radii_box, localToWorld ); - } - - //draw the center of the light - if ( m_doom3Radius.m_useCenterKey ) { - renderer.Highlight( Renderer::ePrimitive, false ); - renderer.Highlight( Renderer::eFace, false ); - renderer.SetState( m_render_center.m_state, Renderer::eFullMaterials ); - renderer.SetState( m_render_center.m_state, Renderer::eWireframeOnly ); - renderer.addRenderable( m_render_center, localToWorld ); + //draw the center of the light + if ( m_doom3Radius.m_useCenterKey ) { + renderer.Highlight( Renderer::ePrimitive, false ); + renderer.Highlight( Renderer::eFace, false ); + renderer.SetState( m_render_center.m_state, Renderer::eFullMaterials ); + renderer.SetState( m_render_center.m_state, Renderer::eWireframeOnly ); + renderer.addRenderable( m_render_center, localToWorld ); + } } } diff --git a/plugins/entity/plugin.cpp b/plugins/entity/plugin.cpp index 6aacecd5..37156093 100644 --- a/plugins/entity/plugin.cpp +++ b/plugins/entity/plugin.cpp @@ -94,7 +94,7 @@ typedef EntityCreator Type; STRING_CONSTANT( Name, "quake" ); EntityQ1API(){ - Entity_Construct( eGameTypeQuake1); + Entity_Construct( eGameTypeQuake1 ); m_entityq1 = &GetEntityCreator();