@@ -417,6 +417,7 @@ class COptionsSubVideoAdvancedDlg : public vgui::Frame
417417
418418 m_pShaderDetail = new ComboBox ( this , " ShaderDetail" , 6 , false );
419419 m_pShaderDetail->AddItem (" #gameui_low" , NULL );
420+ m_pShaderDetail->AddItem (" #gameui_medium" , NULL );
420421 m_pShaderDetail->AddItem (" #gameui_high" , NULL );
421422
422423 m_pColorCorrection = new ComboBox ( this , " ColorCorrection" , 2 , false );
@@ -637,7 +638,7 @@ class COptionsSubVideoAdvancedDlg : public vgui::Frame
637638 else
638639 SetComboItemAsRecommended ( m_pShadowDetail, 0 ); // Blobbies
639640
640- SetComboItemAsRecommended ( m_pShaderDetail, nReduceFillRate ? 0 : 1 );
641+ SetComboItemAsRecommended ( m_pShaderDetail, nReduceFillRate ? 1 : 2 );
641642
642643#ifndef _X360
643644 if ( nWaterUseRealtimeReflection )
@@ -750,7 +751,10 @@ class COptionsSubVideoAdvancedDlg : public vgui::Frame
750751 ApplyChangesToConVar ( " r_flashlightdepthtexture" , 1 ); // Turn on shadow depth textures
751752 }
752753
753- ApplyChangesToConVar ( " mat_reducefillrate" , ( m_pShaderDetail->GetActiveItem () > 0 ) ? 0 : 1 );
754+ ApplyChangesToConVar ( " mat_reducefillrate" , ( m_pShaderDetail->GetActiveItem () > 1 ) ? 0 : 1 );
755+ ApplyChangesToConVar ( " mat_phong" , ( m_pShaderDetail->GetActiveItem () < 1 ) ? 0 : 1 );
756+ ApplyChangesToConVar ( " r_force_fastpath" , ( m_pShaderDetail->GetActiveItem () > 0 ) ? 0 : 1 );
757+ ApplyChangesToConVar ( " r_skybox_lowend" , ( m_pShaderDetail->GetActiveItem () > 0 ) ? 0 : 1 );
754758
755759 switch ( m_pWaterDetail->GetActiveItem () )
756760 {
@@ -808,6 +812,9 @@ class COptionsSubVideoAdvancedDlg : public vgui::Frame
808812#endif
809813 ConVarRef r_waterforcereflectentities ( " r_waterforcereflectentities" );
810814 ConVarRef mat_reducefillrate (" mat_reducefillrate" );
815+ ConVarRef mat_phong (" mat_phong" );
816+ ConVarRef r_force_fastpath (" r_force_fastpath" );
817+ ConVarRef r_skybox_lowend (" r_skybox_lowend" );
811818 ConVarRef mat_hdr_level ( " mat_hdr_level" );
812819 ConVarRef mat_colorcorrection ( " mat_colorcorrection" );
813820 ConVarRef mat_motion_blur_enabled ( " mat_motion_blur_enabled" );
@@ -832,7 +839,22 @@ class COptionsSubVideoAdvancedDlg : public vgui::Frame
832839 m_pShadowDetail->ActivateItem ( 0 );
833840 }
834841
835- m_pShaderDetail->ActivateItem ( mat_reducefillrate.GetBool () ? 0 : 1 );
842+
843+ if (mat_reducefillrate.GetBool ())
844+ {
845+ if (mat_phong.GetBool () && r_force_fastpath.GetBool () && r_skybox_lowend.GetBool ())
846+ {
847+ m_pShaderDetail->ActivateItem ( 0 );
848+ }
849+ else
850+ {
851+ m_pShaderDetail->ActivateItem ( 1 );
852+ }
853+ }
854+ else
855+ {
856+ m_pShaderDetail->ActivateItem ( 2 );
857+ }
836858 m_pHDR->ActivateItem (clamp (mat_hdr_level.GetInt (), 0 , 2 ));
837859
838860 switch (mat_forceaniso.GetInt ())
0 commit comments