From 4d917fbceaa88a8ae596e6301412236d7c9b4d2b Mon Sep 17 00:00:00 2001 From: Cinders <cinder@cinderblocks.biz> Date: Sun, 16 Aug 2015 21:46:48 -0600 Subject: [PATCH] Add a cheat code :O --- indra/newview/CMakeLists.txt | 1 + indra/newview/llcheatcodes.cpp | 57 +++++++++++++++++++ .../newview/skins/default/xui/en/strings.xml | 1 + 3 files changed, 59 insertions(+) create mode 100644 indra/newview/llcheatcodes.cpp diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 3a7ffbf9a3..22dd0eafd7 100755 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -166,6 +166,7 @@ set(viewer_SOURCE_FILES llchathistory.cpp llchatitemscontainerctrl.cpp llchatmsgbox.cpp + llcheatcodes.cpp llchiclet.cpp llchicletbar.cpp llclassifiedinfo.cpp diff --git a/indra/newview/llcheatcodes.cpp b/indra/newview/llcheatcodes.cpp new file mode 100644 index 0000000000..589ca09fb9 --- /dev/null +++ b/indra/newview/llcheatcodes.cpp @@ -0,0 +1,57 @@ +/** + * @file llcheatcodes.cpp + * @brief Cheatcode slurls for virtual worlds, yo. + * + * Copyright (c) 2015, Cinder Roxley <cinder@sdf.org> + * + * Permission is hereby granted, free of charge, to any person or organization + * obtaining a copy of the software and accompanying documentation covered by + * this license (the "Software") to use, reproduce, display, distribute, + * execute, and transmit the Software, and to prepare derivative works of the + * Software, and to permit third-parties to whom the Software is furnished to + * do so, all subject to the following: + * + * The copyright notices in the Software and this entire statement, including + * the above license grant, this restriction and the following disclaimer, + * must be included in all copies of the Software, in whole or in part, and + * all derivative works of the Software, unless such copies or derivative + * works are solely in the form of machine-executable object code generated by + * a source language processor. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT + * SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE + * FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + */ + +#include "llviewerprecompiledheaders.h" +#include "llcommandhandler.h" + +#include "llchat.h" +#include "llfloaterimnearbychat.h" +#include "llfloaterreg.h" +#include "lltrans.h" + +class LLXyzzyHandler : public LLCommandHandler +{ +public: + LLXyzzyHandler() : LLCommandHandler("xyzzy", UNTRUSTED_THROTTLE) {} + + bool handle(const LLSD& params, const LLSD& query_map, LLMediaCtrl* web) + { + LLFloaterIMNearbyChat* nearby_chat = LLFloaterReg::findTypedInstance<LLFloaterIMNearbyChat>("nearby_chat"); + if (nearby_chat) + { + LLChat chat(LLTrans::getString("NothingHappens")); + chat.mSourceType = CHAT_SOURCE_SYSTEM; + nearby_chat->addMessage(chat); + } + return true; + } +}; + +LLXyzzyHandler gXyzzyHandler; diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 15dfb9f4de..332776d4ef 100755 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -4232,6 +4232,7 @@ Try enclosing path to the editor with double quotes. <string name="Free">free</string> <string name="NotifyIncomingMessage">Incoming message from [NAME]...</string> <string name="NearbyChatTitleChannel">Nearby chat (on channel [CHANNEL])</string> + <string name="NothingHappens">Nothing happens</string> <string name="NowPlaying">Now Playing</string> <string name="SimulatorFeaturesTitle">SIMULATOR FEATURES</string> <string name="GridInfoTitle">GRID INFO</string> -- GitLab