From 7fe14956424e8c0be0e9e15c1e14f625198e3a59 Mon Sep 17 00:00:00 2001
From: Tofu Linden <tofu.linden@lindenlab.com>
Date: Mon, 24 May 2010 13:44:33 +0100
Subject: EXT-7461 move/remove deferred rendering UI from prefs

---
 indra/newview/llviewermenu.cpp                     |  51 +++++++--
 indra/newview/skins/default/xui/en/menu_viewer.xml | 114 ++++++++++++++++++++-
 .../default/xui/en/panel_preferences_graphics1.xml |   3 +-
 3 files changed, 156 insertions(+), 12 deletions(-)

(limited to 'indra')

diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index 10ceab2656..5ae64b2530 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -2051,9 +2051,9 @@ class LLAdvancedEnableRenderDeferred: public view_listener_t
 };
 
 /////////////////////////////////////
-// Enable Global Illumination 	  ///
+// Enable Deferred Rendering sub-options
 /////////////////////////////////////
-class LLAdvancedEnableRenderDeferredGI: public view_listener_t
+class LLAdvancedEnableRenderDeferredOptions: public view_listener_t
 {
 	bool handleEvent(const LLSD& userdata)
 	{
@@ -6543,7 +6543,7 @@ void handle_dump_attachments(void*)
 }
 
 
-// these are used in the gl menus to set control values.
+// these are used in the gl menus to set control values, generically.
 class LLToggleControl : public view_listener_t
 {
 	bool handleEvent(const LLSD& userdata)
@@ -6562,8 +6562,44 @@ class LLCheckControl : public view_listener_t
 		std::string callback_data = userdata.asString();
 		bool new_value = gSavedSettings.getBOOL(callback_data);
 		return new_value;
-}
+	}
+};
+
+// not so generic
 
+class LLAdvancedCheckRenderShadowOption: public view_listener_t
+{
+	bool handleEvent(const LLSD& userdata)
+	{
+		std::string control_name = userdata.asString();
+		S32 current_shadow_level = gSavedSettings.getS32(control_name);
+		if (current_shadow_level == 0) // is off
+		{
+			return false;
+		}
+		else // is on
+		{
+			return true;
+		}
+	}
+};
+
+class LLAdvancedClickRenderShadowOption: public view_listener_t
+{
+	bool handleEvent(const LLSD& userdata)
+	{
+		std::string control_name = userdata.asString();
+		S32 current_shadow_level = gSavedSettings.getS32(control_name);
+		if (current_shadow_level == 0) // upgrade to level 2
+		{
+			gSavedSettings.setS32(control_name, 2);
+		}
+		else // downgrade to level 0
+		{
+			gSavedSettings.setS32(control_name, 0);
+		}
+		return true;
+	}
 };
 
 void menu_toggle_attached_lights(void* user_data)
@@ -7821,7 +7857,7 @@ void initialize_menus()
 	// Help menu
 	// most items use the ShowFloater method
 
-	// Advance menu
+	// Advanced menu
 	view_listener_t::addMenu(new LLAdvancedToggleConsole(), "Advanced.ToggleConsole");
 	view_listener_t::addMenu(new LLAdvancedCheckConsole(), "Advanced.CheckConsole");
 	view_listener_t::addMenu(new LLAdvancedDumpInfoToConsole(), "Advanced.DumpInfoToConsole");
@@ -7848,12 +7884,13 @@ void initialize_menus()
 	view_listener_t::addMenu(new LLAdvancedSelectedTextureInfo(), "Advanced.SelectedTextureInfo");
 	view_listener_t::addMenu(new LLAdvancedToggleWireframe(), "Advanced.ToggleWireframe");
 	view_listener_t::addMenu(new LLAdvancedCheckWireframe(), "Advanced.CheckWireframe");
+	// Develop > Render
 	view_listener_t::addMenu(new LLAdvancedToggleTextureAtlas(), "Advanced.ToggleTextureAtlas");
 	view_listener_t::addMenu(new LLAdvancedCheckTextureAtlas(), "Advanced.CheckTextureAtlas");
 	view_listener_t::addMenu(new LLAdvancedEnableObjectObjectOcclusion(), "Advanced.EnableObjectObjectOcclusion");
 	view_listener_t::addMenu(new LLAdvancedEnableRenderFBO(), "Advanced.EnableRenderFBO");
 	view_listener_t::addMenu(new LLAdvancedEnableRenderDeferred(), "Advanced.EnableRenderDeferred");
