aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJacek Antonelli2008-09-21 17:10:05 -0500
committerJacek Antonelli2008-09-21 17:10:05 -0500
commit0e0d99012554e06f5e3b96772cf5561418c99a9a (patch)
treeb55149478e947cd2c8b3d3016c08b0eed336a773
parentMerge branch 'VWR-8056-b' into menu_viewer (diff)
parentVWR-2948: Create XUI-based Advanced menu. (diff)
downloadmeta-impy-0e0d99012554e06f5e3b96772cf5561418c99a9a.zip
meta-impy-0e0d99012554e06f5e3b96772cf5561418c99a9a.tar.gz
meta-impy-0e0d99012554e06f5e3b96772cf5561418c99a9a.tar.bz2
meta-impy-0e0d99012554e06f5e3b96772cf5561418c99a9a.tar.xz
Merge branch 'VWR-2896' into menu_viewer
Conflicts: linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml
-rw-r--r--ChangeLog.txt8
-rw-r--r--linden/indra/newview/llviewermenu.cpp2266
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml943
3 files changed, 3217 insertions, 0 deletions
diff --git a/ChangeLog.txt b/ChangeLog.txt
index adb3efc..7dd2814 100644
--- a/ChangeLog.txt
+++ b/ChangeLog.txt
@@ -1,5 +1,13 @@
12008-09-19 Jacek Antonelli <jacek.antonelli@gmail.com> 12008-09-19 Jacek Antonelli <jacek.antonelli@gmail.com>
2 2
3 * linden/indra/newview/llviewermenu.cpp:
4 VWR-2947: Create event callbacks for Advanced menu functions.
5 Part of VWR-2896: Convert "Advanced" menu to XUI.
6
7 * linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml:
8 VWR-2948: Create XUI-based Advanced menu.
9 Part of VWR-2896: Convert "Advanced" menu to XUI.
10
3 * linden/indra/SConstruct: 11 * linden/indra/SConstruct:
4 New optional SConstruct flag to specify an exact path to build 12 New optional SConstruct flag to specify an exact path to build
5 directory: BUILD_DIR. For convenience until we switch to CMake. 13 directory: BUILD_DIR. For convenience until we switch to CMake.
diff --git a/linden/indra/newview/llviewermenu.cpp b/linden/indra/newview/llviewermenu.cpp
index 3e99384..ae37d96 100644
--- a/linden/indra/newview/llviewermenu.cpp
+++ b/linden/indra/newview/llviewermenu.cpp
@@ -750,10 +750,13 @@ void init_menus()
750 gLandmarkMenu = menu; 750 gLandmarkMenu = menu;
751 */ 751 */
752 752
753 // Advanced (Client) menu is XUI now! \o/
754 /*
753 menu = new LLMenuGL(CLIENT_MENU_NAME); 755 menu = new LLMenuGL(CLIENT_MENU_NAME);
754 init_client_menu(menu); 756 init_client_menu(menu);
755 gMenuBarView->appendMenu( menu ); 757 gMenuBarView->appendMenu( menu );
756 menu->updateParent(LLMenuGL::sMenuContainer); 758 menu->updateParent(LLMenuGL::sMenuContainer);
759 */
757 760
758 menu = new LLMenuGL(SERVER_MENU_NAME); 761 menu = new LLMenuGL(SERVER_MENU_NAME);
759 init_server_menu(menu); 762 init_server_menu(menu);
@@ -7720,6 +7723,2118 @@ class LLWorldDayCycle : public view_listener_t
7720 7723
7721 7724
7722 7725
7726
7727//-------------------------------------------------------------------
7728// Advanced menu
7729//-------------------------------------------------------------------
7730
7731
7732///////////////////
7733// SHOW CONSOLES //
7734///////////////////
7735
7736
7737class LLAdvancedToggleConsole : public view_listener_t
7738{
7739 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
7740 {
7741 LLString console_type = userdata.asString();
7742 if ("frame" == console_type)
7743 {
7744 toggle_visibility( (void*)gDebugView->mFrameStatView );
7745 }
7746 else if ("texture" == console_type)
7747 {
7748 toggle_visibility( (void*)gTextureView );
7749 }
7750 else if ("debug" == console_type)
7751 {
7752 toggle_visibility( (void*)((LLView*)gDebugView->mDebugConsolep) );
7753 }
7754 else if ("fast timers" == console_type)
7755 {
7756 toggle_visibility( (void*)gDebugView->mFastTimerView );
7757 }
7758 else if ("memory" == console_type)
7759 {
7760 toggle_visibility( (void*)gDebugView->mMemoryView );
7761 }
7762 return true;
7763 }
7764};
7765
7766
7767class LLAdvancedCheckConsole : public view_listener_t
7768{
7769 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
7770 {
7771 LLString console_type = userdata["data"].asString();
7772 bool new_value = false;
7773 if ("frame" == console_type)
7774 {
7775 new_value = get_visibility( (void*)gDebugView->mFrameStatView );
7776 }
7777 else if ("texture" == console_type)
7778 {
7779 new_value = get_visibility( (void*)gTextureView );
7780 }
7781 else if ("debug" == console_type)
7782 {
7783 new_value = get_visibility( (void*)((LLView*)gDebugView->mDebugConsolep) );
7784 }
7785 else if ("fast timers" == console_type)
7786 {
7787 new_value = get_visibility( (void*)gDebugView->mFastTimerView );
7788 }
7789 else if ("memory" == console_type)
7790 {
7791 new_value = get_visibility( (void*)gDebugView->mMemoryView );
7792 }
7793
7794 LLString control_name = userdata["control"].asString();
7795 gMenuHolder->findControl(control_name)->setValue(new_value);
7796 return true;
7797 }
7798};
7799
7800
7801
7802//////////////////////////
7803// DUMP INFO TO CONSOLE //
7804//////////////////////////
7805
7806
7807class LLAdvancedDumpInfoToConsole : public view_listener_t
7808{
7809 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
7810 {
7811 LLString info_type = userdata.asString();
7812 if ("region" == info_type)
7813 {
7814 handle_region_dump_settings(NULL);
7815 }
7816 else if ("group" == info_type)
7817 {
7818 handle_dump_group_info(NULL);
7819 }
7820 else if ("capabilities" == info_type)
7821 {
7822 handle_dump_capabilities_info(NULL);
7823 }
7824 return true;
7825 }
7826};
7827
7828
7829
7830///////////////////////////////
7831// RELOAD SETTINGS OVERRIDES //
7832///////////////////////////////
7833
7834
7835class LLAdvancedReloadSettingsOverrides : public view_listener_t
7836{
7837 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
7838 {
7839 reload_personal_settings_overrides(NULL);
7840 return true;
7841 }
7842};
7843
7844
7845
7846//////////////
7847// HUD INFO //
7848//////////////
7849
7850
7851class LLAdvancedToggleHUDInfo : public view_listener_t
7852{
7853 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
7854 {
7855 LLString info_type = userdata.asString();
7856 if ("velocity" == info_type)
7857 {
7858 toggle_visibility( (void*)gVelocityBar );
7859 }
7860 else if ("camera" == info_type)
7861 {
7862 gDisplayCameraPos = !(gDisplayCameraPos);
7863 }
7864 else if ("wind" == info_type)
7865 {
7866 gDisplayWindInfo = !(gDisplayWindInfo);
7867 }
7868 else if ("fov" == info_type)
7869 {
7870 gDisplayFOV = !(gDisplayFOV);
7871 }
7872 return true;
7873 }
7874};
7875
7876class LLAdvancedCheckHUDInfo : public view_listener_t
7877{
7878 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
7879 {
7880 LLString info_type = userdata["data"].asString();
7881 bool new_value = false;
7882 if ("velocity" == info_type)
7883 {
7884 new_value = get_visibility( (void*)gVelocityBar );
7885 }
7886 else if ("camera" == info_type)
7887 {
7888 new_value = gDisplayCameraPos;
7889 }
7890 else if ("wind" == info_type)
7891 {
7892 new_value = gDisplayWindInfo;
7893 }
7894 else if ("fov" == info_type)
7895 {
7896 new_value = gDisplayFOV;
7897 }
7898
7899 LLString control_name = userdata["control"].asString();
7900 gMenuHolder->findControl(control_name)->setValue(new_value);
7901
7902 return true;
7903 }
7904};
7905
7906
7907
7908///////////////////////
7909// CLEAR GROUP CACHE //
7910///////////////////////
7911
7912
7913class LLAdvancedClearGroupCache : public view_listener_t
7914{
7915 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
7916 {
7917 LLGroupMgr::debugClearAllGroups(NULL);
7918 return true;
7919 }
7920};
7921
7922
7923
7924
7925/////////////////
7926// RENDER TYPE //
7927/////////////////
7928
7929
7930U32 render_type_from_string(LLString render_type)
7931{
7932 if ("simple" == render_type)
7933 {
7934 return LLPipeline::RENDER_TYPE_SIMPLE;
7935 }
7936 else if ("alpha" == render_type)
7937 {
7938 return LLPipeline::RENDER_TYPE_ALPHA;
7939 }
7940 else if ("tree" == render_type)
7941 {
7942 return LLPipeline::RENDER_TYPE_TREE;
7943 }
7944 else if ("avatar" == render_type)
7945 {
7946 return LLPipeline::RENDER_TYPE_AVATAR;
7947 }
7948 else if ("terrain" == render_type)
7949 {
7950 return LLPipeline::RENDER_TYPE_TERRAIN;
7951 }
7952 else if ("sky" == render_type)
7953 {
7954 return LLPipeline::RENDER_TYPE_SKY;
7955 }
7956 else if ("water" == render_type)
7957 {
7958 return LLPipeline::RENDER_TYPE_WATER;
7959 }
7960 else if ("ground" == render_type)
7961 {
7962 return LLPipeline::RENDER_TYPE_GROUND;
7963 }
7964 else if ("volume" == render_type)
7965 {
7966 return LLPipeline::RENDER_TYPE_VOLUME;
7967 }
7968 else if ("grass" == render_type)
7969 {
7970 return LLPipeline::RENDER_TYPE_GRASS;
7971 }
7972 else if ("clouds" == render_type)
7973 {
7974 return LLPipeline::RENDER_TYPE_CLOUDS;
7975 }
7976 else if ("particles" == render_type)
7977 {
7978 return LLPipeline::RENDER_TYPE_PARTICLES;
7979 }
7980 else if ("bump" == render_type)
7981 {
7982 return LLPipeline::RENDER_TYPE_BUMP;
7983 }
7984 else
7985 {
7986 return 0;
7987 }
7988}
7989
7990
7991class LLAdvancedToggleRenderType : public view_listener_t
7992{
7993 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
7994 {
7995 U32 render_type = render_type_from_string( userdata.asString() );
7996 if ( render_type != 0 )
7997 {
7998 LLPipeline::toggleRenderTypeControl( (void*)render_type );
7999 }
8000 return true;
8001 }
8002};
8003
8004
8005class LLAdvancedCheckRenderType : public view_listener_t
8006{
8007 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8008 {
8009 U32 render_type = render_type_from_string( userdata["data"].asString() );
8010 bool new_value = false;
8011
8012 if ( render_type != 0 )
8013 {
8014 new_value = LLPipeline::hasRenderTypeControl( (void*)render_type );
8015 }
8016
8017 LLString control_name = userdata["control"].asString();
8018 gMenuHolder->findControl(control_name)->setValue(new_value);
8019 return true;
8020 }
8021};
8022
8023
8024
8025/////////////
8026// FEATURE //
8027/////////////
8028
8029
8030U32 feature_from_string(LLString feature)
8031{
8032 if ("ui" == feature)
8033 {
8034 return LLPipeline::RENDER_DEBUG_FEATURE_UI;
8035 }
8036 else if ("selected" == feature)
8037 {
8038 return LLPipeline::RENDER_DEBUG_FEATURE_SELECTED;
8039 }
8040 else if ("highlighted" == feature)
8041 {
8042 return LLPipeline::RENDER_DEBUG_FEATURE_HIGHLIGHTED;
8043 }
8044 else if ("dynamic textures" == feature)
8045 {
8046 return LLPipeline::RENDER_DEBUG_FEATURE_DYNAMIC_TEXTURES;
8047 }
8048 else if ("foot shadows" == feature)
8049 {
8050 return LLPipeline::RENDER_DEBUG_FEATURE_FOOT_SHADOWS;
8051 }
8052 else if ("fog" == feature)
8053 {
8054 return LLPipeline::RENDER_DEBUG_FEATURE_FOG;
8055 }
8056 else if ("palette" == feature)
8057 {
8058 return LLPipeline::RENDER_DEBUG_FEATURE_PALETTE;
8059 }
8060 else if ("fr info" == feature)
8061 {
8062 return LLPipeline::RENDER_DEBUG_FEATURE_FR_INFO;
8063 }
8064 else if ("flexible" == feature)
8065 {
8066 return LLPipeline::RENDER_DEBUG_FEATURE_FLEXIBLE;
8067 }
8068 else
8069 {
8070 return 0;
8071 }
8072};
8073
8074
8075class LLAdvancedToggleFeature : public view_listener_t
8076{
8077 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8078 {
8079 U32 feature = feature_from_string( userdata.asString() );
8080
8081 if ( feature != 0 )
8082 {
8083 LLPipeline::toggleRenderDebugFeature( (void*)feature );
8084 }
8085
8086 return true;
8087 }
8088};
8089
8090
8091class LLAdvancedCheckFeature : public view_listener_t
8092{
8093 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8094 {
8095 U32 feature = feature_from_string( userdata["data"].asString() );
8096 bool new_value = false;
8097
8098 if ( feature != 0 )
8099 {
8100 new_value = LLPipeline::toggleRenderDebugFeatureControl( (void*)feature );
8101 }
8102
8103 LLString control_name = userdata["control"].asString();
8104 gMenuHolder->findControl(control_name)->setValue(new_value);
8105 return true;
8106 }
8107};
8108
8109
8110
8111//////////////////
8112// INFO DISPLAY //
8113//////////////////
8114
8115
8116U32 info_display_from_string(LLString info_display)
8117{
8118 if ("verify" == info_display)
8119 {
8120 return LLPipeline::RENDER_DEBUG_VERIFY;
8121 }
8122 else if ("bboxes" == info_display)
8123 {
8124 return LLPipeline::RENDER_DEBUG_BBOXES;
8125 }
8126 else if ("points" == info_display)
8127 {
8128 return LLPipeline::RENDER_DEBUG_POINTS;
8129 }
8130 else if ("octree" == info_display)
8131 {
8132 return LLPipeline::RENDER_DEBUG_OCTREE;
8133 }
8134 else if ("occlusion" == info_display)
8135 {
8136 return LLPipeline::RENDER_DEBUG_OCCLUSION;
8137 }
8138 else if ("render batches" == info_display)
8139 {
8140 return LLPipeline::RENDER_DEBUG_BATCH_SIZE;
8141 }
8142 else if ("texture anim" == info_display)
8143 {
8144 return LLPipeline::RENDER_DEBUG_TEXTURE_ANIM;
8145 }
8146 else if ("texture priority" == info_display)
8147 {
8148 return LLPipeline::RENDER_DEBUG_TEXTURE_PRIORITY;
8149 }
8150 else if ("shame" == info_display)
8151 {
8152 return LLPipeline::RENDER_DEBUG_SHAME;
8153 }
8154 else if ("texture area" == info_display)
8155 {
8156 return LLPipeline::RENDER_DEBUG_TEXTURE_AREA;
8157 }
8158 else if ("face area" == info_display)
8159 {
8160 return LLPipeline::RENDER_DEBUG_FACE_AREA;
8161 }
8162 else if ("picking" == info_display)
8163 {
8164 return LLPipeline::RENDER_DEBUG_PICKING;
8165 }
8166 else if ("lights" == info_display)
8167 {
8168 return LLPipeline::RENDER_DEBUG_LIGHTS;
8169 }
8170 else if ("particles" == info_display)
8171 {
8172 return LLPipeline::RENDER_DEBUG_PARTICLES;
8173 }
8174 else if ("composition" == info_display)
8175 {
8176 return LLPipeline::RENDER_DEBUG_COMPOSITION;
8177 }
8178 else if ("glow" == info_display)
8179 {
8180 return LLPipeline::RENDER_DEBUG_GLOW;
8181 }
8182 else
8183 {
8184 return 0;
8185 }
8186};
8187
8188
8189class LLAdvancedToggleInfoDisplay : public view_listener_t
8190{
8191 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8192 {
8193 U32 info_display = info_display_from_string( userdata.asString() );
8194
8195 if ( info_display != 0 )
8196 {
8197 LLPipeline::toggleRenderDebug( (void*)info_display );
8198 }
8199
8200 return true;
8201 }
8202};
8203
8204
8205class LLAdvancedCheckInfoDisplay : public view_listener_t
8206{
8207 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8208 {
8209 U32 info_display = info_display_from_string( userdata["data"].asString() );
8210 bool new_value = false;
8211
8212 if ( info_display != 0 )
8213 {
8214 new_value = LLPipeline::toggleRenderDebugControl( (void*)info_display );
8215 }
8216
8217 LLString control_name = userdata["control"].asString();
8218 gMenuHolder->findControl(control_name)->setValue(new_value);
8219 return true;
8220 }
8221};
8222
8223
8224
8225///////////////////
8226// SELECT BUFFER //
8227///////////////////
8228
8229
8230class LLAdvancedToggleSelectBuffer : public view_listener_t
8231{
8232 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8233 {
8234 gDebugSelect = !(gDebugSelect);
8235 return true;
8236 }
8237};
8238
8239class LLAdvancedCheckSelectBuffer : public view_listener_t
8240{
8241 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8242 {
8243 bool new_value = gDebugSelect;
8244 LLString control_name = userdata["control"].asString();
8245 gMenuHolder->findControl(control_name)->setValue(new_value);
8246 return true;
8247 }
8248};
8249
8250
8251
8252/////////////////////////
8253// RANDOMIZE FRAMERATE //
8254/////////////////////////
8255
8256
8257class LLAdvancedToggleRandomizeFramerate : public view_listener_t
8258{
8259 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8260 {
8261 gRandomizeFramerate = !(gRandomizeFramerate);
8262 return true;
8263 }
8264};
8265
8266class LLAdvancedCheckRandomizeFramerate : public view_listener_t
8267{
8268 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8269 {
8270 bool new_value = gRandomizeFramerate;
8271 LLString control_name = userdata["control"].asString();
8272 gMenuHolder->findControl(control_name)->setValue(new_value);
8273 return true;
8274 }
8275};
8276
8277
8278
8279/////////////////////////
8280// PERIODIC SLOW FRAME //
8281/////////////////////////
8282
8283
8284class LLAdvancedTogglePeriodicSlowFrame : public view_listener_t
8285{
8286 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8287 {
8288 gPeriodicSlowFrame = !(gPeriodicSlowFrame);
8289 return true;
8290 }
8291};
8292
8293class LLAdvancedCheckPeriodicSlowFrame : public view_listener_t
8294{
8295 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8296 {
8297 bool new_value = gPeriodicSlowFrame;
8298 LLString control_name = userdata["control"].asString();
8299 gMenuHolder->findControl(control_name)->setValue(new_value);
8300 return true;
8301 }
8302};
8303
8304
8305
8306////////////////
8307// FRAME TEST //
8308////////////////
8309
8310
8311class LLAdvancedToggleFrameTest : public view_listener_t
8312{
8313 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8314 {
8315 LLPipeline::sRenderFrameTest = !(LLPipeline::sRenderFrameTest);
8316 return true;
8317 }
8318};
8319
8320class LLAdvancedCheckFrameTest : public view_listener_t
8321{
8322 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8323 {
8324 bool new_value = LLPipeline::sRenderFrameTest;
8325 LLString control_name = userdata["control"].asString();
8326 gMenuHolder->findControl(control_name)->setValue(new_value);
8327 return true;
8328 }
8329};
8330
8331
8332
8333///////////////////////////
8334// HIDE SELECTED OBJECTS //
8335///////////////////////////
8336
8337
8338class LLAdvancedToggleHideSelectedObjects : public view_listener_t
8339{
8340 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8341 {
8342 gHideSelectedObjects = !(gHideSelectedObjects);
8343 return true;
8344 }
8345};
8346
8347class LLAdvancedCheckHideSelectedObjects : public view_listener_t
8348{
8349 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8350 {
8351 bool new_value = gHideSelectedObjects;
8352 LLString control_name = userdata["control"].asString();
8353 gMenuHolder->findControl(control_name)->setValue(new_value);
8354 return true;
8355 }
8356};
8357
8358
8359
8360///////////////////////////
8361// SELECTED TEXTURE INFO //
8362///////////////////////////
8363
8364
8365class LLAdvancedSelectedTextureInfo : public view_listener_t
8366{
8367 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8368 {
8369 handle_selected_texture_info(NULL);
8370 return true;
8371 }
8372};
8373
8374
8375
8376//////////////////////
8377// TOGGLE WIREFRAME //
8378//////////////////////
8379
8380
8381class LLAdvancedToggleWireframe : public view_listener_t
8382{
8383 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8384 {
8385 gUseWireframe = !(gUseWireframe);
8386 return true;
8387 }
8388};
8389
8390class LLAdvancedCheckWireframe : public view_listener_t
8391{
8392 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8393 {
8394 bool new_value = gUseWireframe;
8395 LLString control_name = userdata["control"].asString();
8396 gMenuHolder->findControl(control_name)->setValue(new_value);
8397 return true;
8398 }
8399};
8400
8401
8402
8403//////////////////////
8404// DISABLE TEXTURES //
8405//////////////////////
8406
8407
8408class LLAdvancedToggleDisableTextures : public view_listener_t
8409{
8410 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8411 {
8412 menu_toggle_variable((void*)&LLViewerImage::sDontLoadVolumeTextures);
8413 return true;
8414 }
8415};
8416
8417class LLAdvancedCheckDisableTextures : public view_listener_t
8418{
8419 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8420 {
8421 bool new_value = menu_check_variable((void*)&LLViewerImage::sDontLoadVolumeTextures);
8422 LLString control_name = userdata["control"].asString();
8423 gMenuHolder->findControl(control_name)->setValue(new_value);
8424 return true;
8425 }
8426};
8427
8428
8429
8430//////////////////////////
8431// DUMP SCRIPTED CAMERA //
8432//////////////////////////
8433
8434
8435class LLAdvancedDumpScriptedCamera : public view_listener_t
8436{
8437 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8438 {
8439 handle_dump_followcam(NULL);
8440 return true;
8441 }
8442};
8443
8444
8445
8446//////////////////////////////
8447// DUMP REGION OBJECT CACHE //
8448//////////////////////////////
8449
8450
8451class LLAdvancedDumpRegionObjectCache : public view_listener_t
8452{
8453 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8454 {
8455 handle_dump_region_object_cache(NULL);
8456 return true;
8457 }
8458};
8459
8460
8461
8462////////////////
8463// SLURL TEST //
8464////////////////
8465
8466
8467class LLAdvancedSLURLTest : public view_listener_t
8468{
8469 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8470 {
8471 handle_slurl_test(NULL);
8472 return true;
8473 }
8474};
8475
8476
8477
8478////////////////////////
8479// TOGGLE EDITABLE UI //
8480////////////////////////
8481
8482
8483class LLAdvancedToggleEditableUI : public view_listener_t
8484{
8485 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8486 {
8487 edit_ui(NULL);
8488 return true;
8489 }
8490};
8491
8492// *TODO: Add corresponding "Check" for EditableUI, so it can
8493// become a menu_item_check. Need to add check_edit_ui(void*)
8494// or functional equivalent to do that.
8495
8496
8497
8498//////////////////////
8499// ASYNC KEYSTROKES //
8500//////////////////////
8501
8502
8503class LLAdvancedToggleAsyncKeystrokes : public view_listener_t
8504{
8505 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8506 {
8507 gHandleKeysAsync = !(gHandleKeysAsync);
8508 return true;
8509 }
8510};
8511
8512class LLAdvancedCheckAsyncKeystrokes : public view_listener_t
8513{
8514 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8515 {
8516 bool new_value = gHandleKeysAsync;
8517 LLString control_name = userdata["control"].asString();
8518 gMenuHolder->findControl(control_name)->setValue(new_value);
8519 return true;
8520 }
8521};
8522
8523
8524
8525/////////////////////
8526// DUMP SELECT MGR //
8527/////////////////////
8528
8529
8530class LLAdvancedDumpSelectMgr : public view_listener_t
8531{
8532 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8533 {
8534 dump_select_mgr(NULL);
8535 return true;
8536 }
8537};
8538
8539
8540
8541////////////////////
8542// DUMP INVENTORY //
8543////////////////////
8544
8545
8546class LLAdvancedDumpInventory : public view_listener_t
8547{
8548 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8549 {
8550 dump_inventory(NULL);
8551 return true;
8552 }
8553};
8554
8555
8556
8557///////////////////////
8558// DUMP FOCUS HOLDER //
8559///////////////////////
8560
8561
8562class LLAdvancedDumpFocusHolder : public view_listener_t
8563{
8564 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8565 {
8566 handle_dump_focus(NULL);
8567 return true;
8568 }
8569};
8570
8571
8572
8573////////////////////////////////
8574// PRINT SELECTED OBJECT INFO //
8575////////////////////////////////
8576
8577
8578class LLAdvancedPrintSelectedObjectInfo : public view_listener_t
8579{
8580 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8581 {
8582 print_object_info(NULL);
8583 return true;
8584 }
8585};
8586
8587
8588
8589//////////////////////
8590// PRINT AGENT INFO //
8591//////////////////////
8592
8593
8594class LLAdvancedPrintAgentInfo : public view_listener_t
8595{
8596 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8597 {
8598 print_agent_nvpairs(NULL);
8599 return true;
8600 }
8601};
8602
8603
8604
8605////////////////////////////////
8606// PRINT TEXTURE MEMORY STATS //
8607////////////////////////////////
8608
8609
8610class LLAdvancedPrintTextureMemoryStats : public view_listener_t
8611{
8612 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8613 {
8614 output_statistics(NULL);
8615 return true;
8616 }
8617};
8618
8619
8620
8621//////////////////////
8622// DEBUG SELECT MGR //
8623//////////////////////
8624
8625
8626class LLAdvancedToggleDebugSelectMgr : public view_listener_t
8627{
8628 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8629 {
8630 gDebugSelectMgr = !(gDebugSelectMgr);
8631 return true;
8632 }
8633};
8634
8635class LLAdvancedCheckDebugSelectMgr : public view_listener_t
8636{
8637 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8638 {
8639 bool new_value = gDebugSelectMgr;
8640 LLString control_name = userdata["control"].asString();
8641 gMenuHolder->findControl(control_name)->setValue(new_value);
8642 return true;
8643 }
8644};
8645
8646
8647
8648//////////////////
8649// DEBUG CLICKS //
8650//////////////////
8651
8652
8653class LLAdvancedToggleDebugClicks : public view_listener_t
8654{
8655 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8656 {
8657 gDebugClicks = !(gDebugClicks);
8658 return true;
8659 }
8660};
8661
8662class LLAdvancedCheckDebugClicks : public view_listener_t
8663{
8664 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8665 {
8666 bool new_value = gDebugClicks;
8667 LLString control_name = userdata["control"].asString();
8668 gMenuHolder->findControl(control_name)->setValue(new_value);
8669 return true;
8670 }
8671};
8672
8673
8674
8675/////////////////
8676// DEBUG VIEWS //
8677/////////////////
8678
8679
8680class LLAdvancedToggleDebugViews : public view_listener_t
8681{
8682 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8683 {
8684 LLView::sDebugRects = !(LLView::sDebugRects);
8685 return true;
8686 }
8687};
8688
8689class LLAdvancedCheckDebugViews : public view_listener_t
8690{
8691 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8692 {
8693 bool new_value = LLView::sDebugRects;
8694 LLString control_name = userdata["control"].asString();
8695 gMenuHolder->findControl(control_name)->setValue(new_value);
8696 return true;
8697 }
8698};
8699
8700
8701
8702///////////////////////
8703// XUI NAME TOOLTIPS //
8704///////////////////////
8705
8706
8707class LLAdvancedToggleXUINameTooltips : public view_listener_t
8708{
8709 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8710 {
8711 toggle_show_xui_names(NULL);
8712 return true;
8713 }
8714};
8715
8716class LLAdvancedCheckXUINameTooltips : public view_listener_t
8717{
8718 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8719 {
8720 bool new_value = check_show_xui_names(NULL);
8721 LLString control_name = userdata["control"].asString();
8722 gMenuHolder->findControl(control_name)->setValue(new_value);
8723 return true;
8724 }
8725};
8726
8727
8728
8729////////////////////////
8730// DEBUG MOUSE EVENTS //
8731////////////////////////
8732
8733
8734class LLAdvancedToggleDebugMouseEvents : public view_listener_t
8735{
8736 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8737 {
8738 LLView::sDebugMouseHandling = !(LLView::sDebugMouseHandling);
8739 return true;
8740 }
8741};
8742
8743class LLAdvancedCheckDebugMouseEvents : public view_listener_t
8744{
8745 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8746 {
8747 bool new_value = LLView::sDebugMouseHandling;
8748 LLString control_name = userdata["control"].asString();
8749 gMenuHolder->findControl(control_name)->setValue(new_value);
8750 return true;
8751 }
8752};
8753
8754
8755
8756////////////////
8757// DEBUG KEYS //
8758////////////////
8759
8760
8761class LLAdvancedToggleDebugKeys : public view_listener_t
8762{
8763 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8764 {
8765 LLView::sDebugKeys = !(LLView::sDebugKeys);
8766 return true;
8767 }
8768};
8769
8770class LLAdvancedCheckDebugKeys : public view_listener_t
8771{
8772 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8773 {
8774 bool new_value = LLView::sDebugKeys;
8775 LLString control_name = userdata["control"].asString();
8776 gMenuHolder->findControl(control_name)->setValue(new_value);
8777 return true;
8778 }
8779};
8780
8781
8782
8783///////////////////////
8784// DEBUG WINDOW PROC //
8785///////////////////////
8786
8787
8788class LLAdvancedToggleDebugWindowProc : public view_listener_t
8789{
8790 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8791 {
8792 gDebugWindowProc = !(gDebugWindowProc);
8793 return true;
8794 }
8795};
8796
8797class LLAdvancedCheckDebugWindowProc : public view_listener_t
8798{
8799 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8800 {
8801 bool new_value = gDebugWindowProc;
8802 LLString control_name = userdata["control"].asString();
8803 gMenuHolder->findControl(control_name)->setValue(new_value);
8804 return true;
8805 }
8806};
8807
8808
8809
8810////////////////////////////
8811// DEBUG TEXT EDITOR TIPS //
8812////////////////////////////
8813
8814
8815class LLAdvancedToggleDebugTextEditorTips : public view_listener_t
8816{
8817 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8818 {
8819 gDebugTextEditorTips = !(gDebugTextEditorTips);
8820 return true;
8821 }
8822};
8823
8824class LLAdvancedCheckDebugTextEditorTips : public view_listener_t
8825{
8826 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8827 {
8828 bool new_value = gDebugTextEditorTips;
8829 LLString control_name = userdata["control"].asString();
8830 gMenuHolder->findControl(control_name)->setValue(new_value);
8831 return true;
8832 }
8833};
8834
8835
8836
8837///////////////////////
8838// SHOW FLOATER TEST //
8839///////////////////////
8840
8841
8842class LLAdvancedShowFloaterTest : public view_listener_t
8843{
8844 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8845 {
8846 LLFloaterTest::show(NULL);
8847 return true;
8848 }
8849};
8850
8851
8852
8853/////////////////////////
8854// EXPORT MENUS TO XML //
8855/////////////////////////
8856
8857
8858class LLAdvancedExportMenusToXML : public view_listener_t
8859{
8860 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8861 {
8862 handle_export_menus_to_xml(NULL);
8863 return true;
8864 }
8865};
8866
8867
8868
8869/////////////
8870// EDIT UI //
8871/////////////
8872
8873
8874class LLAdvancedEditUI : public view_listener_t
8875{
8876 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8877 {
8878 LLFloaterEditUI::show(NULL);
8879 return true;
8880 }
8881};
8882
8883
8884
8885//////////////////////
8886// LOAD UI FROM XML //
8887//////////////////////
8888
8889
8890class LLAdvancedLoadUIFromXML : public view_listener_t
8891{
8892 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8893 {
8894 handle_load_from_xml(NULL);
8895 return true;
8896 }
8897};
8898
8899
8900
8901////////////////////
8902// SAVE UI TO XML //
8903////////////////////
8904
8905
8906class LLAdvancedSaveUIToXML : public view_listener_t
8907{
8908 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8909 {
8910 handle_save_to_xml(NULL);
8911 return true;
8912 }
8913};
8914
8915
8916
8917///////////////
8918// XUI NAMES //
8919///////////////
8920
8921
8922class LLAdvancedToggleXUINames : public view_listener_t
8923{
8924 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8925 {
8926 toggle_show_xui_names(NULL);
8927 return true;
8928 }
8929};
8930
8931class LLAdvancedCheckXUINames : public view_listener_t
8932{
8933 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8934 {
8935 bool new_value = check_show_xui_names(NULL);
8936 LLString control_name = userdata["control"].asString();
8937 gMenuHolder->findControl(control_name)->setValue(new_value);
8938 return true;
8939 }
8940};
8941
8942
8943
8944////////////////////////
8945// GRAB BAKED TEXTURE //
8946////////////////////////
8947
8948
8949class LLAdvancedGrabBakedTexture : public view_listener_t
8950{
8951 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8952 {
8953 LLString texture_type = userdata.asString();
8954 if ("eyes" == texture_type)
8955 {
8956 handle_grab_texture( (void*)LLVOAvatar::TEX_EYES_BAKED );
8957 }
8958 else if ("head" == texture_type)
8959 {
8960 handle_grab_texture( (void*)LLVOAvatar::TEX_HEAD_BAKED );
8961 }
8962 else if ("upper" == texture_type)
8963 {
8964 handle_grab_texture( (void*)LLVOAvatar::TEX_UPPER_BAKED );
8965 }
8966 else if ("lower" == texture_type)
8967 {
8968 handle_grab_texture( (void*)LLVOAvatar::TEX_SKIRT_BAKED );
8969 }
8970 else if ("skirt" == texture_type)
8971 {
8972 handle_grab_texture( (void*)LLVOAvatar::TEX_SKIRT_BAKED );
8973 }
8974
8975 return true;
8976 }
8977};
8978
8979class LLAdvancedEnableGrabBakedTexture : public view_listener_t
8980{
8981 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
8982 {
8983 LLString texture_type = userdata["data"].asString();
8984 bool new_value = false;
8985
8986 if ("iris" == texture_type)
8987 {
8988 new_value = enable_grab_texture( (void*)LLVOAvatar::TEX_EYES_BAKED );
8989 }
8990 else if ("head" == texture_type)
8991 {
8992 new_value = enable_grab_texture( (void*)LLVOAvatar::TEX_HEAD_BAKED );
8993 }
8994 else if ("upper" == texture_type)
8995 {
8996 new_value = enable_grab_texture( (void*)LLVOAvatar::TEX_UPPER_BAKED );
8997 }
8998 else if ("lower" == texture_type)
8999 {
9000 new_value = enable_grab_texture( (void*)LLVOAvatar::TEX_LOWER_BAKED );
9001 }
9002 else if ("skirt" == texture_type)
9003 {
9004 new_value = enable_grab_texture( (void*)LLVOAvatar::TEX_SKIRT_BAKED );
9005 }
9006
9007 LLString control_name = userdata["control"].asString();
9008 gMenuHolder->findControl(control_name)->setValue(new_value);
9009 return true;
9010 }
9011};
9012
9013
9014
9015//////////////////////
9016// ALLOW IDLE / AFK //
9017//////////////////////
9018
9019
9020class LLAdvancedToggleAllowIdleAFK : public view_listener_t
9021{
9022 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9023 {
9024 gAllowIdleAFK = !(gAllowIdleAFK);
9025 return true;
9026 }
9027};
9028
9029class LLAdvancedCheckAllowIdleAFK : public view_listener_t
9030{
9031 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9032 {
9033 bool new_value = gAllowIdleAFK;
9034 LLString control_name = userdata["control"].asString();
9035 gMenuHolder->findControl(control_name)->setValue(new_value);
9036 return true;
9037 }
9038};
9039
9040
9041
9042///////////////////////
9043// APPEARANCE TO XML //
9044///////////////////////
9045
9046
9047class LLAdvancedAppearanceToXML : public view_listener_t
9048{
9049 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9050 {
9051 LLVOAvatar::dumpArchetypeXML(NULL);
9052 return true;
9053 }
9054};
9055
9056
9057
9058///////////////////////////////
9059// TOGGLE CHARACTER GEOMETRY //
9060///////////////////////////////
9061
9062
9063class LLAdvancedToggleCharacterGeometry : public view_listener_t
9064{
9065 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9066 {
9067 handle_god_request_avatar_geometry(NULL);
9068 return true;
9069 }
9070};
9071
9072class LLAdvancedEnableCharacterGeometry : public view_listener_t
9073{
9074 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9075 {
9076 enable_god_customer_service(NULL);
9077 return true;
9078 }
9079};
9080
9081
9082
9083/////////////////////////////
9084// TEST MALE / TEST FEMALE //
9085/////////////////////////////
9086
9087
9088class LLAdvancedTestMale : public view_listener_t
9089{
9090 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9091 {
9092 handle_test_male(NULL);
9093 return true;
9094 }
9095};
9096
9097
9098class LLAdvancedTestFemale : public view_listener_t
9099{
9100 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9101 {
9102 handle_test_female(NULL);
9103 return true;
9104 }
9105};
9106
9107
9108
9109///////////////
9110// TOGGLE PG //
9111///////////////
9112
9113
9114class LLAdvancedTogglePG : public view_listener_t
9115{
9116 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9117 {
9118 handle_toggle_pg(NULL);
9119 return true;
9120 }
9121};
9122
9123
9124
9125/////////////////////////
9126// ALLOW SELECT AVATAR //
9127/////////////////////////
9128
9129
9130class LLAdvancedToggleAllowSelectAvatar : public view_listener_t
9131{
9132 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9133 {
9134 gAllowSelectAvatar = !(gAllowSelectAvatar);
9135 return true;
9136 }
9137};
9138
9139class LLAdvancedCheckAllowSelectAvatar : public view_listener_t
9140{
9141 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9142 {
9143 bool new_value = gAllowSelectAvatar;
9144 LLString control_name = userdata["control"].asString();
9145 gMenuHolder->findControl(control_name)->setValue(new_value);
9146 return true;
9147 }
9148};
9149
9150
9151
9152////////////////////////////
9153// ALLOW TAP-TAP-HOLD RUN //
9154////////////////////////////
9155
9156
9157class LLAdvancedToggleAllowTapTapHoldRun : public view_listener_t
9158{
9159 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9160 {
9161 gAllowTapTapHoldRun = !(gAllowTapTapHoldRun);
9162 return true;
9163 }
9164};
9165
9166class LLAdvancedCheckAllowTapTapHoldRun : public view_listener_t
9167{
9168 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9169 {
9170 bool new_value = gAllowTapTapHoldRun;
9171 LLString control_name = userdata["control"].asString();
9172 gMenuHolder->findControl(control_name)->setValue(new_value);
9173 return true;
9174 }
9175};
9176
9177
9178
9179/////////////////////////////
9180// FORCE PARAMS TO DEFAULT //
9181/////////////////////////////
9182
9183
9184class LLAdvancedForceParamsToDefault : public view_listener_t
9185{
9186 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9187 {
9188 LLAgent::clearVisualParams(NULL);
9189 return true;
9190 }
9191};
9192
9193
9194
9195//////////////////////////
9196// RELOAD VERTEX SHADER //
9197//////////////////////////
9198
9199
9200class LLAdvancedReloadVertexShader : public view_listener_t
9201{
9202 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9203 {
9204 reload_vertex_shader(NULL);
9205 return true;
9206 }
9207};
9208
9209
9210
9211////////////////////
9212// ANIMATION INFO //
9213////////////////////
9214
9215
9216class LLAdvancedToggleAnimationInfo : public view_listener_t
9217{
9218 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9219 {
9220 LLVOAvatar::sShowAnimationDebug = !(LLVOAvatar::sShowAnimationDebug);
9221 return true;
9222 }
9223};
9224
9225class LLAdvancedCheckAnimationInfo : public view_listener_t
9226{
9227 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9228 {
9229 bool new_value = LLVOAvatar::sShowAnimationDebug;
9230 LLString control_name = userdata["control"].asString();
9231 gMenuHolder->findControl(control_name)->setValue(new_value);
9232 return true;
9233 }
9234};
9235
9236
9237
9238////////////////////////////
9239// SLOW MOTION ANIMATIONS //
9240////////////////////////////
9241
9242
9243class LLAdvancedToggleSlowMotionAnimations : public view_listener_t
9244{
9245 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9246 {
9247 slow_mo_animations(NULL);
9248 return true;
9249 }
9250};
9251
9252// *TODO: Add a corresponding "Check" event for SlowMotionAnimations,
9253// so that it can become a menu_item_check with the "X" indicator.
9254// See indra/newview/skins/xui/en_us/menu_viewer.xml
9255
9256
9257
9258//////////////////
9259// SHOW LOOK AT //
9260//////////////////
9261
9262
9263class LLAdvancedToggleShowLookAt : public view_listener_t
9264{
9265 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9266 {
9267 LLHUDEffectLookAt::sDebugLookAt = !(LLHUDEffectLookAt::sDebugLookAt);
9268 return true;
9269 }
9270};
9271
9272class LLAdvancedCheckShowLookAt : public view_listener_t
9273{
9274 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9275 {
9276 bool new_value = LLHUDEffectLookAt::sDebugLookAt;
9277 LLString control_name = userdata["control"].asString();
9278 gMenuHolder->findControl(control_name)->setValue(new_value);
9279 return true;
9280 }
9281};
9282
9283
9284
9285///////////////////
9286// SHOW POINT AT //
9287///////////////////
9288
9289
9290class LLAdvancedToggleShowPointAt : public view_listener_t
9291{
9292 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9293 {
9294 LLHUDEffectPointAt::sDebugPointAt = !(LLHUDEffectPointAt::sDebugPointAt);
9295 return true;
9296 }
9297};
9298
9299class LLAdvancedCheckShowPointAt : public view_listener_t
9300{
9301 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9302 {
9303 bool new_value = LLHUDEffectPointAt::sDebugPointAt;
9304 LLString control_name = userdata["control"].asString();
9305 gMenuHolder->findControl(control_name)->setValue(new_value);
9306 return true;
9307 }
9308};
9309
9310
9311
9312/////////////////////////
9313// DEBUG JOINT UPDATES //
9314/////////////////////////
9315
9316
9317class LLAdvancedToggleDebugJointUpdates : public view_listener_t
9318{
9319 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9320 {
9321 LLVOAvatar::sJointDebug = !(LLVOAvatar::sJointDebug);
9322 return true;
9323 }
9324};
9325
9326class LLAdvancedCheckDebugJointUpdates : public view_listener_t
9327{
9328 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9329 {
9330 bool new_value = LLVOAvatar::sJointDebug;
9331 LLString control_name = userdata["control"].asString();
9332 gMenuHolder->findControl(control_name)->setValue(new_value);
9333 return true;
9334 }
9335};
9336
9337
9338
9339/////////////////
9340// DISABLE LOD //
9341/////////////////
9342
9343
9344class LLAdvancedToggleDisableLOD : public view_listener_t
9345{
9346 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9347 {
9348 LLViewerJoint::sDisableLOD = !(LLViewerJoint::sDisableLOD);
9349 return true;
9350 }
9351};
9352
9353class LLAdvancedCheckDisableLOD : public view_listener_t
9354{
9355 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9356 {
9357 bool new_value = LLViewerJoint::sDisableLOD;
9358 LLString control_name = userdata["control"].asString();
9359 gMenuHolder->findControl(control_name)->setValue(new_value);
9360 return true;
9361 }
9362};
9363
9364
9365
9366/////////////////////////
9367// DEBUG CHARACTER VIS //
9368/////////////////////////
9369
9370
9371class LLAdvancedToggleDebugCharacterVis : public view_listener_t
9372{
9373 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9374 {
9375 LLVOAvatar::sDebugInvisible = !(LLVOAvatar::sDebugInvisible);
9376 return true;
9377 }
9378};
9379
9380class LLAdvancedCheckDebugCharacterVis : public view_listener_t
9381{
9382 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9383 {
9384 bool new_value = LLVOAvatar::sDebugInvisible;
9385 LLString control_name = userdata["control"].asString();
9386 gMenuHolder->findControl(control_name)->setValue(new_value);
9387 return true;
9388 }
9389};
9390
9391
9392
9393//////////////////////////
9394// SHOW COLLISION PLANE //
9395//////////////////////////
9396
9397/***************************
9398 *
9399 * Disabled. See DEV-14477
9400 *
9401 ***************************
9402
9403class LLAdvancedToggleShowCollisionPlane : public view_listener_t
9404{
9405 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9406 {
9407 LLVOAvatar::sShowFootPlane = !(LLVOAvatar::sShowFootPlane);
9408 return true;
9409 }
9410};
9411
9412class LLAdvancedCheckShowCollisionPlane : public view_listener_t
9413{
9414 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9415 {
9416 bool new_value = LLVOAvatar::sShowFootPlane;
9417 LLString control_name = userdata["control"].asString();
9418 gMenuHolder->findControl(control_name)->setValue(new_value);
9419 return true;
9420 }
9421};
9422
9423***************************/
9424
9425
9426/////////////////////////////
9427// SHOW COLLISION SKELETON //
9428/////////////////////////////
9429
9430
9431class LLAdvancedToggleShowCollisionSkeleton : public view_listener_t
9432{
9433 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9434 {
9435 LLVOAvatar::sShowCollisionVolumes = !(LLVOAvatar::sShowCollisionVolumes);
9436 return true;
9437 }
9438};
9439
9440class LLAdvancedCheckShowCollisionSkeleton : public view_listener_t
9441{
9442 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9443 {
9444 bool new_value = LLVOAvatar::sShowCollisionVolumes;
9445 LLString control_name = userdata["control"].asString();
9446 gMenuHolder->findControl(control_name)->setValue(new_value);
9447 return true;
9448 }
9449};
9450
9451
9452
9453//////////////////////////
9454// DISPLAY AGENT TARGET //
9455//////////////////////////
9456
9457
9458class LLAdvancedToggleDisplayAgentTarget : public view_listener_t
9459{
9460 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9461 {
9462 LLAgent::sDebugDisplayTarget = !(LLAgent::sDebugDisplayTarget);
9463 return true;
9464 }
9465};
9466
9467class LLAdvancedCheckDisplayAgentTarget : public view_listener_t
9468{
9469 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9470 {
9471 bool new_value = LLAgent::sDebugDisplayTarget;
9472 LLString control_name = userdata["control"].asString();
9473 gMenuHolder->findControl(control_name)->setValue(new_value);
9474 return true;
9475 }
9476};
9477
9478
9479
9480///////////////////////////
9481// DEBUG AVATAR ROTATION //
9482///////////////////////////
9483
9484
9485class LLAdvancedToggleDebugAvatarRotation : public view_listener_t
9486{
9487 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9488 {
9489 gDebugAvatarRotation = !(gDebugAvatarRotation);
9490 return true;
9491 }
9492};
9493
9494class LLAdvancedCheckDebugAvatarRotation : public view_listener_t
9495{
9496 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9497 {
9498 bool new_value = gDebugAvatarRotation;
9499 LLString control_name = userdata["control"].asString();
9500 gMenuHolder->findControl(control_name)->setValue(new_value);
9501 return true;
9502 }
9503};
9504
9505
9506
9507//////////////////////
9508// DUMP ATTACHMENTS //
9509//////////////////////
9510
9511
9512class LLAdvancedDumpAttachments : public view_listener_t
9513{
9514 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9515 {
9516 handle_dump_attachments(NULL);
9517 return true;
9518 }
9519};
9520
9521
9522
9523/////////////////////
9524// REBAKE TEXTURES //
9525/////////////////////
9526
9527
9528class LLAdvancedRebakeTextures : public view_listener_t
9529{
9530 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9531 {
9532 handle_rebake_textures(NULL);
9533 return true;
9534 }
9535};
9536
9537
9538
9539///////////////////////////
9540// DEBUG AVATAR TEXTURES //
9541///////////////////////////
9542
9543
9544class LLAdvancedDebugAvatarTextures : public view_listener_t
9545{
9546 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9547 {
9548 handle_debug_avatar_textures(NULL);
9549 return true;
9550 }
9551};
9552
9553
9554
9555////////////////////////////////
9556// DUMP AVATAR LOCAL TEXTURES //
9557////////////////////////////////
9558
9559
9560class LLAdvancedDumpAvatarLocalTextures : public view_listener_t
9561{
9562 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9563 {
9564 handle_dump_avatar_local_textures(NULL);
9565 return true;
9566 }
9567};
9568
9569
9570
9571/////////////////
9572// MESSAGE LOG //
9573/////////////////
9574
9575
9576class LLAdvancedEnableMessageLog : public view_listener_t
9577{
9578 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9579 {
9580 handle_viewer_enable_message_log(NULL);
9581 return true;
9582 }
9583};
9584
9585class LLAdvancedDisableMessageLog : public view_listener_t
9586{
9587 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9588 {
9589 handle_viewer_disable_message_log(NULL);
9590 return true;
9591 }
9592};
9593
9594
9595
9596/////////////////
9597// DROP PACKET //
9598/////////////////
9599
9600
9601class LLAdvancedDropPacket : public view_listener_t
9602{
9603 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9604 {
9605 drop_packet(NULL);
9606 return true;
9607 }
9608};
9609
9610
9611
9612/////////////////////////
9613// FRAME STATS LOGGING //
9614/////////////////////////
9615
9616
9617class LLAdvancedFrameStatsLogging : public view_listener_t
9618{
9619 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9620 {
9621 LLString command = userdata.asString();
9622 if ("start logging" == command)
9623 {
9624 LLFrameStats::startLogging(NULL);
9625 }
9626 else if ("stop logging" == command)
9627 {
9628 LLFrameStats::stopLogging(NULL);
9629 }
9630 else if ("timed logging 10" == command)
9631 {
9632 LLFrameStats::timedLogging10(NULL);
9633 }
9634 else if ("timed logging 30" == command)
9635 {
9636 LLFrameStats::timedLogging30(NULL);
9637 }
9638 else if ("timed logging 60" == command)
9639 {
9640 LLFrameStats::timedLogging60(NULL);
9641 }
9642
9643 return true;
9644 }
9645};
9646
9647
9648
9649/////////////////
9650// AGENT PILOT //
9651/////////////////
9652
9653
9654class LLAdvancedAgentPilot : public view_listener_t
9655{
9656 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9657 {
9658 LLString command = userdata.asString();
9659 if ("start playback" == command)
9660 {
9661 LLAgentPilot::startPlayback(NULL);
9662 }
9663 else if ("stop playback" == command)
9664 {
9665 LLAgentPilot::stopPlayback(NULL);
9666 }
9667 else if ("start record" == command)
9668 {
9669 LLAgentPilot::startRecord(NULL);
9670 }
9671 else if ("stop record" == command)
9672 {
9673 LLAgentPilot::saveRecord(NULL);
9674 }
9675
9676 return true;
9677 }
9678};
9679
9680
9681
9682//////////////////////
9683// AGENT PILOT LOOP //
9684//////////////////////
9685
9686
9687class LLAdvancedToggleAgentPilotLoop : public view_listener_t
9688{
9689 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9690 {
9691 LLAgentPilot::sLoop = !(LLAgentPilot::sLoop);
9692 return true;
9693 }
9694};
9695
9696class LLAdvancedCheckAgentPilotLoop : public view_listener_t
9697{
9698 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9699 {
9700 bool new_value = LLAgentPilot::sLoop;
9701 LLString control_name = userdata["control"].asString();
9702 gMenuHolder->findControl(control_name)->setValue(new_value);
9703 return true;
9704 }
9705};
9706
9707
9708
9709/////////////////////////
9710// SHOW OBJECT UPDATES //
9711/////////////////////////
9712
9713
9714class LLAdvancedToggleShowObjectUpdates : public view_listener_t
9715{
9716 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9717 {
9718 gShowObjectUpdates = !(gShowObjectUpdates);
9719 return true;
9720 }
9721};
9722
9723class LLAdvancedCheckShowObjectUpdates : public view_listener_t
9724{
9725 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9726 {
9727 bool new_value = gShowObjectUpdates;
9728 LLString control_name = userdata["control"].asString();
9729 gMenuHolder->findControl(control_name)->setValue(new_value);
9730 return true;
9731 }
9732};
9733
9734
9735
9736////////////////////
9737// COMPRESS IMAGE //
9738////////////////////
9739
9740
9741class LLAdvancedCompressImage : public view_listener_t
9742{
9743 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9744 {
9745 handle_compress_image(NULL);
9746 return true;
9747 }
9748};
9749
9750
9751
9752//////////////////////
9753// CLOTHING FLOATER //
9754//////////////////////
9755
9756
9757class LLAdvancedToggleClothingFloater : public view_listener_t
9758{
9759 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9760 {
9761 handle_clothing(NULL);
9762 return true;
9763 }
9764};
9765
9766// There is no LLAdvancedCheckClothingFloater.
9767
9768
9769
9770/////////////////////////
9771// SHOW DEBUG SETTINGS //
9772/////////////////////////
9773
9774
9775class LLAdvancedShowDebugSettings : public view_listener_t
9776{
9777 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9778 {
9779 LLFloaterSettingsDebug::show(NULL);
9780 return true;
9781 }
9782};
9783
9784
9785
9786////////////////////////
9787// VIEW ADMIN OPTIONS //
9788////////////////////////
9789
9790
9791class LLAdvancedToggleViewAdminOptions : public view_listener_t
9792{
9793 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9794 {
9795 handle_admin_override_toggle(NULL);
9796 return true;
9797 }
9798};
9799
9800class LLAdvancedCheckViewAdminOptions : public view_listener_t
9801{
9802 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9803 {
9804 bool new_value = check_admin_override(NULL);
9805 LLString control_name = userdata["control"].asString();
9806 gMenuHolder->findControl(control_name)->setValue(new_value);
9807 return true;
9808 }
9809};
9810
9811
9812
9813//////////////////
9814// ADMIN STATUS //
9815//////////////////
9816
9817
9818class LLAdvancedRequestAdminStatus : public view_listener_t
9819{
9820 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9821 {
9822 handle_god_mode(NULL);
9823 return true;
9824 }
9825};
9826
9827class LLAdvancedLeaveAdminStatus : public view_listener_t
9828{
9829 bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
9830 {
9831 handle_leave_god_mode(NULL);
9832 return true;
9833 }
9834};
9835
9836
9837
7723static void addMenu(view_listener_t *menu, const char *name) 9838static void addMenu(view_listener_t *menu, const char *name)
7724{ 9839{
7725 sMenus.push_back(menu); 9840 sMenus.push_back(menu);
@@ -7928,4 +10043,155 @@ void initialize_menus()
7928 addMenu(new LLSomethingSelected(), "SomethingSelected"); 10043 addMenu(new LLSomethingSelected(), "SomethingSelected");
7929 addMenu(new LLSomethingSelectedNoHUD(), "SomethingSelectedNoHUD"); 10044 addMenu(new LLSomethingSelectedNoHUD(), "SomethingSelectedNoHUD");
7930 addMenu(new LLEditableSelected(), "EditableSelected"); 10045 addMenu(new LLEditableSelected(), "EditableSelected");
10046
10047
10048 // Advanced (top level menu)
10049 addMenu(new LLAdvancedToggleConsole(), "Advanced.ToggleConsole");
10050 addMenu(new LLAdvancedCheckConsole(), "Advanced.CheckConsole");
10051 addMenu(new LLAdvancedDumpInfoToConsole(), "Advanced.DumpInfoToConsole");
10052 addMenu(new LLAdvancedReloadSettingsOverrides(), "Advanced.ReloadSettingsOverrides");
10053
10054 // Advanced > HUD Info
10055 addMenu(new LLAdvancedToggleHUDInfo(), "Advanced.ToggleHUDInfo");
10056 addMenu(new LLAdvancedCheckHUDInfo(), "Advanced.CheckHUDInfo");
10057
10058 addMenu(new LLAdvancedClearGroupCache(), "Advanced.ClearGroupCache");
10059
10060 // Advanced > Render > Types
10061 addMenu(new LLAdvancedToggleRenderType(), "Advanced.ToggleRenderType");
10062 addMenu(new LLAdvancedCheckRenderType(), "Advanced.CheckRenderType");
10063
10064 // Advanced > Render > Features
10065 addMenu(new LLAdvancedToggleFeature(), "Advanced.ToggleFeature");
10066 addMenu(new LLAdvancedCheckFeature(), "Advanced.CheckFeature");
10067
10068 // Advanced > Render > Info Displays
10069 addMenu(new LLAdvancedToggleInfoDisplay(), "Advanced.ToggleInfoDisplay");
10070 addMenu(new LLAdvancedCheckInfoDisplay(), "Advanced.CheckInfoDisplay");
10071 addMenu(new LLAdvancedToggleSelectBuffer(), "Advanced.ToggleSelectBuffer");
10072 addMenu(new LLAdvancedCheckSelectBuffer(), "Advanced.CheckSelectBuffer");
10073 addMenu(new LLAdvancedToggleRandomizeFramerate(), "Advanced.ToggleRandomizeFramerate");
10074 addMenu(new LLAdvancedCheckRandomizeFramerate(), "Advanced.CheckRandomizeFramerate");
10075 addMenu(new LLAdvancedTogglePeriodicSlowFrame(), "Advanced.TogglePeriodicSlowFrame");
10076 addMenu(new LLAdvancedCheckPeriodicSlowFrame(), "Advanced.CheckPeriodicSlowFrame");
10077 addMenu(new LLAdvancedToggleFrameTest(), "Advanced.ToggleFrameTest");
10078 addMenu(new LLAdvancedCheckFrameTest(), "Advanced.CheckFrameTest");
10079 addMenu(new LLAdvancedToggleHideSelectedObjects(), "Advanced.ToggleHideSelectedObjects");
10080 addMenu(new LLAdvancedCheckHideSelectedObjects(), "Advanced.CheckHideSelectedObjects");
10081 addMenu(new LLAdvancedSelectedTextureInfo(), "Advanced.SelectedTextureInfo");
10082 addMenu(new LLAdvancedToggleWireframe(), "Advanced.ToggleWireframe");
10083 addMenu(new LLAdvancedCheckWireframe(), "Advanced.CheckWireframe");
10084 addMenu(new LLAdvancedToggleDisableTextures(), "Advanced.ToggleDisableTextures");
10085 addMenu(new LLAdvancedCheckDisableTextures(), "Advanced.CheckDisableTextures");
10086
10087 // Advanced > World
10088 addMenu(new LLAdvancedDumpScriptedCamera(), "Advanced.DumpScriptedCamera");
10089 addMenu(new LLAdvancedDumpRegionObjectCache(), "Advanced.DumpRegionObjectCache");
10090
10091 // Advanced > UI
10092 addMenu(new LLAdvancedSLURLTest(), "Advanced.SLURLTest");
10093 addMenu(new LLAdvancedToggleEditableUI(), "Advanced.ToggleEditableUI");
10094 //addMenu(new LLAdvancedCheckEditableUI(), "Advanced.CheckEditableUI");
10095 addMenu(new LLAdvancedToggleAsyncKeystrokes(), "Advanced.ToggleAsyncKeystrokes");
10096 addMenu(new LLAdvancedCheckAsyncKeystrokes(), "Advanced.CheckAsyncKeystrokes");
10097 addMenu(new LLAdvancedDumpSelectMgr(), "Advanced.DumpSelectMgr");
10098 addMenu(new LLAdvancedDumpInventory(), "Advanced.DumpInventory");
10099 addMenu(new LLAdvancedDumpFocusHolder(), "Advanced.DumpFocusHolder");
10100 addMenu(new LLAdvancedPrintSelectedObjectInfo(), "Advanced.PrintSelectedObjectInfo");
10101 addMenu(new LLAdvancedPrintAgentInfo(), "Advanced.PrintAgentInfo");
10102 addMenu(new LLAdvancedPrintTextureMemoryStats(), "Advanced.PrintTextureMemoryStats");
10103 addMenu(new LLAdvancedToggleDebugSelectMgr(), "Advanced.ToggleDebugSelectMgr");
10104 addMenu(new LLAdvancedCheckDebugSelectMgr(), "Advanced.CheckDebugSelectMgr");
10105 addMenu(new LLAdvancedToggleDebugClicks(), "Advanced.ToggleDebugClicks");
10106 addMenu(new LLAdvancedCheckDebugClicks(), "Advanced.CheckDebugClicks");
10107 addMenu(new LLAdvancedCheckDebugViews(), "Advanced.CheckDebugViews");
10108 addMenu(new LLAdvancedToggleDebugViews(), "Advanced.ToggleDebugViews");
10109 addMenu(new LLAdvancedToggleXUINameTooltips(), "Advanced.ToggleXUINameTooltips");
10110 addMenu(new LLAdvancedCheckXUINameTooltips(), "Advanced.CheckXUINameTooltips");
10111 addMenu(new LLAdvancedToggleDebugMouseEvents(), "Advanced.ToggleDebugMouseEvents");
10112 addMenu(new LLAdvancedCheckDebugMouseEvents(), "Advanced.CheckDebugMouseEvents");
10113 addMenu(new LLAdvancedToggleDebugKeys(), "Advanced.ToggleDebugKeys");
10114 addMenu(new LLAdvancedCheckDebugKeys(), "Advanced.CheckDebugKeys");
10115 addMenu(new LLAdvancedToggleDebugWindowProc(), "Advanced.ToggleDebugWindowProc");
10116 addMenu(new LLAdvancedCheckDebugWindowProc(), "Advanced.CheckDebugWindowProc");
10117 addMenu(new LLAdvancedToggleDebugTextEditorTips(), "Advanced.ToggleDebugTextEditorTips");
10118 addMenu(new LLAdvancedCheckDebugTextEditorTips(), "Advanced.CheckDebugTextEditorTips");
10119
10120 // Advanced > XUI
10121 addMenu(new LLAdvancedShowFloaterTest(), "Advanced.ShowFloaterTest");
10122 addMenu(new LLAdvancedExportMenusToXML(), "Advanced.ExportMenusToXML");
10123 addMenu(new LLAdvancedEditUI(), "Advanced.EditUI");
10124 addMenu(new LLAdvancedLoadUIFromXML(), "Advanced.LoadUIFromXML");
10125 addMenu(new LLAdvancedSaveUIToXML(), "Advanced.SaveUIToXML");
10126 addMenu(new LLAdvancedToggleXUINames(), "Advanced.ToggleXUINames");
10127 addMenu(new LLAdvancedCheckXUINames(), "Advanced.CheckXUINames");
10128
10129 // Advanced > Character > Grab Baked Texture
10130 addMenu(new LLAdvancedGrabBakedTexture(), "Advanced.GrabBakedTexture");
10131 addMenu(new LLAdvancedEnableGrabBakedTexture(), "Advanced.EnableGrabBakedTexture");
10132
10133 // Advanced > Character > Character Tests
10134 addMenu(new LLAdvancedToggleAllowIdleAFK(), "Advanced.ToggleAllowIdleAFK");
10135 addMenu(new LLAdvancedCheckAllowIdleAFK(), "Advanced.CheckAllowIdleAFK");
10136 addMenu(new LLAdvancedAppearanceToXML(), "Advanced.AppearanceToXML");
10137 addMenu(new LLAdvancedToggleCharacterGeometry(), "Advanced.ToggleCharacterGeometry");
10138 addMenu(new LLAdvancedTestMale(), "Advanced.TestMale");
10139 addMenu(new LLAdvancedTestFemale(), "Advanced.TestFemale");
10140 addMenu(new LLAdvancedTogglePG(), "Advanced.TogglePG");
10141 addMenu(new LLAdvancedToggleAllowSelectAvatar(), "Advanced.ToggleAllowSelectAvatar");
10142 addMenu(new LLAdvancedCheckAllowSelectAvatar(), "Advanced.CheckAllowSelectAvatar");
10143
10144 // Advanced > Character (toplevel)
10145 addMenu(new LLAdvancedToggleAllowTapTapHoldRun(), "Advanced.ToggleAllowTapTapHoldRun");
10146 addMenu(new LLAdvancedCheckAllowTapTapHoldRun(), "Advanced.CheckAllowTapTapHoldRun");
10147 addMenu(new LLAdvancedForceParamsToDefault(), "Advanced.ForceParamsToDefault");
10148 addMenu(new LLAdvancedReloadVertexShader(), "Advanced.ReloadVertexShader");
10149 addMenu(new LLAdvancedToggleAnimationInfo(), "Advanced.ToggleAnimationInfo");
10150 addMenu(new LLAdvancedCheckAnimationInfo(), "Advanced.CheckAnimationInfo");
10151 addMenu(new LLAdvancedToggleSlowMotionAnimations(), "Advanced.ToggleSlowMotionAnimations");
10152 //addMenu(new LLAdvancedCheckSlowMotionAnimations(), "Advanced.CheckSlowMotionAnimations");
10153 addMenu(new LLAdvancedToggleShowLookAt(), "Advanced.ToggleShowLookAt");
10154 addMenu(new LLAdvancedCheckShowLookAt(), "Advanced.CheckShowLookAt");
10155 addMenu(new LLAdvancedToggleShowPointAt(), "Advanced.ToggleShowPointAt");
10156 addMenu(new LLAdvancedCheckShowPointAt(), "Advanced.CheckShowPointAt");
10157 addMenu(new LLAdvancedToggleDebugJointUpdates(), "Advanced.ToggleDebugJointUpdates");
10158 addMenu(new LLAdvancedCheckDebugJointUpdates(), "Advanced.CheckDebugJointUpdates");
10159 addMenu(new LLAdvancedToggleDisableLOD(), "Advanced.ToggleDisableLOD");
10160 addMenu(new LLAdvancedCheckDisableLOD(), "Advanced.CheckDisableLOD");
10161 addMenu(new LLAdvancedToggleDebugCharacterVis(), "Advanced.ToggleDebugCharacterVis");
10162 addMenu(new LLAdvancedCheckDebugCharacterVis(), "Advanced.CheckDebugCharacterVis");
10163// addMenu(new LLAdvancedToggleShowCollisionPlane(), "Advanced.ToggleShowCollisionPlane");
10164// addMenu(new LLAdvancedCheckShowCollisionPlane(), "Advanced.CheckShowCollisionPlane");
10165 addMenu(new LLAdvancedToggleShowCollisionSkeleton(), "Advanced.ToggleShowCollisionSkeleton");
10166 addMenu(new LLAdvancedCheckShowCollisionSkeleton(), "Advanced.CheckShowCollisionSkeleton");
10167 addMenu(new LLAdvancedToggleDisplayAgentTarget(), "Advanced.ToggleDisplayAgentTarget");
10168 addMenu(new LLAdvancedCheckDisplayAgentTarget(), "Advanced.CheckDisplayAgentTarget");
10169 addMenu(new LLAdvancedToggleDebugAvatarRotation(), "Advanced.ToggleDebugAvatarRotation");
10170 addMenu(new LLAdvancedCheckDebugAvatarRotation(), "Advanced.CheckDebugAvatarRotation");
10171 addMenu(new LLAdvancedDumpAttachments(), "Advanced.DumpAttachments");
10172 addMenu(new LLAdvancedRebakeTextures(), "Advanced.RebakeTextures");
10173 addMenu(new LLAdvancedDebugAvatarTextures(), "Advanced.DebugAvatarTextures");
10174 addMenu(new LLAdvancedDumpAvatarLocalTextures(), "Advanced.DumpAvatarLocalTextures");
10175
10176 // Advanced > Network
10177 addMenu(new LLAdvancedEnableMessageLog(), "Advanced.EnableMessageLog");
10178 addMenu(new LLAdvancedDisableMessageLog(), "Advanced.DisableMessageLog");
10179 addMenu(new LLAdvancedDropPacket(), "Advanced.DropPacket");
10180
10181 // Advanced > Recorder
10182 addMenu(new LLAdvancedFrameStatsLogging(), "Advanced.FrameStatsLogging");
10183 addMenu(new LLAdvancedAgentPilot(), "Advanced.AgentPilot");
10184 addMenu(new LLAdvancedToggleAgentPilotLoop(), "Advanced.ToggleAgentPilotLoop");
10185 addMenu(new LLAdvancedCheckAgentPilotLoop(), "Advanced.CheckAgentPilotLoop");
10186
10187 // Advanced (toplevel)
10188 addMenu(new LLAdvancedToggleShowObjectUpdates(), "Advanced.ToggleShowObjectUpdates");
10189 addMenu(new LLAdvancedCheckShowObjectUpdates(), "Advanced.CheckShowObjectUpdates");
10190 addMenu(new LLAdvancedCompressImage(), "Advanced.CompressImage");
10191 addMenu(new LLAdvancedToggleClothingFloater(), "Advanced.ToggleClothingFloater");
10192 addMenu(new LLAdvancedShowDebugSettings(), "Advanced.ShowDebugSettings");
10193 addMenu(new LLAdvancedToggleViewAdminOptions(), "Advanced.ToggleViewAdminOptions");
10194 addMenu(new LLAdvancedCheckViewAdminOptions(), "Advanced.CheckViewAdminOptions");
10195 addMenu(new LLAdvancedRequestAdminStatus(), "Advanced.RequestAdminStatus");
10196 addMenu(new LLAdvancedLeaveAdminStatus(), "Advanced.LeaveAdminStatus");
7931} 10197}
diff --git a/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml b/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml
index acdb963..e5a32ec 100644
--- a/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml
@@ -708,4 +708,947 @@
708 </menu> 708 </menu>
709 709
710 710
711 <!-- ADVANCED -->
712
713 <menu name="Advanced" drop_shadow="true" opaque="true" tear_off="true">
714
715
716
717 <!-- CONSOLES -->
718
719 <menu name="Consoles" drop_shadow="true" opaque="true" tear_off="true">
720 <menu_item_check name="Frame Console" label="Frame Console"
721 shortcut="control|shift|2">
722 <on_click function="Advanced.ToggleConsole" userdata="frame" />
723 <on_check function="Advanced.CheckConsole" userdata="frame" />
724 </menu_item_check>
725 <menu_item_check name="Texture Console" label="Texture Console"
726 shortcut="control|shift|3">
727 <on_click function="Advanced.ToggleConsole" userdata="texture" />
728 <on_check function="Advanced.CheckConsole" userdata="texture" />
729 </menu_item_check>
730 <menu_item_check name="Debug Console" label="Debug Console"
731 shortcut="control|shift|4">
732 <on_click function="Advanced.ToggleConsole" userdata="debug" />
733 <on_check function="Advanced.CheckConsole" userdata="debug" />
734 </menu_item_check>
735 <menu_item_check name="Fast Timers" label="Fast Timers"
736 shortcut="control|shift|9">
737 <on_click function="Advanced.ToggleConsole" userdata="fast timers" />
738 <on_check function="Advanced.CheckConsole" userdata="fast timers" />
739 </menu_item_check>
740 <!-- Requires compiled-in support, I think?
741 <menu_item_check name="Memory" label="Memory"
742 shortcut="control|shift|0">
743 <on_click function="Advanced.ToggleConsole" userdata="memory" />
744 <on_check function="Advanced.CheckConsole" userdata="memory" />
745 </menu_item_check>
746 -->
747 <menu_item_separator />
748 <menu_item_call name="Region Info to Debug Console"
749 label="Region Info to Debug Console">
750 <on_click function="Advanced.DumpInfoToConsole" userdata="region" />
751 </menu_item_call>
752 <menu_item_call name="Group Info to Debug Console"
753 label="Group Info to Debug Console">
754 <on_click function="Advanced.DumpInfoToConsole" userdata="group" />
755 </menu_item_call>
756 <menu_item_call name="Capabilities Info to Debug Console"
757 label="Capabilities Info to Debug Console">
758 <on_click function="Advanced.DumpInfoToConsole"
759 userdata="capabilities" />
760 </menu_item_call>
761 </menu>
762
763
764 <menu_item_call name="Reload personal setting overrides"
765 label="Reload personal settings overrides"
766 shortcut="control|shift|F2">
767 <on_click function="Advanced.ReloadSettingsOverrides" userdata="" />
768 </menu_item_call>
769
770
771
772 <!-- HUD INFO -->
773
774 <menu name="HUD Info" drop_shadow="true" opaque="true" tear_off="true">
775 <menu_item_check name="Velocity" label="Velocity">
776 <on_click function="Advanced.ToggleHUDInfo" userdata="velocity" />
777 <on_check function="Advanced.CheckHUDInfo" userdata="velocity" />
778 </menu_item_check>
779 <menu_item_check name="Camera" label="Camera">
780 <on_click function="Advanced.ToggleHUDInfo" userdata="camera" />
781 <on_check function="Advanced.CheckHUDInfo" userdata="camera" />
782 </menu_item_check>
783 <menu_item_check name="Wind" label="Wind">
784 <on_click function="Advanced.ToggleHUDInfo" userdata="wind" />
785 <on_check function="Advanced.CheckHUDInfo" userdata="wind" />
786 </menu_item_check>
787 <menu_item_check name="FOV" label="FOV">
788 <on_click function="Advanced.ToggleHUDInfo" userdata="fov" />
789 <on_check function="Advanced.CheckHUDInfo" userdata="fov" />
790 </menu_item_check>
791 </menu>
792
793
794 <menu_item_separator />
795
796 <menu_item_check name="High-res Snapshot" label="High-res Snapshot">
797 <on_click function="ToggleControl" userdata="HighResSnapshot" />
798 <on_check control="HighResSnapshot" />
799 </menu_item_check>
800 <menu_item_check name="Quiet Snapshots to Disk"
801 label="Quiet Snapshots to Disk">
802 <on_click function="ToggleControl" userdata="QuietSnapshotsToDisk" />
803 <on_check control="QuietSnapshotsToDisk" />
804 </menu_item_check>
805 <menu_item_check name="Compress Snapshots to Disk"
806 label="Compress Snapshots to Disk">
807 <on_click function="ToggleControl" userdata="CompressSnapshotsToDisk" />
808 <on_check control="CompressSnapshotsToDisk" />
809 </menu_item_check>
810 <menu_item_check name="Show Mouselook Crosshairs"
811 label="Show Mouselook Crosshairs">
812 <on_click function="ToggleControl" userdata="ShowCrosshairs" />
813 <on_check control="ShowCrosshairs" />
814 </menu_item_check>
815 <menu_item_check name="Debug Permissions" label="Debug Permissions">
816 <on_click function="ToggleControl" userdata="DebugPermissions" />
817 <on_check control="DebugPermissions" />
818 </menu_item_check>
819 <menu_item_call name="Clear Group Cache" label="Clear Group Cache">
820 <on_click function="Advanced.ClearGroupCache" userdata="" />
821 </menu_item_call>
822 <menu_item_separator />
823
824
825
826 <!-- RENDERING -->
827
828 <menu name="Rendering" drop_shadow="true" opaque="true" tear_off="true">
829
830 <!-- TYPES -->
831 <menu name="Types" drop_shadow="true" opaque="true" tear_off="true">
832 <menu_item_check name="Simple" label="Simple"
833 shortcut="control|alt|shift|1">
834 <on_click function="Advanced.ToggleRenderType" userdata="simple" />
835 <on_check function="Advanced.CheckRenderType" userdata="simple" />
836 </menu_item_check>
837 <menu_item_check name="Alpha" label="Alpha"
838 shortcut="control|alt|shift|2">
839 <on_click function="Advanced.ToggleRenderType" userdata="alpha" />
840 <on_check function="Advanced.CheckRenderType" userdata="alpha" />
841 </menu_item_check>
842 <menu_item_check name="Tree" label="Tree"
843 shortcut="control|alt|shift|3">
844 <on_click function="Advanced.ToggleRenderType" userdata="tree" />
845 <on_check function="Advanced.CheckRenderType" userdata="tree" />
846 </menu_item_check>
847 <menu_item_check name="Character" label="Character"
848 shortcut="control|alt|shift|4">
849 <on_click function="Advanced.ToggleRenderType" userdata="avatar" />
850 <on_check function="Advanced.CheckRenderType" userdata="avatar" />
851 </menu_item_check>
852 <menu_item_check name="SurfacePatch" label="SurfacePatch"
853 shortcut="control|alt|shift|5">
854 <on_click function="Advanced.ToggleRenderType" userdata="terrain" />
855 <on_check function="Advanced.CheckRenderType" userdata="terrain" />
856 </menu_item_check>
857 <menu_item_check name="Sky" label="Sky"
858 shortcut="control|alt|shift|6">
859 <on_click function="Advanced.ToggleRenderType" userdata="sky" />
860 <on_check function="Advanced.CheckRenderType" userdata="sky" />
861 </menu_item_check>
862 <menu_item_check name="Water" label="Water"
863 shortcut="control|alt|shift|7">
864 <on_click function="Advanced.ToggleRenderType" userdata="water" />
865 <on_check function="Advanced.CheckRenderType" userdata="water" />
866 </menu_item_check>
867 <menu_item_check name="Ground" label="Ground"
868 shortcut="control|alt|shift|8">
869 <on_click function="Advanced.ToggleRenderType" userdata="ground" />
870 <on_check function="Advanced.CheckRenderType" userdata="ground" />
871 </menu_item_check>
872 <menu_item_check name="Volume" label="Volume"
873 shortcut="control|alt|shift|9">
874 <on_click function="Advanced.ToggleRenderType" userdata="volume" />
875 <on_check function="Advanced.CheckRenderType" userdata="volume" />
876 </menu_item_check>
877 <menu_item_check name="Grass" label="Grass"
878 shortcut="control|alt|shift|0">
879 <on_click function="Advanced.ToggleRenderType" userdata="grass" />
880 <on_check function="Advanced.CheckRenderType" userdata="grass" />
881 </menu_item_check>
882 <menu_item_check name="Clouds" label="Clouds"
883 shortcut="control|alt|shift|-">
884 <on_click function="Advanced.ToggleRenderType" userdata="clouds" />
885 <on_check function="Advanced.CheckRenderType" userdata="clouds" />
886 </menu_item_check>
887 <menu_item_check name="Particles" label="Particles"
888 shortcut="control|alt|shift|=">
889 <on_click function="Advanced.ToggleRenderType"
890 userdata="particles" />
891 <on_check function="Advanced.CheckRenderType"
892 userdata="particles" />
893 </menu_item_check>
894 <menu_item_check name="Bump" label="Bump"
895 shortcut="control|alt|shift|\">
896 <on_click function="Advanced.ToggleRenderType" userdata="bump" />
897 <on_check function="Advanced.CheckRenderType" userdata="bump" />
898 </menu_item_check>
899 </menu>
900
901
902 <!-- FEATURES -->
903 <menu drop_shadow="true" name="Features" opaque="true" tear_off="true">
904 <menu_item_check name="UI" label="UI" shortcut="control|alt|F1">
905 <on_click function="Advanced.ToggleFeature" userdata="ui" />
906 <on_check function="Advanced.CheckFeature" userdata="ui" />
907 </menu_item_check>
908 <menu_item_check name="Selected" label="Selected"
909 shortcut="control|alt|F2">
910 <on_click function="Advanced.ToggleFeature" userdata="selected" />
911 <on_check function="Advanced.CheckFeature" userdata="selected" />
912 </menu_item_check>
913 <menu_item_check name="Highlighted" label="Highlighted"
914 shortcut="control|alt|F3">
915 <on_click function="Advanced.ToggleFeature" userdata="highlighted" />
916 <on_check function="Advanced.CheckFeature" userdata="highlighted" />
917 </menu_item_check>
918 <menu_item_check name="Dynamic Textures" label="Dynamic Textures"
919 shortcut="control|alt|F4">
920 <on_click function="Advanced.ToggleFeature"
921 userdata="dynamic textures" />
922 <on_check function="Advanced.CheckFeature"
923 userdata="dynamic textures" />
924 </menu_item_check>
925 <menu_item_check name="Foot Shadows" label="Foot Shadows"
926 shortcut="control|alt|F5">
927 <on_click function="Advanced.ToggleFeature"
928 userdata="foot shadows" />
929 <on_check function="Advanced.CheckFeature"
930 userdata="foot shadows" />
931 </menu_item_check>
932 <menu_item_check name="Fog" label="Fog" shortcut="control|alt|F6">
933 <on_click function="Advanced.ToggleFeature" userdata="fog" />
934 <on_check function="Advanced.CheckFeature" userdata="fog" />
935 </menu_item_check>
936 <menu_item_check name="Palletized Textures"
937 label="Palletized Textures"
938 shortcut="control|alt|F7">
939 <on_click function="Advanced.ToggleFeature" userdata="palette" />
940 <on_check function="Advanced.CheckFeature" userdata="palette" />
941 </menu_item_check>
942 <menu_item_check name="Test FRInfo" label="Test FRInfo"
943 shortcut="control|alt|F8">
944 <on_click function="Advanced.ToggleFeature" userdata="fr info" />
945 <on_check function="Advanced.CheckFeature" userdata="fr info" />
946 </menu_item_check>
947 <menu_item_check name="Flexible Objects" label="Flexible Objects"
948 shortcut="control|alt|F9">
949 <on_click function="Advanced.ToggleFeature" userdata="flexible" />
950 <on_check function="Advanced.CheckFeature" userdata="flexible" />
951 </menu_item_check>
952 </menu>
953
954
955 <!-- INFO DISPLAYS -->
956 <menu drop_shadow="true" name="Info Displays"
957 opaque="true" tear_off="true">
958 <menu_item_check name="Verify" label="Verify">
959 <on_click function="Advanced.ToggleInfoDisplay" userdata="verify" />
960 <on_check function="Advanced.CheckInfoDisplay" userdata="verify" />
961 </menu_item_check>
962 <menu_item_check name="BBoxes" label="BBoxes">
963 <on_click function="Advanced.ToggleInfoDisplay" userdata="bboxes" />
964 <on_check function="Advanced.CheckInfoDisplay" userdata="bboxes" />
965 </menu_item_check>
966 <menu_item_check name="Points" label="Points">
967 <on_click function="Advanced.ToggleInfoDisplay" userdata="points" />
968 <on_check function="Advanced.CheckInfoDisplay" userdata="points" />
969 </menu_item_check>
970 <menu_item_check name="Octree" label="Octree">
971 <on_click function="Advanced.ToggleInfoDisplay" userdata="octree" />
972 <on_check function="Advanced.CheckInfoDisplay" userdata="octree" />
973 </menu_item_check>
974 <menu_item_check name="Occlusion" label="Occlusion">
975 <on_click function="Advanced.ToggleInfoDisplay"
976 userdata="occlusion" />
977 <on_check function="Advanced.CheckInfoDisplay"
978 userdata="occlusion" />
979 </menu_item_check>
980 <menu_item_check name="Render Batches" label="Render Batches">
981 <on_click function="Advanced.ToggleInfoDisplay"
982 userdata="render batches" />
983 <on_check function="Advanced.CheckInfoDisplay"
984 userdata="render batches" />
985 </menu_item_check>
986 <menu_item_check name="Animated Textures" label="Animated Textures">
987 <on_click function="Advanced.ToggleInfoDisplay"
988 userdata="texture anim" />
989 <on_check function="Advanced.CheckInfoDisplay"
990 userdata="texture anim" />
991 </menu_item_check>
992 <menu_item_check name="Texture Priority" label="Texture Priority">
993 <on_click function="Advanced.ToggleInfoDisplay"
994 userdata="texture priority" />
995 <on_check function="Advanced.CheckInfoDisplay"
996 userdata="texture priority" />
997 </menu_item_check>
998 <menu_item_check name="Avatar Rendering Cost"
999 label="Avatar Rendering Cost">
1000 <on_click function="Advanced.ToggleInfoDisplay"
1001 userdata="shame" />
1002 <on_check function="Advanced.CheckInfoDisplay"
1003 userdata="shame" />
1004 </menu_item_check>
1005 <menu_item_check name="Texture Area (sqrt(A))"
1006 label="Texture Area (sqrt(A))">
1007 <on_click function="Advanced.ToggleInfoDisplay"
1008 userdata="texture area" />
1009 <on_check function="Advanced.CheckInfoDisplay"
1010 userdata="texture area" />
1011 </menu_item_check>
1012 <menu_item_check name="Face Area (sqrt(A))"
1013 label="Face Area (sqrt(A))">
1014 <on_click function="Advanced.ToggleInfoDisplay"
1015 userdata="face area" />
1016 <on_check function="Advanced.CheckInfoDisplay"
1017 userdata="face area" />
1018 </menu_item_check>
1019 <menu_item_check name="Pick Render" label="Pick Render">
1020 <on_click function="Advanced.ToggleInfoDisplay"
1021 userdata="picking" />
1022 <on_check function="Advanced.CheckInfoDisplay"
1023 userdata="picking" />
1024 </menu_item_check>
1025 <menu_item_check name="Lights" label="Lights">
1026 <on_click function="Advanced.ToggleInfoDisplay"
1027 userdata="lights" />
1028 <on_check function="Advanced.CheckInfoDisplay"
1029 userdata="lights" />
1030 </menu_item_check>
1031 <menu_item_check name="Particles" label="Particles">
1032 <on_click function="Advanced.ToggleInfoDisplay"
1033 userdata="particles" />
1034 <on_check function="Advanced.CheckInfoDisplay"
1035 userdata="particles" />
1036 </menu_item_check>
1037 <menu_item_check name="Composition" label="Composition">
1038 <on_click function="Advanced.ToggleInfoDisplay"
1039 userdata="composition" />
1040 <on_check function="Advanced.CheckInfoDisplay"
1041 userdata="composition" />
1042 </menu_item_check>
1043 <menu_item_check name="Glow" label="Glow">
1044 <on_click function="Advanced.ToggleInfoDisplay"
1045 userdata="glow" />
1046 <on_check function="Advanced.CheckInfoDisplay"
1047 userdata="glow" />
1048 </menu_item_check>
1049 <menu_item_check name="Show Depth Buffer" label="Show Depth Buffer">
1050 <on_click function="ToggleControl" userdata="ShowDepthBuffer" />
1051 <on_check control="ShowDepthBuffer" />
1052 </menu_item_check>
1053 <menu_item_check name="Show Select Buffer" label="Show Select Buffer">
1054 <on_click function="Advanced.ToggleSelectBuffer" userdata="" />
1055 <on_check function="Advanced.CheckSelectBuffer" userdata="" />
1056 </menu_item_check>
1057 <menu_item_check name="Vectorize Perf Test"
1058 label="Vectorize Perf Test">
1059 <on_click function="ToggleControl" userdata="VectorizePerfTest" />
1060 <on_check control="VectorizePerfTest" />
1061 </menu_item_check>
1062 </menu>
1063
1064
1065 <!-- RENDER TESTS -->
1066 <menu drop_shadow="true" name="Render Tests" opaque="true"
1067 tear_off="true">
1068 <menu_item_check name="Camera Offset" label="Camera Offset">
1069 <on_click function="ToggleControl" userdata="CameraOffset" />
1070 <on_check control="CameraOffset" />
1071 </menu_item_check>
1072 <menu_item_check name="Randomize Framerate"
1073 label="Randomize Framerate">
1074 <on_click function="Advanced.ToggleRandomizeFramerate"
1075 userdata="" />
1076 <on_check function="Advanced.CheckRandomizeFramerate"
1077 userdata="" />
1078 </menu_item_check>
1079 <menu_item_check name="Periodic Slow Frame"
1080 label="Periodic Slow Frame">
1081 <on_click function="Advanced.TogglePeriodicSlowFrame"
1082 userdata="" />
1083 <on_check function="Advanced.CheckPeriodicSlowFrame"
1084 userdata="" />
1085 </menu_item_check>
1086 <menu_item_check name="Frame Test" label="Frame Test">
1087 <on_click function="Advanced.ToggleFrameTest" userdata="" />
1088 <on_check function="Advanced.CheckFrameTest" userdata="" />
1089 </menu_item_check>
1090 </menu>
1091
1092
1093 <menu_item_separator />
1094
1095 <menu_item_check name="Axes" label="Axes">
1096 <on_click function="ToggleControl" userdata="ShowAxes" />
1097 <on_check control="ShowAxes" />
1098 </menu_item_check>
1099
1100 <menu_item_separator />
1101
1102 <menu_item_check name="Hide Selected" label="Hide Selected">
1103 <on_click function="Advanced.ToggleHideSelectedObjects"
1104 userdata="" />
1105 <on_check function="Advanced.CheckHideSelectedObjects"
1106 userdata="" />
1107 </menu_item_check>
1108
1109 <menu_item_separator />
1110
1111 <menu_item_check name="Tangent Basis" label="Tangent Basis">
1112 <on_click function="ToggleControl" userdata="ShowTangentBasis" />
1113 <on_check control="ShowTangentBasis" />
1114 </menu_item_check>
1115 <menu_item_call name="Selected Texture Info"
1116 label="Selected Texture Info"
1117 shortcut="control|alt|shift|T">
1118 <on_click function="Advanced.SelectedTextureInfo" userdata="" />
1119 </menu_item_call>
1120 <menu_item_check name="Wireframe" label="Wireframe"
1121 shortcut="control|shift|R">
1122 <on_click function="Advanced.ToggleWireframe" userdata="" />
1123 <on_check function="Advanced.CheckWireframe" userdata="" />
1124 </menu_item_check>
1125 <menu_item_check name="Object-Object Occlusion"
1126 label="Object-Object Occlusion"
1127 shortcut="control|shift|O">
1128 <on_click function="ToggleControl" userdata="UseOcclusion" />
1129 <on_check control="UseOcclusion" />
1130 </menu_item_check>
1131 <menu_item_check name="Debug GL" label="Debug GL">
1132 <on_click function="ToggleControl" userdata="RenderDebugGL" />
1133 <on_check control="RenderDebugGL" />
1134 </menu_item_check>
1135 <menu_item_check name="Debug Pipeline" label="Debug Pipeline">
1136 <on_click function="ToggleControl" userdata="RenderDebugPipeline" />
1137 <on_check control="RenderDebugPipeline" />
1138 </menu_item_check>
1139 <menu_item_check name="Fast Alpha" label="Fast Alpha">
1140 <on_click function="ToggleControl" userdata="RenderFastAlpha" />
1141 <on_check control="RenderFastAlpha" />
1142 </menu_item_check>
1143 <menu_item_check name="Animate Textures" label="Animate Textures">
1144 <on_click function="ToggleControl" userdata="AnimateTextures" />
1145 <on_check control="AnimateTextures" />
1146 </menu_item_check>
1147 <menu_item_check name="Disable Textures" label="Disable Textures">
1148 <on_click function="Advanced.ToggleDisableTextures" userdata="" />
1149 <on_check function="Advanced.CheckDisableTextures" userdata="" />
1150 </menu_item_check>
1151 <!-- Disabled because it doesn't seem to be used anymore.
1152 <menu_item_check name="HTTP Get Textures" label="HTTP Get Textures">
1153 <on_click function="ToggleControl"
1154 userdata="ImagePipelineUseHTTP" />
1155 <on_check control="ImagePipelineUseHTTP" />
1156 </menu_item_check>
1157 -->
1158 <menu_item_check name="Run Multiple Threads"
1159 label="Run Multiple Threads">
1160 <on_click function="ToggleControl"
1161 userdata="RunMultipleThreads" />
1162 <on_check control="RunMultipleThreads" />
1163 </menu_item_check>
1164 <!-- Disabled because it doesn't work very well?
1165 <menu_item_check name="Dynamic Reflections"
1166 label="Dynamic Reflections">
1167 <on_click function="ToggleControl"
1168 userdata="RenderDynamicReflections" />
1169 <on_check control="RenderDynamicReflections" />
1170 </menu_item_check>
1171 -->
1172 <menu_item_check name="Cheesy Beacon" label="Cheesy Beacon">
1173 <on_click function="ToggleControl"
1174 userdata="CheesyBeacon" />
1175 <on_check control="CheesyBeacon" />
1176 </menu_item_check>
1177 </menu>
1178
1179
1180
1181 <!-- WORLD -->
1182
1183 <menu drop_shadow="true" name="World" opaque="true" tear_off="true">
1184 <!-- Disabled because you can't do this in Windlight.
1185 <menu_item_check name="Mouse Moves Sun" label="Mouse Moves Sun"
1186 shortcut="control|alt|M">
1187 <on_click function="ToggleControl" userdata="MouseSun" />
1188 <on_check control="MouseSun" />
1189 </menu_item_check>
1190 -->
1191 <menu_item_check name="Sim Sun Override" label="Sim Sun Override">
1192 <on_click function="ToggleControl"
1193 userdata="SkyOverrideSimSunPosition" />
1194 <on_check control="SkyOverrideSimSunPosition" />
1195 </menu_item_check>
1196 <menu_item_call name="Dump Scripted Camera"
1197 label="Dump Scripted Camera">
1198 <on_click function="Advanced.DumpScriptedCamera" userdata="" />
1199 </menu_item_call>
1200 <menu_item_check name="Fixed Weather" label="Fixed Weather">
1201 <on_click function="ToggleControl" userdata="FixedWeather" />
1202 <on_check control="FixedWeather" />
1203 </menu_item_check>
1204 <menu_item_call name="Dump Region Object Cache"
1205 label="Dump Region Object Cache">
1206 <on_click function="Advanced.DumpRegionObjectCache" userdata="" />
1207 </menu_item_call>
1208 </menu>
1209
1210
1211
1212 <!-- UI -->
1213
1214 <menu drop_shadow="true" name="UI" opaque="true" tear_off="true">
1215 <menu_item_call name="SLURL Test" label="SLURL Test">
1216 <on_click function="Advanced.SLURLTest" userdata="" />
1217 </menu_item_call>
1218
1219 <!--
1220 *TODO: Make this a proper toggle item with the "X" indicator.
1221 1. Add a "Advanced.CheckEditableUI" function in llviewermenu.cpp.
1222 2. Change this surrounding menu_item_call to a menu_item_check.
1223 3. Uncomment the "on_check" line below.
1224 -->
1225 <menu_item_call name="Editable UI" label="Editable UI">
1226 <on_click function="Advanced.ToggleEditableUI" userdata="" />
1227 <!--
1228 <on_check function="Advanced.CheckEditableUI" userdata="" />
1229 -->
1230 </menu_item_call>
1231
1232 <menu_item_check name="Async Keystrokes" label="Async Keystrokes">
1233 <on_click function="Advanced.ToggleAsyncKeystrokes" userdata="" />
1234 <on_check function="Advanced.CheckAsyncKeystrokes" userdata="" />
1235 </menu_item_check>
1236 <menu_item_call name="Dump SelectMgr" label="Dump SelectMgr">
1237 <on_click function="Advanced.DumpSelectMgr" userdata="" />
1238 </menu_item_call>
1239 <menu_item_call name="Dump Inventory" label="Dump Inventory">
1240 <on_click function="Advanced.DumpInventory" userdata="" />
1241 </menu_item_call>
1242 <menu_item_call name="Dump Focus Holder"
1243 label="Dump Focus Holder" shortcut="control|alt|F">
1244 <on_click function="Advanced.DumpFocusHolder" userdata="" />
1245 </menu_item_call>
1246 <menu_item_call name="Print Selected Object Info"
1247 label="Print Selected Object Info"
1248 shortcut="control|shift|P">
1249 <on_click function="Advanced.PrintSelectedObjectInfo" userdata="" />
1250 </menu_item_call>
1251 <menu_item_call name="Print Agent Info" label="Print Agent Info"
1252 shortcut="shift|P">
1253 <on_click function="Advanced.PrintAgentInfo" userdata="" />
1254 </menu_item_call>
1255 <menu_item_call name="Memory Stats" label="Memory Stats"
1256 shortcut="control|alt|shift|M">
1257 <on_click function="Advanced.PrintTextureMemoryStats" userdata="" />
1258 </menu_item_call>
1259 <menu_item_check name="Double-Click Auto-Pilot"
1260 label="Double-Click Auto-Pilot">
1261 <on_click function="ToggleControl" userdata="DoubleClickAutoPilot" />
1262 <on_check control="DoubleClickAutoPilot" />
1263 </menu_item_check>
1264 <menu_item_separator />
1265 <menu_item_check name="Debug SelectMgr" label="Debug SelectMgr">
1266 <on_click function="Advanced.ToggleDebugSelectMgr" userdata="" />
1267 <on_check function="Advanced.CheckDebugSelectMgr" userdata="" />
1268 </menu_item_check>
1269 <menu_item_check label="Debug Click" name="Debug Clicks">
1270 <on_click function="Advanced.ToggleDebugClicks" userdata="" />
1271 <on_check function="Advanced.CheckDebugClicks" userdata="" />
1272 </menu_item_check>
1273 <menu_item_check name="Debug Views" label="Debug Views">
1274 <on_click function="Advanced.ToggleDebugViews" userdata="" />
1275 <on_check function="Advanced.CheckDebugViews" userdata="" />
1276 </menu_item_check>
1277 <menu_item_check name="Show Name Tooltips" label="Show Name Tooltips">
1278 <on_click function="Advanced.ToggleXUINameTooltips" userdata="" />
1279 <on_check function="Advanced.CheckXUINameTooltips" userdata="" />
1280 </menu_item_check>
1281 <menu_item_check name="Debug Mouse Events" label="Debug Mouse Events">
1282 <on_click function="Advanced.ToggleDebugMouseEvents" userdata="" />
1283 <on_check function="Advanced.CheckDebugMouseEvents" userdata="" />
1284 </menu_item_check>
1285 <menu_item_check name="Debug Keys" label="Debug Keys">
1286 <on_click function="Advanced.ToggleDebugKeys" userdata="" />
1287 <on_check function="Advanced.CheckDebugKeys" userdata="" />
1288 </menu_item_check>
1289 <menu_item_check name="Debug WindowProc" label="Debug WindowProc">
1290 <on_click function="Advanced.ToggleDebugWindowProc" userdata="" />
1291 <on_check function="Advanced.CheckDebugWindowProc" userdata="" />
1292 </menu_item_check>
1293 <menu_item_check name="Debug Text Editor Tips"
1294 label="Debug Text Editor Tips">
1295 <on_click function="Advanced.ToggleDebugTextEditorTips" userdata="" />
1296 <on_check function="Advanced.CheckDebugTextEditorTips" userdata="" />
1297 </menu_item_check>
1298 <menu_item_separator />
1299 <menu_item_check name="Show Time" label="Show Time">
1300 <on_click function="ToggleControl" userdata="DebugShowTime" />
1301 <on_check control="DebugShowTime" />
1302 </menu_item_check>
1303 <menu_item_check name="Show Render Info" label="Show Render Info">
1304 <on_click function="ToggleControl" userdata="DebugShowRenderInfo" />
1305 <on_check control="DebugShowRenderInfo" />
1306 </menu_item_check>
1307 <menu_item_check name="Show Color Under Cursor"
1308 label="Show Color Under Cursor">
1309 <on_click function="ToggleControl" userdata="DebugShowColor" />
1310 <on_check control="DebugShowColor" />
1311 </menu_item_check>
1312 </menu>
1313
1314
1315
1316 <!-- XUI -->
1317
1318 <menu drop_shadow="true" name="XUI" opaque="true" tear_off="true">
1319 <menu_item_call name="Floater Test..." label="Floater Test...">
1320 <on_click function="Advanced.ShowFloaterTest" userdata="" />
1321 </menu_item_call>
1322 <menu_item_call name="Export Menus to XML..."
1323 label="Export Menus to XML...">
1324 <on_click function="Advanced.ExportMenusToXML" userdata="" />
1325 </menu_item_call>
1326 <menu_item_call name="Edit UI..." label="Edit UI...">
1327 <on_click function="Advanced.EditUI" userdata="" />
1328 </menu_item_call>
1329 <menu_item_call name="Load from XML..." label="Load from XML...">
1330 <on_click function="Advanced.LoadUIFromXML" userdata="" />
1331 </menu_item_call>
1332 <menu_item_call name="Save to XML..." label="Save to XML...">
1333 <on_click function="Advanced.SaveUIToXML" userdata="" />
1334 </menu_item_call>
1335 <menu_item_check name="Show XUI Names" label="Show XUI Names">
1336 <on_click function="Advanced.ToggleXUINames" userdata="" />
1337 <on_check function="Advanced.CheckXUINames" userdata="" />
1338 </menu_item_check>
1339 </menu>
1340
1341
1342
1343 <!-- CHARACTER -->
1344
1345 <menu name="Character" drop_shadow="true" opaque="true" tear_off="true">
1346
1347 <menu name="Grab Baked Texture" drop_shadow="true"
1348 opaque="true" tear_off="true">
1349 <menu_item_call enabled="false" name="Iris" label="Iris">
1350 <on_click function="Advanced.GrabBakedTexture" userdata="eyes" />
1351 <on_enable function="Advanced.EnableGrabBakedTexture"
1352 userdata="eyes" />
1353 </menu_item_call>
1354 <menu_item_call enabled="false" name="Head" label="Head">
1355 <on_click function="Advanced.GrabBakedTexture" userdata="head" />
1356 <on_enable function="Advanced.EnableGrabBakedTexture"
1357 userdata="head" />
1358 </menu_item_call>
1359 <menu_item_call enabled="false" name="Upper Body" label="Upper Body">
1360 <on_click function="Advanced.GrabBakedTexture" userdata="upper" />
1361 <on_enable function="Advanced.EnableGrabBakedTexture"
1362 userdata="upper" />
1363 </menu_item_call>
1364 <menu_item_call enabled="false" name="Lower Body" label="Lower Body">
1365 <on_click function="Advanced.GrabBakedTexture" userdata="lower" />
1366 <on_enable function="Advanced.EnableGrabBakedTexture"
1367 userdata="lower" />
1368 </menu_item_call>
1369 <menu_item_call enabled="false" name="Skirt" label="Skirt">
1370 <on_click function="Advanced.GrabBakedTexture" userdata="skirt" />
1371 <on_enable function="Advanced.EnableGrabBakedTexture"
1372 userdata="skirt" />
1373 </menu_item_call>
1374 </menu>
1375
1376 <!-- CHARACTER TESTS -->
1377 <menu drop_shadow="true" name="Character Tests"
1378 opaque="true" tear_off="true">
1379 <menu_item_check name="Go Away/AFK When Idle"
1380 label="Go Away/AFK When Idle">
1381 <on_click function="Advanced.ToggleAllowIdleAFK" userdata="" />
1382 <on_check function="Advanced.CheckAllowIdleAFK" userdata="" />
1383 </menu_item_check>
1384 <menu_item_call name="Appearance To XML" label="Appearance To XML">
1385 <on_click function="Advanced.ToggleAppearanceToXML" userdata="" />
1386 </menu_item_call>
1387 <menu_item_call name="Toggle Character Geometry" enabled="false"
1388 label="Toggle Character Geometry">
1389 <on_click function="Advanced.ToggleCharacterGeometry" userdata="" />
1390 <on_enable function="EnableGodCustomerService" userdata="" />
1391 </menu_item_call>
1392 <menu_item_call name="Test Male" label="Test Male">
1393 <on_click function="Advanced.TestMale" userdata="" />
1394 </menu_item_call>
1395 <menu_item_call name="Test Female" label="Test Female">
1396 <on_click function="Advanced.TestFemale" userdata="" />
1397 </menu_item_call>
1398 <menu_item_call name="Toggle PG" label="Toggle PG">
1399 <on_click function="Advanced.TogglePG" userdata="" />
1400 </menu_item_call>
1401 <menu_item_check name="Allow Select Avatar"
1402 label="Allow Select Avatar">
1403 <on_click function="Advanced.ToggleAllowSelectAvatar" userdata="" />
1404 <on_check function="Advanced.CheckAllowSelectAvatar" userdata="" />
1405 </menu_item_check>
1406 </menu>
1407
1408 <menu_item_check name="Enable Lip Sync (Beta)"
1409 label="Enable Lip Sync (Beta)">
1410 <on_click function="ToggleControl" userdata="LipSyncEnabled" />
1411 <on_check control="LipSyncEnabled" />
1412 </menu_item_check>
1413 <menu_item_check name="Tap-Tap-Hold To Run"
1414 label="Tap-Tap-Hold To Run">
1415 <on_click function="Advanced.ToggleAllowTapTapHoldRun" userdata="" />
1416 <on_check function="Advanced.CheckAllowTapTapHoldRun" userdata="" />
1417 </menu_item_check>
1418 <menu_item_call name="Force Params to Default"
1419 label="Force Params to Default">
1420 <on_click function="Advanced.ForceParamsToDefault" userdata="" />
1421 </menu_item_call>
1422 <menu_item_call name="Reload Vertex Shader"
1423 label="Reload Vertex Shader">
1424 <on_click function="Advanced.ReloadVertexShader" userdata="" />
1425 </menu_item_call>
1426 <menu_item_check label="Animation Info"
1427 name="Animation Info">
1428 <on_click function="Advanced.ToggleAnimationInfo" userdata="" />
1429 <on_check function="Advanced.CheckAnimationInfo" userdata="" />
1430 </menu_item_check>
1431
1432 <!--
1433 *TODO: Make this a proper toggle item with the "X" indicator.
1434 1. Add a "Advanced.CheckSlowmotionAnimation" function in
1435 llviewermenu.cpp.
1436 2. Change this surrounding menu_item_call to a menu_item_check.
1437 3. Uncomment the "on_check" line below.
1438 -->
1439 <menu_item_call name="Slow Motion Animations"
1440 label="Slow Motion Animations">
1441 <on_click function="Advanced.ToggleSlowMotionAnimations" userdata="" />
1442 <!--
1443 <on_check function="Advanced.CheckSlowMotionAnimations"
1444 userdata="" />
1445 -->
1446 </menu_item_call>
1447
1448 <menu_item_check name="Show Look At" label="Show Look At">
1449 <on_click function="Advanced.ToggleShowLookAt" userdata="" />
1450 <on_check function="Advanced.CheckShowLookAt" userdata="" />
1451 </menu_item_check>
1452 <menu_item_check name="Show Point At" label="Show Point At">
1453 <on_click function="Advanced.ToggleShowPointAt" userdata="" />
1454 <on_check function="Advanced.CheckShowPointAt" userdata="" />
1455 </menu_item_check>
1456 <menu_item_check name="Debug Joint Updates" label="Debug Joint Updates">
1457 <on_click function="Advanced.ToggleDebugJointUpdates" userdata="" />
1458 <on_check function="Advanced.CheckDebugJointUpdates" userdata="" />
1459 </menu_item_check>
1460 <menu_item_check name="Disable LOD" label="Disable LOD">
1461 <on_click function="Advanced.ToggleDisableLOD" userdata="" />
1462 <on_check function="Advanced.CheckDisableLOD" userdata="" />
1463 </menu_item_check>
1464 <menu_item_check name="Debug Character Vis" label="Debug Character Vis">
1465 <on_click function="Advanced.ToggleDebugCharacterVis" userdata="" />
1466 <on_check function="Advanced.CheckDebugCharacterVis" userdata="" />
1467 </menu_item_check>
1468
1469 <!-- Disabled. See DEV-14477
1470 <menu_item_check name="Show Collision Plane"
1471 label="Show Collision Plane">
1472 <on_click function="Advanced.ToggleShowCollisionPlane"
1473 userdata="" />
1474 <on_check function="Advanced.CheckShowCollisionPlane"
1475 userdata="" />
1476 </menu_item_check>
1477 -->
1478
1479 <menu_item_check name="Show Collision Skeleton"
1480 label="Show Collision Skeleton">
1481 <on_click function="Advanced.ToggleShowCollisionSkeleton"
1482 userdata="" />
1483 <on_check function="Advanced.CheckShowCollisionSkeleton"
1484 userdata="" />
1485 </menu_item_check>
1486 <menu_item_check name="Display Agent Target"
1487 label="Display Agent Target">
1488 <on_click function="Advanced.ToggleDisplayAgentTarget" userdata="" />
1489 <on_check function="Advanced.CheckDisplayAgentTarget" userdata="" />
1490 </menu_item_check>
1491 <menu_item_check name="Debug Rotation" label="Debug Rotation">
1492 <on_click function="Advanced.ToggleDebugAvatarRotation" userdata="" />
1493 <on_check function="Advanced.CheckDebugAvatarRotation" userdata="" />
1494 </menu_item_check>
1495 <menu_item_call name="Dump Attachments" label="Dump Attachments">
1496 <on_click function="Advanced.DumpAttachments" userdata="" />
1497 </menu_item_call>
1498 <menu_item_call name="Rebake Textures" label="Rebake Textures"
1499 shortcut="control|alt|R">
1500 <on_click function="Advanced.RebakeTextures" userdata="" />
1501 </menu_item_call>
1502 </menu>
1503
1504
1505
1506 <!-- NETWORK -->
1507
1508 <menu drop_shadow="true" name="Network" opaque="true" tear_off="true">
1509 <menu_item_call name="Enable Message Log" label="Enable Message Log">
1510 <on_click function="Advanced.EnableMessageLog" userdata="" />
1511 </menu_item_call>
1512 <menu_item_call name="Disable Message Log" label="Disable Message Log">
1513 <on_click function="Advanced.DisableMessageLog" userdata="" />
1514 </menu_item_call>
1515 <menu_item_separator />
1516 <menu_item_check name="Velocity Interpolate Objects"
1517 label="Velocity Interpolate Objects">
1518 <on_click function="ToggleControl" userdata="VelocityInterpolate" />
1519 <on_check control="VelocityInterpolate" />
1520 </menu_item_check>
1521 <menu_item_check name="Ping Interpolate Object Positions"
1522 label="Ping Interpolate Object Positions">
1523 <on_click function="ToggleControl" userdata="PingInterpolate" />
1524 <on_check control="PingInterpolate" />
1525 </menu_item_check>
1526 <menu_item_separator />
1527 <menu_item_call name="Drop a Packet" label="Drop a Packet"
1528 shortcut="control|alt|L">
1529 <on_click function="Advanced.DropPacket" userdata="" />
1530 </menu_item_call>
1531 </menu>
1532
1533
1534
1535 <!-- RECORDER -->
1536
1537 <menu name="Recorder" drop_shadow="true" opaque="true" tear_off="true">
1538 <menu_item_check name="Full Session Logging"
1539 label="Full Session Logging">
1540 <on_click function="ToggleControl"
1541 userdata="StatsSessionTrackFrameStats" />
1542 <on_check control="StatsSessionTrackFrameStats" />
1543 </menu_item_check>
1544 <menu_item_call name="Start Logging" label="Start Logging">
1545 <on_click function="Advanced.FrameStatsLogging"
1546 userdata="start logging" />
1547 </menu_item_call>
1548 <menu_item_call name="Stop Logging" label="Stop Logging">
1549 <on_click function="Advanced.FrameStatsLogging"
1550 userdata="stop logging" />
1551 </menu_item_call>
1552 <menu_item_call name="Log 10 Seconds" label="Log 10 Seconds">
1553 <on_click function="Advanced.FrameStatsLogging"
1554 userdata="timed logging 10" />
1555 </menu_item_call>
1556 <menu_item_call name="Log 30 Seconds" label="Log 30 Seconds">
1557 <on_click function="Advanced.FrameStatsLogging"
1558 userdata="timed logging 30" />
1559 </menu_item_call>
1560 <menu_item_call name="Log 60 Seconds" label="Log 60 Seconds">
1561 <on_click function="Advanced.FrameStatsLogging"
1562 userdata="timed logging 60" />
1563 </menu_item_call>
1564
1565 <menu_item_separator />
1566
1567 <menu_item_call name="Start Playback" label="Start Playback">
1568 <on_click function="Advanced.AgentPilot" userdata="start playback" />
1569 </menu_item_call>
1570 <menu_item_call name="Stop Playback" label="Stop Playback">
1571 <on_click function="Advanced.AgentPilot" userdata="stop playback" />
1572 </menu_item_call>
1573 <menu_item_check name="Loop Playback" label="Loop Playback">
1574 <on_click function="Advanced.ToggleAgentPilotLoop" userdata="" />
1575 <on_check function="Advanced.CheckAgentPilotLoop" userdata="" />
1576 </menu_item_check>
1577 <menu_item_call name="Start Record" label="Start Record">
1578 <on_click function="Advanced.AgentPilot" userdata="start record" />
1579 </menu_item_call>
1580 <menu_item_call name="Stop Record" label="Stop Record">
1581 <on_click function="Advanced.AgentPilot" userdata="stop record" />
1582 </menu_item_call>
1583 </menu>
1584
1585
1586 <menu_item_separator />
1587
1588
1589 <menu_item_check name="Show Updates" label="Show Updates"
1590 shortcut="control|alt|shift|U">
1591 <on_click function="Advanced.ToggleShowObjectUpdates" userdata="" />
1592 <on_check function="Advanced.CheckShowObjectUpdates" userdata="" />
1593 </menu_item_check>
1594
1595 <menu_item_separator />
1596
1597 <menu_item_call name="Compress Image..."
1598 label="Compress Image...">
1599 <on_click function="Advanced.CompressImage" userdata="" />
1600 </menu_item_call>
1601 <menu_item_check name="Limit Select Distance"
1602 label="Limit Select Distance">
1603 <on_click function="ToggleControl"
1604 userdata="LimitSelectDistance" />
1605 <on_check control="LimitSelectDistance" />
1606 </menu_item_check>
1607 <menu_item_check name="Disable Camera Constraints"
1608 label="Disable Camera Constraints">
1609 <on_click function="ToggleControl"
1610 userdata="DisableCameraConstraints" />
1611 <on_check control="DisableCameraConstraints" />
1612 </menu_item_check>
1613 <menu_item_check name="Mouse Smoothing" label="Mouse Smoothing">
1614 <on_click function="ToggleControl"
1615 userdata="MouseSmooth" />
1616 <on_check control="MouseSmooth" />
1617 </menu_item_check>
1618
1619 <menu_item_separator />
1620
1621 <menu_item_check name="Console Window" label="Console Window">
1622 <on_click function="ToggleControl"
1623 userdata="ShowConsoleWindow" />
1624 <on_check control="ShowConsoleWindow" />
1625 </menu_item_check>
1626 <menu_item_check name="Output Debug Minidump"
1627 label="Output Debug Minidump">
1628 <on_click function="ToggleControl"
1629 userdata="SaveMiniDump" />
1630 <on_check control="SaveMiniDump" />
1631 </menu_item_check>
1632 <menu_item_check name="Clothing..." label="Clothing...">
1633 <on_click function="Advanced.ToggleClothingFloater" userdata="" />
1634 </menu_item_check>
1635 <menu_item_call name="Debug Settings" label="Debug Settings">
1636 <on_click function="Advanced.ShowDebugSettings" userdata="" />
1637 </menu_item_call>
1638 <menu_item_check name="View Admin Options" label="View Admin Options"
1639 shortcut="control|alt|V">
1640 <on_click function="Advanced.ToggleViewAdminOptions" userdata="" />
1641 <on_check function="Advanced.CheckViewAdminOptions" userdata="" />
1642 </menu_item_check>
1643 <menu_item_call name="Request Admin Status" label="Request Admin Status"
1644 shortcut="control|alt|G">
1645 <on_click function="Advanced.RequestAdminStatus" userdata="" />
1646 </menu_item_call>
1647 <menu_item_call name="Leave Admin Status" label="Leave Admin Status"
1648 shortcut="control|alt|shift|G">
1649 <on_click function="Advanced.LeaveAdminStatus" userdata="" />
1650 </menu_item_call>
1651
1652 </menu>
1653
711</menu_bar> 1654</menu_bar>