From 9c0d8bbeb13955af600d9ec5393fb4beb47b8d96 Mon Sep 17 00:00:00 2001 From: Inusaito Sayori Date: Tue, 28 Jan 2014 04:34:12 -0500 Subject: [PATCH] [RLVa] "blocked_wireframe"? Seems half baked, but it compiles. --- indra/newview/llviewermenu.cpp | 47 ++++++++++++++++++++++++++++++++-- indra/newview/rlvdefines.h | 1 + 2 files changed, 46 insertions(+), 2 deletions(-) diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 729dd9418..c51535d7d 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -522,6 +522,10 @@ void region_change(); void parse_simulator_features(); void custom_selected(void* user_data); + +void advanced_toggle_wireframe(void*); +BOOL advanced_check_wireframe(void*); + void reset_vertex_buffers(void *user_data) { gPipeline.clearRebuildGroups(); @@ -1471,8 +1475,7 @@ void init_debug_rendering_menu(LLMenuGL* menu) menu->addChild(new LLMenuItemCallGL("Selected Texture Info", handle_selected_texture_info, NULL, NULL, 'T', MASK_CONTROL|MASK_SHIFT|MASK_ALT)); //menu->addChild(new LLMenuItemCallGL("Dump Image List", handle_dump_image_list, NULL, NULL, 'I', MASK_CONTROL|MASK_SHIFT)); - menu->addChild(new LLMenuItemToggleGL("Wireframe", &gUseWireframe, - 'R', MASK_CONTROL|MASK_SHIFT)); + menu->addChild(new LLMenuItemCheckGL("Wireframe", advanced_toggle_wireframe, NULL, advanced_check_wireframe, NULL, 'R', MASK_CONTROL|MASK_SHIFT)); LLMenuItemCheckGL* item; item = new LLMenuItemCheckGL("Object-Object Occlusion", menu_toggle_control, NULL, menu_check_control, (void*)"UseOcclusion", 'O', MASK_CONTROL|MASK_SHIFT); @@ -1730,6 +1733,46 @@ void init_server_menu(LLMenuGL* menu) menu->createJumpKeys(); } +////////////////////// +// TOGGLE WIREFRAME // +////////////////////// + +/* +class LLAdvancedToggleWireframe : public view_listener_t +{ + bool handleEvent(const LLSD& userdata) +*/ + void advanced_toggle_wireframe(void*) + { +// [RLVa:KB] - Checked: 2013-05-11 (RLVa-1.4.9) + bool fRlvBlockWireframe = gRlvAttachmentLocks.hasLockedHUD(); + if ( (!gUseWireframe) && (fRlvBlockWireframe) ) + { + RlvUtil::notifyBlocked(RLV_STRING_BLOCKED_WIREFRAME); + } + gUseWireframe = (!gUseWireframe) && (!fRlvBlockWireframe); +// [/RLVa:KB] +// gUseWireframe = !(gUseWireframe); +// gWindowResized = TRUE; // Singu Note: We don't use this (yet?) + LLPipeline::updateRenderDeferred(); + gPipeline.resetVertexBuffers(); +// return true; + } +/* +}; + +class LLAdvancedCheckWireframe : public view_listener_t +{ + bool handleEvent(const LLSD& userdata) +*/ + BOOL advanced_check_wireframe(void*) + { + bool new_value = gUseWireframe; + return new_value; + } +//}; + + //----------------------------------------------------------------------------- // cleanup_menus() //----------------------------------------------------------------------------- diff --git a/indra/newview/rlvdefines.h b/indra/newview/rlvdefines.h index c8707ed08..8057b121b 100644 --- a/indra/newview/rlvdefines.h +++ b/indra/newview/rlvdefines.h @@ -339,6 +339,7 @@ enum ERlvAttachGroupType #define RLV_STRING_BLOCKED_TELEPORT "blocked_teleport" #define RLV_STRING_BLOCKED_TPLUREREQ_REMOTE "blocked_tplurerequest_remote" #define RLV_STRING_BLOCKED_VIEWXXX "blocked_viewxxx" +#define RLV_STRING_BLOCKED_WIREFRAME "blocked_wireframe" // ============================================================================