-	view_listener_t::addMenu(new LLAdvancedEnableRenderDeferredGI(), "Advanced.EnableRenderDeferredGI");
+	view_listener_t::addMenu(new LLAdvancedEnableRenderDeferredOptions(), "Advanced.EnableRenderDeferredOptions");
 	view_listener_t::addMenu(new LLAdvancedToggleRandomizeFramerate(), "Advanced.ToggleRandomizeFramerate");
 	view_listener_t::addMenu(new LLAdvancedCheckRandomizeFramerate(), "Advanced.CheckRandomizeFramerate");
 	view_listener_t::addMenu(new LLAdvancedTogglePeriodicSlowFrame(), "Advanced.TogglePeriodicSlowFrame");
@@ -7862,6 +7899,8 @@ void initialize_menus()
 	view_listener_t::addMenu(new LLAdvancedToggleFrameTest(), "Advanced.ToggleFrameTest");
 	view_listener_t::addMenu(new LLAdvancedCheckFrameTest(), "Advanced.CheckFrameTest");
 	view_listener_t::addMenu(new LLAdvancedHandleAttachedLightParticles(), "Advanced.HandleAttachedLightParticles");
+	view_listener_t::addMenu(new LLAdvancedCheckRenderShadowOption(), "Advanced.CheckRenderShadowOption");
+	view_listener_t::addMenu(new LLAdvancedClickRenderShadowOption(), "Advanced.ClickRenderShadowOption");
 	
 
 	#ifdef TOGGLE_HACKED_GODLIKE_VIEWER
diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml
index ef083865fd..35960be57f 100644
--- a/indra/newview/skins/default/xui/en/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/en/menu_viewer.xml
@@ -29,7 +29,9 @@
             <menu_item_call.on_click
              function="BuyCurrency" />
         </menu_item_call>
+
         <menu_item_separator/>
+
         <menu_item_call
          label="My Profile"
          name="Profile">
@@ -113,7 +115,9 @@
             <menu_item_call.on_click
              function="Advanced.LeaveAdminStatus" />
         </menu_item_call>
+
         <menu_item_separator/>
+
         <menu_item_call
          label="Exit [APP_NAME]"
          name="Quit"
@@ -142,7 +146,9 @@
              function="SideTray.PanelPeopleTab"
              parameter="groups_panel" />
         </menu_item_call>
+
         <menu_item_separator/>
+
         <!--menu_item_call
          label="Chat"
          name="Chat">
@@ -240,7 +246,9 @@
              parameter="region_info" />
         </menu_item_call>
         </menu>
+
         <menu_item_separator/>
+
         <menu_item_call
              label="Buy This Land"
              name="Buy Land">
@@ -337,7 +345,9 @@
                control="NavBarShowParcelProperties" />
           </menu_item_check>
         </menu>
+
         <menu_item_separator/>
+
 	    <menu_item_call
 	     label="Teleport Home"
 	     name="Teleport Home"
@@ -376,7 +386,9 @@
              parameter="ShowNavbarFavoritesPanel" />
         </menu_item_check>
         <menu_item_separator/>-->
+
         <menu_item_separator/>
+
     <menu
          create_jump_keys="true"
          label="Sun"
@@ -419,7 +431,9 @@
                  function="World.EnvSettings"
                  parameter="default" />
             </menu_item_call>
+
             <menu_item_separator/>
+
             <menu_item_call
              label="Environment Editor"
              name="Environment Editor">
@@ -521,7 +535,9 @@
                 <menu_item_check.on_enable
                  function="Tools.EnableToolNotPie" />
             </menu_item_check>
+
         <menu_item_separator/>
+
         <menu_item_call
            label="Focus on Selection"
            name="Focus on Selection"
@@ -542,7 +558,9 @@
           <menu_item_call.on_enable
              function="Tools.SomethingSelectedNoHUD" />
         </menu_item_call>
+
         <menu_item_separator/>
+
         <menu
          create_jump_keys="true"
          label="Object"
@@ -644,7 +662,9 @@
                function="EditableSelected" />
           </menu_item_call>
         </menu>
+
         <menu_item_separator/>
+
         <menu
          create_jump_keys="true"
          label="Options"
@@ -667,7 +687,9 @@
 				 function="ToggleControl"
 				 parameter="DebugPermissions" />
 			</menu_item_check>
+
             <menu_item_separator/>
+
             <menu_item_check
                  label="Select Only My Objects"
                  name="Select Only My Objects">
@@ -694,7 +716,9 @@
                     <menu_item_check.on_click
                      function="Tools.SelectBySurrounding" />
             </menu_item_check>
+
           <menu_item_separator/>
+
                 <menu_item_check
                  label="Show Hidden Selection"
                  name="Show Hidden Selection">
@@ -720,7 +744,9 @@
                      function="ToggleControl"
                      parameter="ShowSelectionBeam" />
                 </menu_item_check>
+
         <menu_item_separator/>
+
                 <menu_item_check
                  label="Snap to Grid"
                  name="Snap to Grid"
@@ -828,7 +854,9 @@
              function="Floater.Show"
              parameter="hud" />
         </menu_item_call>-->
