aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--ChangeLog.txt6
-rw-r--r--linden/indra/newview/llviewermenu.cpp2266
2 files changed, 2272 insertions, 0 deletions
diff --git a/ChangeLog.txt b/ChangeLog.txt
index 31bfe4a..be19959 100644
--- a/ChangeLog.txt
+++ b/ChangeLog.txt
@@ -1,5 +1,11 @@
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
72008-09-19 Jacek Antonelli <jacek.antonelli@gmail.com>
8
3 * linden/indra/SConstruct: 9 * linden/indra/SConstruct:
4 New optional SConstruct flag to specify an exact path to build 10 New optional SConstruct flag to specify an exact path to build
5 directory: BUILD_DIR. For convenience until we switch to CMake. 11 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}