+
         <menu_item_separator/>
+
         <menu_item_call
              label="Report Abuse"
              name="Report Abuse">
@@ -842,7 +870,9 @@
                  function="ShowHelp"
                  parameter="report_bug" />
             </menu_item_call>
+
         <menu_item_separator/>
+
         <menu_item_call
          label="About [APP_NAME]"
          name="About Second Life">
@@ -893,7 +923,9 @@
            function="Floater.Show"
            parameter="window_size" />
         </menu_item_call>
+
         <menu_item_separator/>
+
         <menu_item_check
          label="Limit Select Distance"
          name="Limit Select Distance">
@@ -914,7 +946,9 @@
              function="ToggleControl"
              parameter="DisableCameraConstraints" />
         </menu_item_check>
+
         <menu_item_separator/>
+
         <menu_item_check
          label="High-res Snapshot"
          name="HighResSnapshot">
@@ -945,7 +979,9 @@
              function="ToggleControl"
              parameter="CompressSnapshotsToDisk" />
         </menu_item_check>
+
         <menu_item_separator/>
+
         <menu
          create_jump_keys="true"
          label="Performance Tools"
@@ -1058,7 +1094,9 @@
                 <menu_item_check.on_click
                  function="View.ShowHoverTips" />
             </menu_item_check>
+
             <menu_item_separator/>
+
             <menu_item_check
              label="Show Land Tooltips"
              name="Land Tips">
@@ -1365,7 +1403,9 @@
              function="ToggleControl"
              parameter="MouseSmooth" />
         </menu_item_check>
+
         <menu_item_separator/>
+
         <menu
          label="Shortcuts"
          name="Shortcuts"
@@ -1409,7 +1449,9 @@
                 <menu_item_call.on_click
                  function="View.DefaultUISize" />
             </menu_item_call>
+
             <menu_item_separator/>
+
             <menu_item_check
              label="Always Run"
              name="Always Run"
@@ -1430,7 +1472,9 @@
                 <menu_item_check.on_enable
                  function="Agent.enableFlying" />
             </menu_item_check>
+
             <menu_item_separator/>
+
             <menu_item_call
              label="Close Window"
              name="Close Window"
@@ -1449,7 +1493,9 @@
                 <menu_item_call.on_enable
                  function="File.EnableCloseAllWindows" />
             </menu_item_call>
+
             <menu_item_separator/>
+
             <menu_item_call
              label="Snapshot to Disk"
              name="Snapshot to Disk"
@@ -1458,7 +1504,9 @@
                 <menu_item_call.on_click
                  function="File.TakeSnapshotToDisk" />
             </menu_item_call>
+
             <menu_item_separator/>
+
             <menu_item_call
              label="Mouselook"
              name="Mouselook"
@@ -1495,7 +1543,9 @@
                 <menu_item_call.on_enable
                  function="View.EnableLastChatter" />
             </menu_item_call>
+
             <menu_item_separator/>
+
             <menu
              create_jump_keys="true"
              label="Select Build Tool"
@@ -1542,7 +1592,9 @@
                      parameter="land" />
                 </menu_item_call>
             </menu>
+
             <menu_item_separator/>
+
             <menu_item_call
              label="Zoom In"
              name="Zoom In"
@@ -1565,7 +1617,9 @@
                  function="View.ZoomOut" />
             </menu_item_call>
         </menu>
+
         <menu_item_separator/>
+
         <menu_item_call
          label="Show Debug Settings"
          name="Debug Settings">
@@ -1675,7 +1729,9 @@
                  function="Advanced.ToggleConsole"
                  parameter="memory view" />
             </menu_item_check>
+
             <menu_item_separator/>
+
             <menu_item_call
              label="Region Info to Debug Console"
              name="Region Info to Debug Console">
@@ -1697,7 +1753,9 @@
                  function="Advanced.DumpInfoToConsole"
                  parameter="capabilities" />
             </menu_item_call>
+
             <menu_item_separator/>
+
             <menu_item_check
              label="Camera"
              name="Camera">
@@ -1785,7 +1843,9 @@
                  function="ToggleControl"
                  parameter="DebugShowColor" />
             </menu_item_check>
+
             <menu_item_separator/>
+
             <menu_item_check
              label="Show Updates to Objects"
              name="Show Updates"
@@ -1797,7 +1857,9 @@
                  function="Advanced.ToggleShowObjectUpdates" />
             </menu_item_check>
         </menu>
+
         <menu_item_separator/>
+
         <menu
          create_jump_keys="true"
          label="Force an Error"
@@ -2091,9 +2153,12 @@
             <menu_item_check.on_enable
                  function="Advanced.EnableRenderFBO" />
            </menu_item_check>
+
+          <menu_item_separator />
+
           <menu_item_check
-                       label="Deferred Rendering"
-                       name="Deferred Rendering">
+                       label="Lighting and Shadows"
+                       name="Lighting and Shadows">
             <menu_item_check.on_check
              function="CheckControl"
              parameter="RenderDeferred" />
@@ -2104,7 +2169,31 @@
                  function="Advanced.EnableRenderDeferred" />
           </menu_item_check>
           <menu_item_check
-                   label="Global Illumination"
+                       label="   Shadows from Sun/Moon/Projectors"
+                       name="Shadows from Sun/Moon/Projectors">
+            <menu_item_check.on_check
+             function="Advanced.CheckRenderShadowOption"
+             parameter="RenderShadowDetail" />
+            <menu_item_check.on_click
+             function="Advanced.ClickRenderShadowOption"
+             parameter="RenderShadowDetail" />
+            <menu_item_check.on_enable
+                 function="Advanced.EnableRenderDeferredOptions" />
+          </menu_item_check>
+          <menu_item_check
+                   label="   SSAO and Shadow Smoothing"
+                   name="SSAO and Shadow Smoothing">
+            <menu_item_check.on_check
+             function="CheckControl"
+             parameter="RenderDeferredSSAO" />
+            <menu_item_check.on_click
+             function="ToggleControl"
+             parameter="RenderDeferredSSAO" />
+            <menu_item_check.on_enable
+                 function="Advanced.EnableRenderDeferredOptions" />
+          </menu_item_check>
+          <menu_item_check
+                   label="   Global Illumination (experimental)"
                    name="Global Illumination">
             <menu_item_check.on_check
              function="CheckControl"
@@ -2113,9 +2202,11 @@
              function="ToggleControl"
              parameter="RenderDeferredGI" />
             <menu_item_check.on_enable
-                 function="Advanced.EnableRenderDeferredGI" />
+                 function="Advanced.EnableRenderDeferredOptions" />
           </menu_item_check>
+
           <menu_item_separator />
+
           <menu_item_check
              label="Debug GL"
              name="Debug GL">
@@ -2197,7 +2288,7 @@
                parameter="AuditTexture" />
             </menu_item_check>
             <menu_item_check
-             label="Texture Atlas"
+             label="Texture Atlas (experimental)"
              name="Texture Atlas">
               <menu_item_check.on_check
                function="CheckControl"
@@ -2253,7 +2344,9 @@
                  function="ToggleControl"
                  parameter="AgentPause" />
             </menu_item_check>
+
             <menu_item_separator/>
+
             <menu_item_call
              label="Enable Message Log"
              name="Enable Message Log">
@@ -2266,7 +2359,9 @@
                 <menu_item_call.on_click
                  function="Advanced.DisableMessageLog" />
             </menu_item_call>
+
             <menu_item_separator/>
+
             <menu_item_check
              label="Velocity Interpolate Objects"
              name="Velocity Interpolate Objects">
@@ -2287,7 +2382,9 @@
                  function="ToggleControl"
                  parameter="PingInterpolate" />
             </menu_item_check>
+
             <menu_item_separator/>
+
             <menu_item_call
              label="Drop a Packet"
              name="Drop a Packet"
@@ -2475,6 +2572,7 @@
             </menu_item_check>
 
             <menu_item_separator />
+
             <menu_item_check
              label="Debug SelectMgr"
              name="Debug SelectMgr">
@@ -2820,7 +2918,9 @@
                  function="Advanced.DumpAvatarLocalTextures" />
             </menu_item_call>
         </menu>
+
         <menu_item_separator/>
+
         <menu_item_check
          label="HTTP Textures"
          name="HTTP Textures">
@@ -2857,7 +2957,9 @@
              function="ToggleControl"
              parameter="ShowConsoleWindow" />
         </menu_item_check>
+
         <menu_item_separator/>
+
         <menu_item_check
          label="Show Admin Menu"
          name="View Admin Options">
@@ -3192,7 +3294,9 @@
                      name="PublicIssueTrackerHelp_url"
                      parameter="WebLaunchPublicIssueHelp,http://wiki.secondlife.com/wiki/Issue_tracker" />
                 </menu_item_call>
+
                 <menu_item_separator/>
+
                 <menu_item_call
                  label="Bug Reporting 101"
                  name="Bug Reporing 101">
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml
index 1881f85e8c..ec6fef1a2b 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml
@@ -211,6 +211,7 @@
 			<check_box.commit_callback
 			function="Pref.VertexShaderEnable" />
 		</check_box>
+<!-- DISABLED UNTIL WE REALLY WANT TO SUPPORT THIS
     <check_box
 		control_name="RenderDeferred"
 		height="16"
@@ -272,7 +273,7 @@
         name="2"
         value="2"/>
       </combo_box>
-
+-->
       <text
   type="string"
   length="1"
-- 
cgit v1.2.3