diff options
171 files changed, 1399 insertions, 1091 deletions
@@ -67,3 +67,7 @@ db0fe9bb65187f365e58a717dd23d0f4754a9c1d DRTVWR-17_2.3.0-beta2 54d772d8687c69b1d773f6ce14bbc7bdc9d6c05f DRTVWR-33_2.5.0-beta2 b723921b5c711bd24dbe77dc76ef488b544dac78 2.5.0-beta3 b723921b5c711bd24dbe77dc76ef488b544dac78 DRTVWR-34_2.5.0-beta3 +b723921b5c711bd24dbe77dc76ef488b544dac78 2.5.0-release +b723921b5c711bd24dbe77dc76ef488b544dac78 DRTVWR-31_2.5.0-release +92e58e51776a4f8c29069b1a62ff21454d2085f0 2.6.0-start +63a6aedfce785a6c760377bf685b2dae616797d2 2.5.1-start diff --git a/doc/contributions.txt b/doc/contributions.txt index 8765240caa..26d9b98b95 100644 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -66,6 +66,7 @@ Aleric Inglewood SNOW-626 SNOW-756 SNOW-764 + SNOW-800 VWR-10001 VWR-10579 VWR-10759 @@ -85,17 +86,21 @@ Aleric Inglewood VWR-24320 VWR-24321 VWR-24354 + VWR-24366 VWR-24519 SNOW-84 SNOW-477 SNOW-744 SNOW-766 STORM-163 + STORM-955 + STORM-960 Ales Beaumont VWR-9352 SNOW-240 Alexandrea Fride STORM-255 + STORM-960 Alissa Sabre VWR-81 VWR-83 @@ -185,6 +190,7 @@ Blakar Ogre blino Nakamura VWR-17 Boroondas Gupte + OPEN-29 SNOW-278 SNOW-503 SNOW-510 @@ -387,7 +393,15 @@ Jonathan Yap STORM-812 STORM-829 STORM-844 + STORM-953 + STORM-954 + STORM-960 STORM-869 + STORM-974 + STORM-975 + STORM-977 + STORM-979 + STORM-980 VWR-17801 VWR-24347 Kage Pixel @@ -617,6 +631,7 @@ Robin Cornelius SNOW-599 SNOW-747 STORM-422 + STORM-960 VWR-2488 VWR-9557 VWR-10579 @@ -665,6 +680,8 @@ Sergen Davies CT-321 Shawn Kaufmat SNOW-240 +Siana Gearz + STORM-960 SignpostMarv Martin VWR-153 VWR-154 @@ -773,6 +790,7 @@ Twisted Laws STORM-467 STORM-844 STORM-643 + STORM-954 Vadim Bigbear VWR-2681 Vector Hastings diff --git a/indra/CMakeLists.txt b/indra/CMakeLists.txt index 6d17a6f402..7ba43f4b13 100644 --- a/indra/CMakeLists.txt +++ b/indra/CMakeLists.txt @@ -72,9 +72,9 @@ if (VIEWER) add_subdirectory(${LIBS_OPEN_PREFIX}media_plugins) # llplugin testbed code (is this the right way to include it?) - if (NOT LINUX) + if (LL_TESTS AND NOT LINUX) add_subdirectory(${VIEWER_PREFIX}test_apps/llplugintest) - endif (NOT LINUX) + endif (LL_TESTS AND NOT LINUX) if (LINUX) add_subdirectory(${VIEWER_PREFIX}linux_crash_logger) diff --git a/indra/cmake/GoogleMock.cmake b/indra/cmake/GoogleMock.cmake index ca5a8034ba..06d6d847a0 100644 --- a/indra/cmake/GoogleMock.cmake +++ b/indra/cmake/GoogleMock.cmake @@ -8,9 +8,10 @@ set(GOOGLEMOCK_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include) if (LINUX) + # VWR-24366: gmock is underlinked, it needs gtest. set(GOOGLEMOCK_LIBRARIES - gmock - gtest) + gmock -Wl,--no-as-needed + gtest -Wl,--as-needed) elseif(WINDOWS) set(GOOGLEMOCK_LIBRARIES gmock) diff --git a/indra/cmake/LLAddBuildTest.cmake b/indra/cmake/LLAddBuildTest.cmake index 05f0492234..cd0eada2d0 100644 --- a/indra/cmake/LLAddBuildTest.cmake +++ b/indra/cmake/LLAddBuildTest.cmake @@ -57,11 +57,6 @@ INCLUDE(GoogleMock) ${CMAKE_SOURCE_DIR}/test/test.h ) - # Use the default flags - if (LINUX) - SET(CMAKE_EXE_LINKER_FLAGS "") - endif (LINUX) - # start the source test executable definitions SET(${project}_TEST_OUTPUT "") FOREACH (source ${sources}) diff --git a/indra/cmake/run_build_test.py b/indra/cmake/run_build_test.py index 37aa75e364..320a9be8ab 100644 --- a/indra/cmake/run_build_test.py +++ b/indra/cmake/run_build_test.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python """\ @file run_build_test.py @author Nat Goodspeed diff --git a/indra/copy_win_scripts/start-client.py b/indra/copy_win_scripts/start-client.py index 5f7ff2f293..5699f5273f 100644 --- a/indra/copy_win_scripts/start-client.py +++ b/indra/copy_win_scripts/start-client.py @@ -1,4 +1,28 @@ #!/usr/bin/env python +"""\ +@file start-client.py + +$LicenseInfo:firstyear=2010&license=viewerlgpl$ +Second Life Viewer Source Code +Copyright (C) 2010-2011, Linden Research, Inc. + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; +version 2.1 of the License only. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA +$/LicenseInfo$ +""" import sys, getopt import os import llstart diff --git a/indra/develop.py b/indra/develop.py index 36c947327a..d9a66352f3 100755 --- a/indra/develop.py +++ b/indra/develop.py @@ -1,29 +1,30 @@ #!/usr/bin/env python -# -# @file develop.py -# @authors Bryan O'Sullivan, Mark Palange, Aaron Brashears -# @brief Fire and forget script to appropriately configure cmake for SL. -# -# $LicenseInfo:firstyear=2007&license=viewerlgpl$ -# Second Life Viewer Source Code -# Copyright (C) 2010, Linden Research, Inc. -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; -# version 2.1 of the License only. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -# -# Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA -# $/LicenseInfo$ +"""\ +@file develop.py +@authors Bryan O'Sullivan, Mark Palange, Aaron Brashears +@brief Fire and forget script to appropriately configure cmake for SL. + +$LicenseInfo:firstyear=2007&license=viewerlgpl$ +Second Life Viewer Source Code +Copyright (C) 2007-2011, Linden Research, Inc. + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; +version 2.1 of the License only. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA +$/LicenseInfo$ +""" import errno diff --git a/indra/lib/python/indra/util/llperformance.py b/indra/lib/python/indra/util/llperformance.py index 7c52730b5e..57dd64de3f 100755 --- a/indra/lib/python/indra/util/llperformance.py +++ b/indra/lib/python/indra/util/llperformance.py @@ -1,4 +1,28 @@ -#!/usr/bin/python +#!/usr/bin/env python +"""\ +@file llperformance.py + +$LicenseInfo:firstyear=2010&license=viewerlgpl$ +Second Life Viewer Source Code +Copyright (C) 2010-2011, Linden Research, Inc. + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; +version 2.1 of the License only. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA +$/LicenseInfo$ +""" # ------------------------------------------------ # Sim metrics utility functions. diff --git a/indra/lib/python/indra/util/llversion.py b/indra/lib/python/indra/util/llversion.py index 2718a85f41..ba6f567b60 100644 --- a/indra/lib/python/indra/util/llversion.py +++ b/indra/lib/python/indra/util/llversion.py @@ -1,7 +1,9 @@ -"""@file llversion.py -@brief Utility for parsing llcommon/llversion${server}.h - for the version string and channel string - Utility that parses hg or svn info for branch and revision +#!/usr/bin/env python +"""\ +@file llversion.py +@brief Parses llcommon/llversionserver.h and llcommon/llversionviewer.h + for the version string and channel string. + Parses hg info for branch and revision. $LicenseInfo:firstyear=2006&license=mit$ @@ -27,7 +29,7 @@ THE SOFTWARE. $/LicenseInfo$ """ -import re, sys, os, commands +import re, sys, os, subprocess # Methods for gathering version information from # llversionviewer.h and llversionserver.h @@ -73,29 +75,13 @@ def get_viewer_channel(): def get_server_channel(): return get_channel('server') -# Methods for gathering subversion information -def get_svn_status_matching(regular_expression): - # Get the subversion info from the working source tree - status, output = commands.getstatusoutput('svn info %s' % get_src_root()) - m = regular_expression.search(output) - if not m: - print >> sys.stderr, "Failed to parse svn info output, result follows:" - print >> sys.stderr, output - raise Exception, "No matching svn status in "+src_root - return m.group(1) - -def get_svn_branch(): - branch_re = re.compile('URL: (\S+)') - return get_svn_status_matching(branch_re) - -def get_svn_revision(): - last_rev_re = re.compile('Last Changed Rev: (\d+)') - return get_svn_status_matching(last_rev_re) - +# Methods for gathering hg information def get_hg_repo(): - status, output = commands.getstatusoutput('hg showconfig paths.default') + child = subprocess.Popen(["hg","showconfig","paths.default"], stdout=subprocess.PIPE) + output, error = child.communicate() + status = child.returncode if status: - print >> sys.stderr, output + print >> sys.stderr, error sys.exit(1) if not output: print >> sys.stderr, 'ERROR: cannot find repo we cloned from' @@ -103,24 +89,19 @@ def get_hg_repo(): return output def get_hg_changeset(): - # The right thing to do: - # status, output = commands.getstatusoutput('hg id -i') - # if status: - # print >> sys.stderr, output - # sys.exit(1) - - # The temporary hack: - status, output = commands.getstatusoutput('hg parents --template "{rev}"') + # The right thing to do would be to use the *global* revision id: + # "hg id -i" + # For the moment though, we use the parent revision: + child = subprocess.Popen(["hg","parents","--template","{rev}"], stdout=subprocess.PIPE) + output, error = child.communicate() + status = child.returncode if status: - print >> sys.stderr, output + print >> sys.stderr, error sys.exit(1) lines = output.splitlines() if len(lines) > 1: print >> sys.stderr, 'ERROR: working directory has %d parents' % len(lines) return lines[0] -def using_svn(): - return os.path.isdir(os.path.join(get_src_root(), '.svn')) - def using_hg(): return os.path.isdir(os.path.join(get_src_root(), '.hg')) diff --git a/indra/lib/python/indra/util/simperf_proc_interface.py b/indra/lib/python/indra/util/simperf_proc_interface.py index da6304a274..de061f68cc 100755 --- a/indra/lib/python/indra/util/simperf_proc_interface.py +++ b/indra/lib/python/indra/util/simperf_proc_interface.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python """\ @file simperf_proc_interface.py @brief Utility to extract log messages from *.<pid>.llsd files containing performance statistics. diff --git a/indra/lib/python/indra/util/test_win32_manifest.py b/indra/lib/python/indra/util/test_win32_manifest.py index da8ee6c545..0532cb0065 100644 --- a/indra/lib/python/indra/util/test_win32_manifest.py +++ b/indra/lib/python/indra/util/test_win32_manifest.py @@ -1,28 +1,29 @@ #!/usr/bin/env python -# @file test_win32_manifest.py -# @brief Test an assembly binding version and uniqueness in a windows dll or exe. -# -# $LicenseInfo:firstyear=2009&license=viewerlgpl$ -# Second Life Viewer Source Code -# Copyright (C) 2010, Linden Research, Inc. -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; -# version 2.1 of the License only. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -# -# Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA -# $/LicenseInfo$ - +"""\ +@file test_win32_manifest.py +@brief Test an assembly binding version and uniqueness in a windows dll or exe. + +$LicenseInfo:firstyear=2009&license=viewerlgpl$ +Second Life Viewer Source Code +Copyright (C) 2009-2011, Linden Research, Inc. + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; +version 2.1 of the License only. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA +$/LicenseInfo$ +""" import sys, os import tempfile from xml.dom.minidom import parse diff --git a/indra/llcharacter/llanimationstates.cpp b/indra/llcharacter/llanimationstates.cpp index a30113a478..155226cf17 100644 --- a/indra/llcharacter/llanimationstates.cpp +++ b/indra/llcharacter/llanimationstates.cpp @@ -33,145 +33,145 @@ #include "llanimationstates.h" #include "llstring.h" -const LLUUID ANIM_AGENT_AFRAID = LLUUID("6b61c8e8-4747-0d75-12d7-e49ff207a4ca"); -const LLUUID ANIM_AGENT_AIM_BAZOOKA_R = LLUUID("b5b4a67d-0aee-30d2-72cd-77b333e932ef"); -const LLUUID ANIM_AGENT_AIM_BOW_L = LLUUID("46bb4359-de38-4ed8-6a22-f1f52fe8f506"); -const LLUUID ANIM_AGENT_AIM_HANDGUN_R = LLUUID("3147d815-6338-b932-f011-16b56d9ac18b"); -const LLUUID ANIM_AGENT_AIM_RIFLE_R = LLUUID("ea633413-8006-180a-c3ba-96dd1d756720"); -const LLUUID ANIM_AGENT_ANGRY = LLUUID("5747a48e-073e-c331-f6f3-7c2149613d3e"); -const LLUUID ANIM_AGENT_AWAY = LLUUID("fd037134-85d4-f241-72c6-4f42164fedee"); -const LLUUID ANIM_AGENT_BACKFLIP = LLUUID("c4ca6188-9127-4f31-0158-23c4e2f93304"); -const LLUUID ANIM_AGENT_BELLY_LAUGH = LLUUID("18b3a4b5-b463-bd48-e4b6-71eaac76c515"); -const LLUUID ANIM_AGENT_BLOW_KISS = LLUUID("db84829b-462c-ee83-1e27-9bbee66bd624"); -const LLUUID ANIM_AGENT_BORED = LLUUID("b906c4ba-703b-1940-32a3-0c7f7d791510"); -const LLUUID ANIM_AGENT_BOW = LLUUID("82e99230-c906-1403-4d9c-3889dd98daba"); -const LLUUID ANIM_AGENT_BRUSH = LLUUID("349a3801-54f9-bf2c-3bd0-1ac89772af01"); -const LLUUID ANIM_AGENT_BUSY = LLUUID("efcf670c-2d18-8128-973a-034ebc806b67"); -const LLUUID ANIM_AGENT_CLAP = LLUUID("9b0c1c4e-8ac7-7969-1494-28c874c4f668"); -const LLUUID ANIM_AGENT_COURTBOW = LLUUID("9ba1c942-08be-e43a-fb29-16ad440efc50"); -const LLUUID ANIM_AGENT_CROUCH = LLUUID("201f3fdf-cb1f-dbec-201f-7333e328ae7c"); -const LLUUID ANIM_AGENT_CROUCHWALK = LLUUID("47f5f6fb-22e5-ae44-f871-73aaaf4a6022"); -const LLUUID ANIM_AGENT_CRY = LLUUID("92624d3e-1068-f1aa-a5ec-8244585193ed"); -const LLUUID ANIM_AGENT_CUSTOMIZE = LLUUID("038fcec9-5ebd-8a8e-0e2e-6e71a0a1ac53"); -const LLUUID ANIM_AGENT_CUSTOMIZE_DONE = LLUUID("6883a61a-b27b-5914-a61e-dda118a9ee2c"); -const LLUUID ANIM_AGENT_DANCE1 = LLUUID("b68a3d7c-de9e-fc87-eec8-543d787e5b0d"); -const LLUUID ANIM_AGENT_DANCE2 = LLUUID("928cae18-e31d-76fd-9cc9-2f55160ff818"); -const LLUUID ANIM_AGENT_DANCE3 = LLUUID("30047778-10ea-1af7-6881-4db7a3a5a114"); -const LLUUID ANIM_AGENT_DANCE4 = LLUUID("951469f4-c7b2-c818-9dee-ad7eea8c30b7"); -const LLUUID ANIM_AGENT_DANCE5 = LLUUID("4bd69a1d-1114-a0b4-625f-84e0a5237155"); -const LLUUID ANIM_AGENT_DANCE6 = LLUUID("cd28b69b-9c95-bb78-3f94-8d605ff1bb12"); -const LLUUID ANIM_AGENT_DANCE7 = LLUUID("a54d8ee2-28bb-80a9-7f0c-7afbbe24a5d6"); -const LLUUID ANIM_AGENT_DANCE8 = LLUUID("b0dc417c-1f11-af36-2e80-7e7489fa7cdc"); -const LLUUID ANIM_AGENT_DEAD = LLUUID("57abaae6-1d17-7b1b-5f98-6d11a6411276"); -const LLUUID ANIM_AGENT_DRINK = LLUUID("0f86e355-dd31-a61c-fdb0-3a96b9aad05f"); -const LLUUID ANIM_AGENT_EMBARRASSED = LLUUID("514af488-9051-044a-b3fc-d4dbf76377c6"); -const LLUUID ANIM_AGENT_EXPRESS_AFRAID = LLUUID("aa2df84d-cf8f-7218-527b-424a52de766e"); -const LLUUID ANIM_AGENT_EXPRESS_ANGER = LLUUID("1a03b575-9634-b62a-5767-3a679e81f4de"); -const LLUUID ANIM_AGENT_EXPRESS_BORED = LLUUID("214aa6c1-ba6a-4578-f27c-ce7688f61d0d"); -const LLUUID ANIM_AGENT_EXPRESS_CRY = LLUUID("d535471b-85bf-3b4d-a542-93bea4f59d33"); -const LLUUID ANIM_AGENT_EXPRESS_DISDAIN = LLUUID("d4416ff1-09d3-300f-4183-1b68a19b9fc1"); -const LLUUID ANIM_AGENT_EXPRESS_EMBARRASSED = LLUUID("0b8c8211-d78c-33e8-fa28-c51a9594e424"); -const LLUUID ANIM_AGENT_EXPRESS_FROWN = LLUUID("fee3df48-fa3d-1015-1e26-a205810e3001"); -const LLUUID ANIM_AGENT_EXPRESS_KISS = LLUUID("1e8d90cc-a84e-e135-884c-7c82c8b03a14"); -const LLUUID ANIM_AGENT_EXPRESS_LAUGH = LLUUID("62570842-0950-96f8-341c-809e65110823"); -const LLUUID ANIM_AGENT_EXPRESS_OPEN_MOUTH = LLUUID("d63bc1f9-fc81-9625-a0c6-007176d82eb7"); -const LLUUID ANIM_AGENT_EXPRESS_REPULSED = LLUUID("f76cda94-41d4-a229-2872-e0296e58afe1"); -const LLUUID ANIM_AGENT_EXPRESS_SAD = LLUUID("eb6ebfb2-a4b3-a19c-d388-4dd5c03823f7"); -const LLUUID ANIM_AGENT_EXPRESS_SHRUG = LLUUID("a351b1bc-cc94-aac2-7bea-a7e6ebad15ef"); -const LLUUID ANIM_AGENT_EXPRESS_SMILE = LLUUID("b7c7c833-e3d3-c4e3-9fc0-131237446312"); -const LLUUID ANIM_AGENT_EXPRESS_SURPRISE = LLUUID("728646d9-cc79-08b2-32d6-937f0a835c24"); -const LLUUID ANIM_AGENT_EXPRESS_TONGUE_OUT = LLUUID("835965c6-7f2f-bda2-5deb-2478737f91bf"); -const LLUUID ANIM_AGENT_EXPRESS_TOOTHSMILE = LLUUID("b92ec1a5-e7ce-a76b-2b05-bcdb9311417e"); -const LLUUID ANIM_AGENT_EXPRESS_WINK = LLUUID("da020525-4d94-59d6-23d7-81fdebf33148"); -const LLUUID ANIM_AGENT_EXPRESS_WORRY = LLUUID("9c05e5c7-6f07-6ca4-ed5a-b230390c3950"); -const LLUUID ANIM_AGENT_FALLDOWN = LLUUID("666307d9-a860-572d-6fd4-c3ab8865c094"); -const LLUUID ANIM_AGENT_FEMALE_RUN_NEW = LLUUID("85995026-eade-5d78-d364-94a64512cb66"); -const LLUUID ANIM_AGENT_FEMALE_WALK = LLUUID("f5fc7433-043d-e819-8298-f519a119b688"); -const LLUUID ANIM_AGENT_FEMALE_WALK_NEW = LLUUID("d60c41d2-7c24-7074-d3fa-6101cea22a51"); -const LLUUID ANIM_AGENT_FINGER_WAG = LLUUID("c1bc7f36-3ba0-d844-f93c-93be945d644f"); -const LLUUID ANIM_AGENT_FIST_PUMP = LLUUID("7db00ccd-f380-f3ee-439d-61968ec69c8a"); -const LLUUID ANIM_AGENT_FLY = LLUUID("aec4610c-757f-bc4e-c092-c6e9caf18daf"); -const LLUUID ANIM_AGENT_FLYSLOW = LLUUID("2b5a38b2-5e00-3a97-a495-4c826bc443e6"); -const LLUUID ANIM_AGENT_HELLO = LLUUID("9b29cd61-c45b-5689-ded2-91756b8d76a9"); -const LLUUID ANIM_AGENT_HOLD_BAZOOKA_R = LLUUID("ef62d355-c815-4816-2474-b1acc21094a6"); -const LLUUID ANIM_AGENT_HOLD_BOW_L = LLUUID("8b102617-bcba-037b-86c1-b76219f90c88"); -const LLUUID ANIM_AGENT_HOLD_HANDGUN_R = LLUUID("efdc1727-8b8a-c800-4077-975fc27ee2f2"); -const LLUUID ANIM_AGENT_HOLD_RIFLE_R = LLUUID("3d94bad0-c55b-7dcc-8763-033c59405d33"); -const LLUUID ANIM_AGENT_HOLD_THROW_R = LLUUID("7570c7b5-1f22-56dd-56ef-a9168241bbb6"); -const LLUUID ANIM_AGENT_HOVER = LLUUID("4ae8016b-31b9-03bb-c401-b1ea941db41d"); -const LLUUID ANIM_AGENT_HOVER_DOWN = LLUUID("20f063ea-8306-2562-0b07-5c853b37b31e"); -const LLUUID ANIM_AGENT_HOVER_UP = LLUUID("62c5de58-cb33-5743-3d07-9e4cd4352864"); -const LLUUID ANIM_AGENT_IMPATIENT = LLUUID("5ea3991f-c293-392e-6860-91dfa01278a3"); -const LLUUID ANIM_AGENT_JUMP = LLUUID("2305bd75-1ca9-b03b-1faa-b176b8a8c49e"); -const LLUUID ANIM_AGENT_JUMP_FOR_JOY = LLUUID("709ea28e-1573-c023-8bf8-520c8bc637fa"); -const LLUUID ANIM_AGENT_KISS_MY_BUTT = LLUUID("19999406-3a3a-d58c-a2ac-d72e555dcf51"); -const LLUUID ANIM_AGENT_LAND = LLUUID("7a17b059-12b2-41b1-570a-186368b6aa6f"); -const LLUUID ANIM_AGENT_LAUGH_SHORT = LLUUID("ca5b3f14-3194-7a2b-c894-aa699b718d1f"); -const LLUUID ANIM_AGENT_MEDIUM_LAND = LLUUID("f4f00d6e-b9fe-9292-f4cb-0ae06ea58d57"); -const LLUUID ANIM_AGENT_MOTORCYCLE_SIT = LLUUID("08464f78-3a8e-2944-cba5-0c94aff3af29"); -const LLUUID ANIM_AGENT_MUSCLE_BEACH = LLUUID("315c3a41-a5f3-0ba4-27da-f893f769e69b"); -const LLUUID ANIM_AGENT_NO = LLUUID("5a977ed9-7f72-44e9-4c4c-6e913df8ae74"); -const LLUUID ANIM_AGENT_NO_UNHAPPY = LLUUID("d83fa0e5-97ed-7eb2-e798-7bd006215cb4"); -const LLUUID ANIM_AGENT_NYAH_NYAH = LLUUID("f061723d-0a18-754f-66ee-29a44795a32f"); -const LLUUID ANIM_AGENT_ONETWO_PUNCH = LLUUID("eefc79be-daae-a239-8c04-890f5d23654a"); -const LLUUID ANIM_AGENT_PEACE = LLUUID("b312b10e-65ab-a0a4-8b3c-1326ea8e3ed9"); -const LLUUID ANIM_AGENT_POINT_ME = LLUUID("17c024cc-eef2-f6a0-3527-9869876d7752"); -const LLUUID ANIM_AGENT_POINT_YOU = LLUUID("ec952cca-61ef-aa3b-2789-4d1344f016de"); -const LLUUID ANIM_AGENT_PRE_JUMP = LLUUID("7a4e87fe-de39-6fcb-6223-024b00893244"); -const LLUUID ANIM_AGENT_PUNCH_LEFT = LLUUID("f3300ad9-3462-1d07-2044-0fef80062da0"); -const LLUUID ANIM_AGENT_PUNCH_RIGHT = LLUUID("c8e42d32-7310-6906-c903-cab5d4a34656"); -const LLUUID ANIM_AGENT_REPULSED = LLUUID("36f81a92-f076-5893-dc4b-7c3795e487cf"); -const LLUUID ANIM_AGENT_ROUNDHOUSE_KICK = LLUUID("49aea43b-5ac3-8a44-b595-96100af0beda"); -const LLUUID ANIM_AGENT_RPS_COUNTDOWN = LLUUID("35db4f7e-28c2-6679-cea9-3ee108f7fc7f"); -const LLUUID ANIM_AGENT_RPS_PAPER = LLUUID("0836b67f-7f7b-f37b-c00a-460dc1521f5a"); -const LLUUID ANIM_AGENT_RPS_ROCK = LLUUID("42dd95d5-0bc6-6392-f650-777304946c0f"); -const LLUUID ANIM_AGENT_RPS_SCISSORS = LLUUID("16803a9f-5140-e042-4d7b-d28ba247c325"); -const LLUUID ANIM_AGENT_RUN = LLUUID("05ddbff8-aaa9-92a1-2b74-8fe77a29b445"); -const LLUUID ANIM_AGENT_RUN_NEW = LLUUID("1ab1b236-cd08-21e6-0cbc-0d923fc6eca2"); -const LLUUID ANIM_AGENT_SAD = LLUUID("0eb702e2-cc5a-9a88-56a5-661a55c0676a"); -const LLUUID ANIM_AGENT_SALUTE = LLUUID("cd7668a6-7011-d7e2-ead8-fc69eff1a104"); -const LLUUID ANIM_AGENT_SHOOT_BOW_L = LLUUID("e04d450d-fdb5-0432-fd68-818aaf5935f8"); -const LLUUID ANIM_AGENT_SHOUT = LLUUID("6bd01860-4ebd-127a-bb3d-d1427e8e0c42"); -const LLUUID ANIM_AGENT_SHRUG = LLUUID("70ea714f-3a97-d742-1b01-590a8fcd1db5"); -const LLUUID ANIM_AGENT_SIT = LLUUID("1a5fe8ac-a804-8a5d-7cbd-56bd83184568"); -const LLUUID ANIM_AGENT_SIT_FEMALE = LLUUID("b1709c8d-ecd3-54a1-4f28-d55ac0840782"); -const LLUUID ANIM_AGENT_SIT_GENERIC = LLUUID("245f3c54-f1c0-bf2e-811f-46d8eeb386e7"); -const LLUUID ANIM_AGENT_SIT_GROUND = LLUUID("1c7600d6-661f-b87b-efe2-d7421eb93c86"); -const LLUUID ANIM_AGENT_SIT_GROUND_CONSTRAINED = LLUUID("1a2bd58e-87ff-0df8-0b4c-53e047b0bb6e"); -const LLUUID ANIM_AGENT_SIT_TO_STAND = LLUUID("a8dee56f-2eae-9e7a-05a2-6fb92b97e21e"); -const LLUUID ANIM_AGENT_SLEEP = LLUUID("f2bed5f9-9d44-39af-b0cd-257b2a17fe40"); -const LLUUID ANIM_AGENT_SMOKE_IDLE = LLUUID("d2f2ee58-8ad1-06c9-d8d3-3827ba31567a"); -const LLUUID ANIM_AGENT_SMOKE_INHALE = LLUUID("6802d553-49da-0778-9f85-1599a2266526"); -const LLUUID ANIM_AGENT_SMOKE_THROW_DOWN = LLUUID("0a9fb970-8b44-9114-d3a9-bf69cfe804d6"); -const LLUUID ANIM_AGENT_SNAPSHOT = LLUUID("eae8905b-271a-99e2-4c0e-31106afd100c"); -const LLUUID ANIM_AGENT_STAND = LLUUID("2408fe9e-df1d-1d7d-f4ff-1384fa7b350f"); -const LLUUID ANIM_AGENT_STANDUP = LLUUID("3da1d753-028a-5446-24f3-9c9b856d9422"); -const LLUUID ANIM_AGENT_STAND_1 = LLUUID("15468e00-3400-bb66-cecc-646d7c14458e"); -const LLUUID ANIM_AGENT_STAND_2 = LLUUID("370f3a20-6ca6-9971-848c-9a01bc42ae3c"); -const LLUUID ANIM_AGENT_STAND_3 = LLUUID("42b46214-4b44-79ae-deb8-0df61424ff4b"); -const LLUUID ANIM_AGENT_STAND_4 = LLUUID("f22fed8b-a5ed-2c93-64d5-bdd8b93c889f"); -const LLUUID ANIM_AGENT_STRETCH = LLUUID("80700431-74ec-a008-14f8-77575e73693f"); -const LLUUID ANIM_AGENT_STRIDE = LLUUID("1cb562b0-ba21-2202-efb3-30f82cdf9595"); -const LLUUID ANIM_AGENT_SURF = LLUUID("41426836-7437-7e89-025d-0aa4d10f1d69"); -const LLUUID ANIM_AGENT_SURPRISE = LLUUID("313b9881-4302-73c0-c7d0-0e7a36b6c224"); -const LLUUID ANIM_AGENT_SWORD_STRIKE = LLUUID("85428680-6bf9-3e64-b489-6f81087c24bd"); -const LLUUID ANIM_AGENT_TALK = LLUUID("5c682a95-6da4-a463-0bf6-0f5b7be129d1"); -const LLUUID ANIM_AGENT_TANTRUM = LLUUID("11000694-3f41-adc2-606b-eee1d66f3724"); -const LLUUID ANIM_AGENT_THROW_R = LLUUID("aa134404-7dac-7aca-2cba-435f9db875ca"); -const LLUUID ANIM_AGENT_TRYON_SHIRT = LLUUID("83ff59fe-2346-f236-9009-4e3608af64c1"); -const LLUUID ANIM_AGENT_TURNLEFT = LLUUID("56e0ba0d-4a9f-7f27-6117-32f2ebbf6135"); -const LLUUID ANIM_AGENT_TURNRIGHT = LLUUID("2d6daa51-3192-6794-8e2e-a15f8338ec30"); -const LLUUID ANIM_AGENT_TYPE = LLUUID("c541c47f-e0c0-058b-ad1a-d6ae3a4584d9"); -const LLUUID ANIM_AGENT_WALK = LLUUID("6ed24bd8-91aa-4b12-ccc7-c97c857ab4e0"); -const LLUUID ANIM_AGENT_WALK_NEW = LLUUID("33339176-7ddc-9397-94a4-bf3403cbc8f5"); -const LLUUID ANIM_AGENT_WHISPER = LLUUID("7693f268-06c7-ea71-fa21-2b30d6533f8f"); -const LLUUID ANIM_AGENT_WHISTLE = LLUUID("b1ed7982-c68e-a982-7561-52a88a5298c0"); -const LLUUID ANIM_AGENT_WINK = LLUUID("869ecdad-a44b-671e-3266-56aef2e3ac2e"); -const LLUUID ANIM_AGENT_WINK_HOLLYWOOD = LLUUID("c0c4030f-c02b-49de-24ba-2331f43fe41c"); -const LLUUID ANIM_AGENT_WORRY = LLUUID("9f496bd2-589a-709f-16cc-69bf7df1d36c"); -const LLUUID ANIM_AGENT_YES = LLUUID("15dd911d-be82-2856-26db-27659b142875"); -const LLUUID ANIM_AGENT_YES_HAPPY = LLUUID("b8c8b2a3-9008-1771-3bfc-90924955ab2d"); -const LLUUID ANIM_AGENT_YOGA_FLOAT = LLUUID("42ecd00b-9947-a97c-400a-bbc9174c7aeb"); +LLUUID const ANIM_AGENT_AFRAID ("6b61c8e8-4747-0d75-12d7-e49ff207a4ca"); +LLUUID const ANIM_AGENT_AIM_BAZOOKA_R ("b5b4a67d-0aee-30d2-72cd-77b333e932ef"); +LLUUID const ANIM_AGENT_AIM_BOW_L ("46bb4359-de38-4ed8-6a22-f1f52fe8f506"); +LLUUID const ANIM_AGENT_AIM_HANDGUN_R ("3147d815-6338-b932-f011-16b56d9ac18b"); +LLUUID const ANIM_AGENT_AIM_RIFLE_R ("ea633413-8006-180a-c3ba-96dd1d756720"); +LLUUID const ANIM_AGENT_ANGRY ("5747a48e-073e-c331-f6f3-7c2149613d3e"); +LLUUID const ANIM_AGENT_AWAY ("fd037134-85d4-f241-72c6-4f42164fedee"); +LLUUID const ANIM_AGENT_BACKFLIP ("c4ca6188-9127-4f31-0158-23c4e2f93304"); +LLUUID const ANIM_AGENT_BELLY_LAUGH ("18b3a4b5-b463-bd48-e4b6-71eaac76c515"); +LLUUID const ANIM_AGENT_BLOW_KISS ("db84829b-462c-ee83-1e27-9bbee66bd624"); +LLUUID const ANIM_AGENT_BORED ("b906c4ba-703b-1940-32a3-0c7f7d791510"); +LLUUID const ANIM_AGENT_BOW ("82e99230-c906-1403-4d9c-3889dd98daba"); +LLUUID const ANIM_AGENT_BRUSH ("349a3801-54f9-bf2c-3bd0-1ac89772af01"); +LLUUID const ANIM_AGENT_BUSY ("efcf670c-2d18-8128-973a-034ebc806b67"); +LLUUID const ANIM_AGENT_CLAP ("9b0c1c4e-8ac7-7969-1494-28c874c4f668"); +LLUUID const ANIM_AGENT_COURTBOW ("9ba1c942-08be-e43a-fb29-16ad440efc50"); +LLUUID const ANIM_AGENT_CROUCH ("201f3fdf-cb1f-dbec-201f-7333e328ae7c"); +LLUUID const ANIM_AGENT_CROUCHWALK ("47f5f6fb-22e5-ae44-f871-73aaaf4a6022"); +LLUUID const ANIM_AGENT_CRY ("92624d3e-1068-f1aa-a5ec-8244585193ed"); +LLUUID const ANIM_AGENT_CUSTOMIZE ("038fcec9-5ebd-8a8e-0e2e-6e71a0a1ac53"); +LLUUID const ANIM_AGENT_CUSTOMIZE_DONE ("6883a61a-b27b-5914-a61e-dda118a9ee2c"); +LLUUID const ANIM_AGENT_DANCE1 ("b68a3d7c-de9e-fc87-eec8-543d787e5b0d"); +LLUUID const ANIM_AGENT_DANCE2 ("928cae18-e31d-76fd-9cc9-2f55160ff818"); +LLUUID const ANIM_AGENT_DANCE3 ("30047778-10ea-1af7-6881-4db7a3a5a114"); +LLUUID const ANIM_AGENT_DANCE4 ("951469f4-c7b2-c818-9dee-ad7eea8c30b7"); +LLUUID const ANIM_AGENT_DANCE5 ("4bd69a1d-1114-a0b4-625f-84e0a5237155"); +LLUUID const ANIM_AGENT_DANCE6 ("cd28b69b-9c95-bb78-3f94-8d605ff1bb12"); +LLUUID const ANIM_AGENT_DANCE7 ("a54d8ee2-28bb-80a9-7f0c-7afbbe24a5d6"); +LLUUID const ANIM_AGENT_DANCE8 ("b0dc417c-1f11-af36-2e80-7e7489fa7cdc"); +LLUUID const ANIM_AGENT_DEAD ("57abaae6-1d17-7b1b-5f98-6d11a6411276"); +LLUUID const ANIM_AGENT_DRINK ("0f86e355-dd31-a61c-fdb0-3a96b9aad05f"); +LLUUID const ANIM_AGENT_EMBARRASSED ("514af488-9051-044a-b3fc-d4dbf76377c6"); +LLUUID const ANIM_AGENT_EXPRESS_AFRAID ("aa2df84d-cf8f-7218-527b-424a52de766e"); +LLUUID const ANIM_AGENT_EXPRESS_ANGER ("1a03b575-9634-b62a-5767-3a679e81f4de"); +LLUUID const ANIM_AGENT_EXPRESS_BORED ("214aa6c1-ba6a-4578-f27c-ce7688f61d0d"); +LLUUID const ANIM_AGENT_EXPRESS_CRY ("d535471b-85bf-3b4d-a542-93bea4f59d33"); +LLUUID const ANIM_AGENT_EXPRESS_DISDAIN ("d4416ff1-09d3-300f-4183-1b68a19b9fc1"); +LLUUID const ANIM_AGENT_EXPRESS_EMBARRASSED ("0b8c8211-d78c-33e8-fa28-c51a9594e424"); +LLUUID const ANIM_AGENT_EXPRESS_FROWN ("fee3df48-fa3d-1015-1e26-a205810e3001"); +LLUUID const ANIM_AGENT_EXPRESS_KISS ("1e8d90cc-a84e-e135-884c-7c82c8b03a14"); +LLUUID const ANIM_AGENT_EXPRESS_LAUGH ("62570842-0950-96f8-341c-809e65110823"); +LLUUID const ANIM_AGENT_EXPRESS_OPEN_MOUTH ("d63bc1f9-fc81-9625-a0c6-007176d82eb7"); +LLUUID const ANIM_AGENT_EXPRESS_REPULSED ("f76cda94-41d4-a229-2872-e0296e58afe1"); +LLUUID const ANIM_AGENT_EXPRESS_SAD ("eb6ebfb2-a4b3-a19c-d388-4dd5c03823f7"); +LLUUID const ANIM_AGENT_EXPRESS_SHRUG ("a351b1bc-cc94-aac2-7bea-a7e6ebad15ef"); +LLUUID const ANIM_AGENT_EXPRESS_SMILE ("b7c7c833-e3d3-c4e3-9fc0-131237446312"); +LLUUID const ANIM_AGENT_EXPRESS_SURPRISE ("728646d9-cc79-08b2-32d6-937f0a835c24"); +LLUUID const ANIM_AGENT_EXPRESS_TONGUE_OUT ("835965c6-7f2f-bda2-5deb-2478737f91bf"); +LLUUID const ANIM_AGENT_EXPRESS_TOOTHSMILE ("b92ec1a5-e7ce-a76b-2b05-bcdb9311417e"); +LLUUID const ANIM_AGENT_EXPRESS_WINK ("da020525-4d94-59d6-23d7-81fdebf33148"); +LLUUID const ANIM_AGENT_EXPRESS_WORRY ("9c05e5c7-6f07-6ca4-ed5a-b230390c3950"); +LLUUID const ANIM_AGENT_FALLDOWN ("666307d9-a860-572d-6fd4-c3ab8865c094"); +LLUUID const ANIM_AGENT_FEMALE_RUN_NEW ("85995026-eade-5d78-d364-94a64512cb66"); +LLUUID const ANIM_AGENT_FEMALE_WALK ("f5fc7433-043d-e819-8298-f519a119b688"); +LLUUID const ANIM_AGENT_FEMALE_WALK_NEW ("d60c41d2-7c24-7074-d3fa-6101cea22a51"); +LLUUID const ANIM_AGENT_FINGER_WAG ("c1bc7f36-3ba0-d844-f93c-93be945d644f"); +LLUUID const ANIM_AGENT_FIST_PUMP ("7db00ccd-f380-f3ee-439d-61968ec69c8a"); +LLUUID const ANIM_AGENT_FLY ("aec4610c-757f-bc4e-c092-c6e9caf18daf"); +LLUUID const ANIM_AGENT_FLYSLOW ("2b5a38b2-5e00-3a97-a495-4c826bc443e6"); +LLUUID const ANIM_AGENT_HELLO ("9b29cd61-c45b-5689-ded2-91756b8d76a9"); +LLUUID const ANIM_AGENT_HOLD_BAZOOKA_R ("ef62d355-c815-4816-2474-b1acc21094a6"); +LLUUID const ANIM_AGENT_HOLD_BOW_L ("8b102617-bcba-037b-86c1-b76219f90c88"); +LLUUID const ANIM_AGENT_HOLD_HANDGUN_R ("efdc1727-8b8a-c800-4077-975fc27ee2f2"); +LLUUID const ANIM_AGENT_HOLD_RIFLE_R ("3d94bad0-c55b-7dcc-8763-033c59405d33"); +LLUUID const ANIM_AGENT_HOLD_THROW_R ("7570c7b5-1f22-56dd-56ef-a9168241bbb6"); +LLUUID const ANIM_AGENT_HOVER ("4ae8016b-31b9-03bb-c401-b1ea941db41d"); +LLUUID const ANIM_AGENT_HOVER_DOWN ("20f063ea-8306-2562-0b07-5c853b37b31e"); +LLUUID const ANIM_AGENT_HOVER_UP ("62c5de58-cb33-5743-3d07-9e4cd4352864"); +LLUUID const ANIM_AGENT_IMPATIENT ("5ea3991f-c293-392e-6860-91dfa01278a3"); +LLUUID const ANIM_AGENT_JUMP ("2305bd75-1ca9-b03b-1faa-b176b8a8c49e"); +LLUUID const ANIM_AGENT_JUMP_FOR_JOY ("709ea28e-1573-c023-8bf8-520c8bc637fa"); +LLUUID const ANIM_AGENT_KISS_MY_BUTT ("19999406-3a3a-d58c-a2ac-d72e555dcf51"); +LLUUID const ANIM_AGENT_LAND ("7a17b059-12b2-41b1-570a-186368b6aa6f"); +LLUUID const ANIM_AGENT_LAUGH_SHORT ("ca5b3f14-3194-7a2b-c894-aa699b718d1f"); +LLUUID const ANIM_AGENT_MEDIUM_LAND ("f4f00d6e-b9fe-9292-f4cb-0ae06ea58d57"); +LLUUID const ANIM_AGENT_MOTORCYCLE_SIT ("08464f78-3a8e-2944-cba5-0c94aff3af29"); +LLUUID const ANIM_AGENT_MUSCLE_BEACH ("315c3a41-a5f3-0ba4-27da-f893f769e69b"); +LLUUID const ANIM_AGENT_NO ("5a977ed9-7f72-44e9-4c4c-6e913df8ae74"); +LLUUID const ANIM_AGENT_NO_UNHAPPY ("d83fa0e5-97ed-7eb2-e798-7bd006215cb4"); +LLUUID const ANIM_AGENT_NYAH_NYAH ("f061723d-0a18-754f-66ee-29a44795a32f"); +LLUUID const ANIM_AGENT_ONETWO_PUNCH ("eefc79be-daae-a239-8c04-890f5d23654a"); +LLUUID const ANIM_AGENT_PEACE ("b312b10e-65ab-a0a4-8b3c-1326ea8e3ed9"); +LLUUID const ANIM_AGENT_POINT_ME ("17c024cc-eef2-f6a0-3527-9869876d7752"); +LLUUID const ANIM_AGENT_POINT_YOU ("ec952cca-61ef-aa3b-2789-4d1344f016de"); +LLUUID const ANIM_AGENT_PRE_JUMP ("7a4e87fe-de39-6fcb-6223-024b00893244"); +LLUUID const ANIM_AGENT_PUNCH_LEFT ("f3300ad9-3462-1d07-2044-0fef80062da0"); +LLUUID const ANIM_AGENT_PUNCH_RIGHT ("c8e42d32-7310-6906-c903-cab5d4a34656"); +LLUUID const ANIM_AGENT_REPULSED ("36f81a92-f076-5893-dc4b-7c3795e487cf"); +LLUUID const ANIM_AGENT_ROUNDHOUSE_KICK ("49aea43b-5ac3-8a44-b595-96100af0beda"); +LLUUID const ANIM_AGENT_RPS_COUNTDOWN ("35db4f7e-28c2-6679-cea9-3ee108f7fc7f"); +LLUUID const ANIM_AGENT_RPS_PAPER ("0836b67f-7f7b-f37b-c00a-460dc1521f5a"); +LLUUID const ANIM_AGENT_RPS_ROCK ("42dd95d5-0bc6-6392-f650-777304946c0f"); +LLUUID const ANIM_AGENT_RPS_SCISSORS ("16803a9f-5140-e042-4d7b-d28ba247c325"); +LLUUID const ANIM_AGENT_RUN ("05ddbff8-aaa9-92a1-2b74-8fe77a29b445"); +LLUUID const ANIM_AGENT_RUN_NEW ("1ab1b236-cd08-21e6-0cbc-0d923fc6eca2"); +LLUUID const ANIM_AGENT_SAD ("0eb702e2-cc5a-9a88-56a5-661a55c0676a"); +LLUUID const ANIM_AGENT_SALUTE ("cd7668a6-7011-d7e2-ead8-fc69eff1a104"); +LLUUID const ANIM_AGENT_SHOOT_BOW_L ("e04d450d-fdb5-0432-fd68-818aaf5935f8"); +LLUUID const ANIM_AGENT_SHOUT ("6bd01860-4ebd-127a-bb3d-d1427e8e0c42"); +LLUUID const ANIM_AGENT_SHRUG ("70ea714f-3a97-d742-1b01-590a8fcd1db5"); +LLUUID const ANIM_AGENT_SIT ("1a5fe8ac-a804-8a5d-7cbd-56bd83184568"); +LLUUID const ANIM_AGENT_SIT_FEMALE ("b1709c8d-ecd3-54a1-4f28-d55ac0840782"); +LLUUID const ANIM_AGENT_SIT_GENERIC ("245f3c54-f1c0-bf2e-811f-46d8eeb386e7"); +LLUUID const ANIM_AGENT_SIT_GROUND ("1c7600d6-661f-b87b-efe2-d7421eb93c86"); +LLUUID const ANIM_AGENT_SIT_GROUND_CONSTRAINED("1a2bd58e-87ff-0df8-0b4c-53e047b0bb6e"); +LLUUID const ANIM_AGENT_SIT_TO_STAND ("a8dee56f-2eae-9e7a-05a2-6fb92b97e21e"); +LLUUID const ANIM_AGENT_SLEEP ("f2bed5f9-9d44-39af-b0cd-257b2a17fe40"); +LLUUID const ANIM_AGENT_SMOKE_IDLE ("d2f2ee58-8ad1-06c9-d8d3-3827ba31567a"); +LLUUID const ANIM_AGENT_SMOKE_INHALE ("6802d553-49da-0778-9f85-1599a2266526"); +LLUUID const ANIM_AGENT_SMOKE_THROW_DOWN ("0a9fb970-8b44-9114-d3a9-bf69cfe804d6"); +LLUUID const ANIM_AGENT_SNAPSHOT ("eae8905b-271a-99e2-4c0e-31106afd100c"); +LLUUID const ANIM_AGENT_STAND ("2408fe9e-df1d-1d7d-f4ff-1384fa7b350f"); +LLUUID const ANIM_AGENT_STANDUP ("3da1d753-028a-5446-24f3-9c9b856d9422"); +LLUUID const ANIM_AGENT_STAND_1 ("15468e00-3400-bb66-cecc-646d7c14458e"); +LLUUID const ANIM_AGENT_STAND_2 ("370f3a20-6ca6-9971-848c-9a01bc42ae3c"); +LLUUID const ANIM_AGENT_STAND_3 ("42b46214-4b44-79ae-deb8-0df61424ff4b"); +LLUUID const ANIM_AGENT_STAND_4 ("f22fed8b-a5ed-2c93-64d5-bdd8b93c889f"); +LLUUID const ANIM_AGENT_STRETCH ("80700431-74ec-a008-14f8-77575e73693f"); +LLUUID const ANIM_AGENT_STRIDE ("1cb562b0-ba21-2202-efb3-30f82cdf9595"); +LLUUID const ANIM_AGENT_SURF ("41426836-7437-7e89-025d-0aa4d10f1d69"); +LLUUID const ANIM_AGENT_SURPRISE ("313b9881-4302-73c0-c7d0-0e7a36b6c224"); +LLUUID const ANIM_AGENT_SWORD_STRIKE ("85428680-6bf9-3e64-b489-6f81087c24bd"); +LLUUID const ANIM_AGENT_TALK ("5c682a95-6da4-a463-0bf6-0f5b7be129d1"); +LLUUID const ANIM_AGENT_TANTRUM ("11000694-3f41-adc2-606b-eee1d66f3724"); +LLUUID const ANIM_AGENT_THROW_R ("aa134404-7dac-7aca-2cba-435f9db875ca"); +LLUUID const ANIM_AGENT_TRYON_SHIRT ("83ff59fe-2346-f236-9009-4e3608af64c1"); +LLUUID const ANIM_AGENT_TURNLEFT ("56e0ba0d-4a9f-7f27-6117-32f2ebbf6135"); +LLUUID const ANIM_AGENT_TURNRIGHT ("2d6daa51-3192-6794-8e2e-a15f8338ec30"); +LLUUID const ANIM_AGENT_TYPE ("c541c47f-e0c0-058b-ad1a-d6ae3a4584d9"); +LLUUID const ANIM_AGENT_WALK ("6ed24bd8-91aa-4b12-ccc7-c97c857ab4e0"); +LLUUID const ANIM_AGENT_WALK_NEW ("33339176-7ddc-9397-94a4-bf3403cbc8f5"); +LLUUID const ANIM_AGENT_WHISPER ("7693f268-06c7-ea71-fa21-2b30d6533f8f"); +LLUUID const ANIM_AGENT_WHISTLE ("b1ed7982-c68e-a982-7561-52a88a5298c0"); +LLUUID const ANIM_AGENT_WINK ("869ecdad-a44b-671e-3266-56aef2e3ac2e"); +LLUUID const ANIM_AGENT_WINK_HOLLYWOOD ("c0c4030f-c02b-49de-24ba-2331f43fe41c"); +LLUUID const ANIM_AGENT_WORRY ("9f496bd2-589a-709f-16cc-69bf7df1d36c"); +LLUUID const ANIM_AGENT_YES ("15dd911d-be82-2856-26db-27659b142875"); +LLUUID const ANIM_AGENT_YES_HAPPY ("b8c8b2a3-9008-1771-3bfc-90924955ab2d"); +LLUUID const ANIM_AGENT_YOGA_FLOAT ("42ecd00b-9947-a97c-400a-bbc9174c7aeb"); LLUUID AGENT_WALK_ANIMS[] = {ANIM_AGENT_WALK, ANIM_AGENT_RUN, ANIM_AGENT_CROUCHWALK, ANIM_AGENT_TURNLEFT, ANIM_AGENT_TURNRIGHT}; S32 NUM_AGENT_WALK_ANIMS = LL_ARRAY_SIZE(AGENT_WALK_ANIMS); diff --git a/indra/llcommon/llavatarconstants.h b/indra/llcommon/llavatarconstants.h index 596b0643ef..f47f447b45 100644 --- a/indra/llcommon/llavatarconstants.h +++ b/indra/llcommon/llavatarconstants.h @@ -46,10 +46,10 @@ const U32 AVATAR_TRANSACTED = 0x1 << 3; // whether avatar has actively used p const U32 AVATAR_ONLINE = 0x1 << 4; // the online status of this avatar, if known. const U32 AVATAR_AGEVERIFIED = 0x1 << 5; // whether avatar has been age-verified -static const std::string VISIBILITY_DEFAULT("default"); -static const std::string VISIBILITY_HIDDEN("hidden"); -static const std::string VISIBILITY_VISIBLE("visible"); -static const std::string VISIBILITY_INVISIBLE("invisible"); +char const* const VISIBILITY_DEFAULT = "default"; +char const* const VISIBILITY_HIDDEN = "hidden"; +char const* const VISIBILITY_VISIBLE = "visible"; +char const* const VISIBILITY_INVISIBLE = "invisible"; #endif diff --git a/indra/llcommon/lllslconstants.h b/indra/llcommon/lllslconstants.h index 539c807020..9f32598e61 100644 --- a/indra/llcommon/lllslconstants.h +++ b/indra/llcommon/lllslconstants.h @@ -181,7 +181,7 @@ const S32 OBJECT_GROUP = 7; const S32 OBJECT_CREATOR = 8; // llTextBox() magic token string - yes this is a hack. sue me. -const std::string TEXTBOX_MAGIC_TOKEN = "!!llTextBox!!"; +char const* const TEXTBOX_MAGIC_TOKEN = "!!llTextBox!!"; // changed() event flags const U32 CHANGED_NONE = 0x0; diff --git a/indra/llcommon/llmetricperformancetester.h b/indra/llcommon/llmetricperformancetester.h index 925010ac96..1372f48dcf 100644 --- a/indra/llcommon/llmetricperformancetester.h +++ b/indra/llcommon/llmetricperformancetester.h @@ -27,7 +27,7 @@ #ifndef LL_METRICPERFORMANCETESTER_H #define LL_METRICPERFORMANCETESTER_H -const std::string DEFAULT_METRIC_NAME("metric"); +char const* const DEFAULT_METRIC_NAME = "metric"; /** * @class LLMetricPerformanceTesterBasic diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h index 7d5afe92dc..5a134b5009 100644 --- a/indra/llcommon/llversionviewer.h +++ b/indra/llcommon/llversionviewer.h @@ -28,8 +28,8 @@ #define LL_LLVERSIONVIEWER_H const S32 LL_VERSION_MAJOR = 2; -const S32 LL_VERSION_MINOR = 6; -const S32 LL_VERSION_PATCH = 0; +const S32 LL_VERSION_MINOR = 5; +const S32 LL_VERSION_PATCH = 1; const S32 LL_VERSION_BUILD = 0; const char * const LL_CHANNEL = "Second Life Developer"; diff --git a/indra/llmath/llcamera.cpp b/indra/llmath/llcamera.cpp index bad4d00fd6..687c1a7d45 100644 --- a/indra/llmath/llcamera.cpp +++ b/indra/llmath/llcamera.cpp @@ -703,6 +703,7 @@ void LLCamera::calculateFrustumPlanes(F32 left, F32 right, F32 top, F32 bottom) mLocalPlanes[PLANE_BOTTOM].setVec( a, c, b); //calculate center and radius squared of frustum in world absolute coordinates + static LLVector3 const X_AXIS(1.f, 0.f, 0.f); mFrustCenter = X_AXIS*mFarPlane*0.5f; mFrustCenter = transformToAbsolute(mFrustCenter); mFrustRadiusSquared = mFarPlane*0.5f; diff --git a/indra/llmath/llcamera.h b/indra/llmath/llcamera.h index 922d6f9fac..531144db39 100644 --- a/indra/llmath/llcamera.h +++ b/indra/llmath/llcamera.h @@ -50,15 +50,6 @@ const F32 MIN_FAR_PLANE = 0.2f; static const F32 MIN_FIELD_OF_VIEW = 5.0f * DEG_TO_RAD; static const F32 MAX_FIELD_OF_VIEW = 175.f * DEG_TO_RAD; -static const LLVector3 X_AXIS(1.f,0.f,0.f); -static const LLVector3 Y_AXIS(0.f,1.f,0.f); -static const LLVector3 Z_AXIS(0.f,0.f,1.f); - -static const LLVector3 NEG_X_AXIS(-1.f,0.f,0.f); -static const LLVector3 NEG_Y_AXIS(0.f,-1.f,0.f); -static const LLVector3 NEG_Z_AXIS(0.f,0.f,-1.f); - - // An LLCamera is an LLCoorFrame with a view frustum. // This means that it has several methods for moving it around // that are inherited from the LLCoordFrame() class : diff --git a/indra/llmessage/tests/llhost_test.cpp b/indra/llmessage/tests/llhost_test.cpp index b20bceae1d..705473b0c0 100644 --- a/indra/llmessage/tests/llhost_test.cpp +++ b/indra/llmessage/tests/llhost_test.cpp @@ -152,7 +152,7 @@ namespace tut void host_object::test<9>() { // skip("setHostByName(\"google.com\"); getHostName() -> (e.g.) \"yx-in-f100.1e100.net\""); - std::string hostStr = "linux.org"; + std::string hostStr = "lindenlab.com"; LLHost host; host.setHostByName(hostStr); diff --git a/indra/llmessage/tests/test_llsdmessage_peer.py b/indra/llmessage/tests/test_llsdmessage_peer.py index 7eb198bb34..580ee7f8b4 100644 --- a/indra/llmessage/tests/test_llsdmessage_peer.py +++ b/indra/llmessage/tests/test_llsdmessage_peer.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python """\ @file test_llsdmessage_peer.py @author Nat Goodspeed diff --git a/indra/llmessage/tests/testrunner.py b/indra/llmessage/tests/testrunner.py index 4d58ef7130..b70ce91ee7 100644 --- a/indra/llmessage/tests/testrunner.py +++ b/indra/llmessage/tests/testrunner.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python """\ @file testrunner.py @author Nat Goodspeed diff --git a/indra/llplugin/llpluginclassmedia.cpp b/indra/llplugin/llpluginclassmedia.cpp index 595c470a19..26a20cede8 100644 --- a/indra/llplugin/llpluginclassmedia.cpp +++ b/indra/llplugin/llpluginclassmedia.cpp @@ -64,9 +64,10 @@ LLPluginClassMedia::~LLPluginClassMedia() reset(); } -bool LLPluginClassMedia::init(const std::string &launcher_filename, const std::string &plugin_filename, bool debug) +bool LLPluginClassMedia::init(const std::string &launcher_filename, const std::string &plugin_dir, const std::string &plugin_filename, bool debug) { LL_DEBUGS("Plugin") << "launcher: " << launcher_filename << LL_ENDL; + LL_DEBUGS("Plugin") << "dir: " << plugin_dir << LL_ENDL; LL_DEBUGS("Plugin") << "plugin: " << plugin_filename << LL_ENDL; mPlugin = new LLPluginProcessParent(this); @@ -77,7 +78,7 @@ bool LLPluginClassMedia::init(const std::string &launcher_filename, const std::s message.setValue("target", mTarget); sendMessage(message); - mPlugin->init(launcher_filename, plugin_filename, debug); + mPlugin->init(launcher_filename, plugin_dir, plugin_filename, debug); return true; } diff --git a/indra/llplugin/llpluginclassmedia.h b/indra/llplugin/llpluginclassmedia.h index c826e13c40..618e928a08 100644 --- a/indra/llplugin/llpluginclassmedia.h +++ b/indra/llplugin/llpluginclassmedia.h @@ -45,6 +45,7 @@ public: // local initialization, called by the media manager when creating a source virtual bool init(const std::string &launcher_filename, + const std::string &plugin_dir, const std::string &plugin_filename, bool debug); diff --git a/indra/llplugin/llplugininstance.cpp b/indra/llplugin/llplugininstance.cpp index c326961db4..7cde82a20e 100644 --- a/indra/llplugin/llplugininstance.cpp +++ b/indra/llplugin/llplugininstance.cpp @@ -32,6 +32,10 @@ #include "llapr.h" +#if LL_WINDOWS +#include "direct.h" // needed for _chdir() +#endif + /** Virtual destructor. */ LLPluginInstanceMessageListener::~LLPluginInstanceMessageListener() { @@ -73,10 +77,24 @@ LLPluginInstance::~LLPluginInstance() * @param[in] plugin_file Name of plugin dll/dylib/so. TODO:DOC is this correct? see .h * @return 0 if successful, APR error code or error code from the plugin's init function on failure. */ -int LLPluginInstance::load(std::string &plugin_file) +int LLPluginInstance::load(const std::string& plugin_dir, std::string &plugin_file) { pluginInitFunction init_function = NULL; + if ( plugin_dir.length() ) + { +#if LL_WINDOWS + // VWR-21275: + // *SOME* Windows systems fail to load the Qt plugins if the current working + // directory is not the same as the directory with the Qt DLLs in. + // This should not cause any run time issues since we are changing the cwd for the + // plugin shell process and not the viewer. + // Changing back to the previous directory is not necessary since the plugin shell + // quits once the plugin exits. + _chdir( plugin_dir.c_str() ); +#endif + }; + int result = apr_dso_load(&mDSOHandle, plugin_file.c_str(), gAPRPoolp); diff --git a/indra/llplugin/llplugininstance.h b/indra/llplugin/llplugininstance.h index 50531ca77f..e6926c3e37 100644 --- a/indra/llplugin/llplugininstance.h +++ b/indra/llplugin/llplugininstance.h @@ -56,7 +56,7 @@ public: // Load a plugin dll/dylib/so // Returns 0 if successful, APR error code or error code returned from the plugin's init function on failure. - int load(std::string &plugin_file); + int load(const std::string& plugin_dir, std::string &plugin_file); // Sends a message to the plugin. void sendMessage(const std::string &message); diff --git a/indra/llplugin/llpluginprocesschild.cpp b/indra/llplugin/llpluginprocesschild.cpp index 45a86476ac..0beb46d0e5 100644 --- a/indra/llplugin/llpluginprocesschild.cpp +++ b/indra/llplugin/llpluginprocesschild.cpp @@ -139,7 +139,7 @@ void LLPluginProcessChild::idle(void) if(!mPluginFile.empty()) { mInstance = new LLPluginInstance(this); - if(mInstance->load(mPluginFile) == 0) + if(mInstance->load(mPluginDir, mPluginFile) == 0) { mHeartbeat.start(); mHeartbeat.setTimerExpirySec(HEARTBEAT_SECONDS); @@ -348,6 +348,7 @@ void LLPluginProcessChild::receiveMessageRaw(const std::string &message) if(message_name == "load_plugin") { mPluginFile = parsed.getValue("file"); + mPluginDir = parsed.getValue("dir"); } else if(message_name == "shm_add") { diff --git a/indra/llplugin/llpluginprocesschild.h b/indra/llplugin/llpluginprocesschild.h index 22ff403ad6..a9d6794e40 100644 --- a/indra/llplugin/llpluginprocesschild.h +++ b/indra/llplugin/llpluginprocesschild.h @@ -92,6 +92,7 @@ private: LLSocket::ptr_t mSocket; std::string mPluginFile; + std::string mPluginDir; LLPluginInstance *mInstance; diff --git a/indra/llplugin/llpluginprocessparent.cpp b/indra/llplugin/llpluginprocessparent.cpp index c002de0462..db4b8b1316 100644 --- a/indra/llplugin/llpluginprocessparent.cpp +++ b/indra/llplugin/llpluginprocessparent.cpp @@ -157,10 +157,11 @@ void LLPluginProcessParent::errorState(void) setState(STATE_ERROR); } -void LLPluginProcessParent::init(const std::string &launcher_filename, const std::string &plugin_filename, bool debug) +void LLPluginProcessParent::init(const std::string &launcher_filename, const std::string &plugin_dir, const std::string &plugin_filename, bool debug) { mProcess.setExecutable(launcher_filename); mPluginFile = plugin_filename; + mPluginDir = plugin_dir; mCPUUsage = 0.0f; mDebug = debug; setState(STATE_INITIALIZED); @@ -445,6 +446,7 @@ void LLPluginProcessParent::idle(void) { LLPluginMessage message(LLPLUGIN_MESSAGE_CLASS_INTERNAL, "load_plugin"); message.setValue("file", mPluginFile); + message.setValue("dir", mPluginDir); sendMessage(message); } diff --git a/indra/llplugin/llpluginprocessparent.h b/indra/llplugin/llpluginprocessparent.h index 32394809ef..c66723f175 100644 --- a/indra/llplugin/llpluginprocessparent.h +++ b/indra/llplugin/llpluginprocessparent.h @@ -57,6 +57,7 @@ public: ~LLPluginProcessParent(); void init(const std::string &launcher_filename, + const std::string &plugin_dir, const std::string &plugin_filename, bool debug); @@ -151,6 +152,7 @@ private: LLProcessLauncher mProcess; std::string mPluginFile; + std::string mPluginDir; LLPluginProcessParentOwner *mOwner; diff --git a/indra/llrender/llvertexbuffer.cpp b/indra/llrender/llvertexbuffer.cpp index 02160b09c4..7b5907a668 100644 --- a/indra/llrender/llvertexbuffer.cpp +++ b/indra/llrender/llvertexbuffer.cpp @@ -47,6 +47,7 @@ U32 LLVertexBuffer::sSetCount = 0; S32 LLVertexBuffer::sCount = 0; S32 LLVertexBuffer::sGLCount = 0; S32 LLVertexBuffer::sMappedCount = 0; +BOOL LLVertexBuffer::sDisableVBOMapping = FALSE ; BOOL LLVertexBuffer::sEnableVBOs = TRUE; U32 LLVertexBuffer::sGLRenderBuffer = 0; U32 LLVertexBuffer::sGLRenderIndices = 0; @@ -251,6 +252,7 @@ void LLVertexBuffer::drawRange(U32 mode, U32 start, U32 end, U32 count, U32 indi void LLVertexBuffer::draw(U32 mode, U32 count, U32 indices_offset) const { llassert(mRequestedNumIndices >= 0); + if (indices_offset >= (U32) mRequestedNumIndices || indices_offset + count > (U32) mRequestedNumIndices) { @@ -282,6 +284,7 @@ void LLVertexBuffer::draw(U32 mode, U32 count, U32 indices_offset) const void LLVertexBuffer::drawArrays(U32 mode, U32 first, U32 count) const { llassert(mRequestedNumVerts >= 0); + if (first >= (U32) mRequestedNumVerts || first + count > (U32) mRequestedNumVerts) { @@ -305,9 +308,10 @@ void LLVertexBuffer::drawArrays(U32 mode, U32 first, U32 count) const } //static -void LLVertexBuffer::initClass(bool use_vbo) +void LLVertexBuffer::initClass(bool use_vbo, bool no_vbo_mapping) { sEnableVBOs = use_vbo; + sDisableVBOMapping = sEnableVBOs && no_vbo_mapping ; LLGLNamePool::registerPool(&sDynamicVBOPool); LLGLNamePool::registerPool(&sDynamicIBOPool); LLGLNamePool::registerPool(&sStreamVBOPool); @@ -364,7 +368,9 @@ LLVertexBuffer::LLVertexBuffer(U32 typemask, S32 usage) : mGLBuffer(0), mGLIndices(0), mMappedData(NULL), - mMappedIndexData(NULL), mLocked(FALSE), + mMappedIndexData(NULL), + mVertexLocked(FALSE), + mIndexLocked(FALSE), mFinal(FALSE), mFilthy(FALSE), mEmpty(TRUE), @@ -422,6 +428,8 @@ LLVertexBuffer::~LLVertexBuffer() destroyGLBuffer(); destroyGLIndices(); sCount--; + + llassert_always(!mMappedData && !mMappedIndexData) ; }; //---------------------------------------------------------------------------- @@ -567,6 +575,8 @@ void LLVertexBuffer::destroyGLBuffer() { if (useVBOs()) { + freeClientBuffer() ; + if (mMappedData || mMappedIndexData) { llerrs << "Vertex buffer destroyed while mapped!" << llendl; @@ -594,11 +604,13 @@ void LLVertexBuffer::destroyGLIndices() { if (useVBOs()) { + freeClientBuffer() ; + if (mMappedData || mMappedIndexData) { llerrs << "Vertex buffer destroyed while mapped." << llendl; } - releaseIndices(); + releaseIndices(); } else { @@ -799,6 +811,7 @@ void LLVertexBuffer::resizeBuffer(S32 newnverts, S32 newnindices) if (mResized && useVBOs()) { + freeClientBuffer() ; setBuffer(0); } } @@ -822,36 +835,69 @@ BOOL LLVertexBuffer::useVBOs() const } //---------------------------------------------------------------------------- +void LLVertexBuffer::freeClientBuffer() +{ + if(useVBOs() && sDisableVBOMapping && (mMappedData || mMappedIndexData)) + { + delete[] mMappedData ; + delete[] mMappedIndexData ; + mMappedData = NULL ; + mMappedIndexData = NULL ; + } +} + +void LLVertexBuffer::allocateClientVertexBuffer() +{ + if(!mMappedData) + { + U32 size = getSize() ; + mMappedData = new U8[size]; + memset(mMappedData, 0, size); + } +} + +void LLVertexBuffer::allocateClientIndexBuffer() +{ + if(!mMappedIndexData) + { + U32 size = getIndicesSize(); + mMappedIndexData = new U8[size]; + memset(mMappedIndexData, 0, size); + } +} // Map for data access -U8* LLVertexBuffer::mapBuffer(S32 access) +U8* LLVertexBuffer::mapVertexBuffer(S32 type, S32 access) { LLMemType mt2(LLMemType::MTYPE_VERTEX_MAP_BUFFER); if (mFinal) { - llerrs << "LLVertexBuffer::mapBuffer() called on a finalized buffer." << llendl; + llerrs << "LLVertexBuffer::mapVeretxBuffer() called on a finalized buffer." << llendl; } if (!useVBOs() && !mMappedData && !mMappedIndexData) { - llerrs << "LLVertexBuffer::mapBuffer() called on unallocated buffer." << llendl; + llerrs << "LLVertexBuffer::mapVertexBuffer() called on unallocated buffer." << llendl; } - if (!mLocked && useVBOs()) + if (!mVertexLocked && useVBOs()) { { LLMemType mt_v(LLMemType::MTYPE_VERTEX_MAP_BUFFER_VERTICES); - setBuffer(0); - mLocked = TRUE; + setBuffer(0, type); + mVertexLocked = TRUE; stop_glerror(); - mMappedData = (U8*) glMapBufferARB(GL_ARRAY_BUFFER_ARB, GL_WRITE_ONLY_ARB); - stop_glerror(); - } - { - LLMemType mt_v(LLMemType::MTYPE_VERTEX_MAP_BUFFER_INDICES); - mMappedIndexData = (U8*) glMapBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB, GL_WRITE_ONLY_ARB); + + if(sDisableVBOMapping) + { + allocateClientVertexBuffer() ; + } + else + { + mMappedData = (U8*) glMapBufferARB(GL_ARRAY_BUFFER_ARB, GL_WRITE_ONLY_ARB); + } stop_glerror(); } - + if (!mMappedData) { log_glerror(); @@ -862,80 +908,166 @@ U8* LLVertexBuffer::mapBuffer(S32 access) llinfos << "Available physical mwmory(KB): " << avail_phy_mem << llendl ; llinfos << "Available virtual memory(KB): " << avail_vir_mem << llendl; - //-------------------- - //print out more debug info before crash - llinfos << "vertex buffer size: (num verts : num indices) = " << getNumVerts() << " : " << getNumIndices() << llendl ; - GLint size ; - glGetBufferParameterivARB(GL_ARRAY_BUFFER_ARB, GL_BUFFER_SIZE_ARB, &size) ; - llinfos << "GL_ARRAY_BUFFER_ARB size is " << size << llendl ; - //-------------------- + if(!sDisableVBOMapping) + { + //-------------------- + //print out more debug info before crash + llinfos << "vertex buffer size: (num verts : num indices) = " << getNumVerts() << " : " << getNumIndices() << llendl ; + GLint size ; + glGetBufferParameterivARB(GL_ARRAY_BUFFER_ARB, GL_BUFFER_SIZE_ARB, &size) ; + llinfos << "GL_ARRAY_BUFFER_ARB size is " << size << llendl ; + //-------------------- - GLint buff; - glGetIntegerv(GL_ARRAY_BUFFER_BINDING_ARB, &buff); - if ((GLuint)buff != mGLBuffer) + GLint buff; + glGetIntegerv(GL_ARRAY_BUFFER_BINDING_ARB, &buff); + if ((GLuint)buff != mGLBuffer) + { + llerrs << "Invalid GL vertex buffer bound: " << buff << llendl; + } + + + llerrs << "glMapBuffer returned NULL (no vertex data)" << llendl; + } + else { - llerrs << "Invalid GL vertex buffer bound: " << buff << llendl; + llerrs << "memory allocation for vertex data failed." << llendl ; } + } + sMappedCount++; + } + + return mMappedData; +} - - llerrs << "glMapBuffer returned NULL (no vertex data)" << llendl; +U8* LLVertexBuffer::mapIndexBuffer(S32 access) +{ + LLMemType mt2(LLMemType::MTYPE_VERTEX_MAP_BUFFER); + if (mFinal) + { + llerrs << "LLVertexBuffer::mapIndexBuffer() called on a finalized buffer." << llendl; + } + if (!useVBOs() && !mMappedData && !mMappedIndexData) + { + llerrs << "LLVertexBuffer::mapIndexBuffer() called on unallocated buffer." << llendl; + } + + if (!mIndexLocked && useVBOs()) + { + { + LLMemType mt_v(LLMemType::MTYPE_VERTEX_MAP_BUFFER_INDICES); + + setBuffer(0, TYPE_INDEX); + mIndexLocked = TRUE; + stop_glerror(); + + if(sDisableVBOMapping) + { + allocateClientIndexBuffer() ; + } + else + { + mMappedIndexData = (U8*) glMapBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB, GL_WRITE_ONLY_ARB); + } + stop_glerror(); } if (!mMappedIndexData) { log_glerror(); - GLint buff; - glGetIntegerv(GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB, &buff); - if ((GLuint)buff != mGLIndices) + if(!sDisableVBOMapping) { - llerrs << "Invalid GL index buffer bound: " << buff << llendl; - } + GLint buff; + glGetIntegerv(GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB, &buff); + if ((GLuint)buff != mGLIndices) + { + llerrs << "Invalid GL index buffer bound: " << buff << llendl; + } - llerrs << "glMapBuffer returned NULL (no index data)" << llendl; + llerrs << "glMapBuffer returned NULL (no index data)" << llendl; + } + else + { + llerrs << "memory allocation for Index data failed. " << llendl ; + } } sMappedCount++; } - - return mMappedData; + + return mMappedIndexData ; } -void LLVertexBuffer::unmapBuffer() +void LLVertexBuffer::unmapBuffer(S32 type) { LLMemType mt2(LLMemType::MTYPE_VERTEX_UNMAP_BUFFER); - if (mMappedData || mMappedIndexData) + if (!useVBOs()) { - if (useVBOs() && mLocked) + return ; //nothing to unmap + } + + bool updated_all = false ; + if (mMappedData && mVertexLocked && type != TYPE_INDEX) + { + updated_all = (mIndexLocked && type < 0) ; //both vertex and index buffers done updating + + if(sDisableVBOMapping) + { + stop_glerror(); + glBufferSubDataARB(GL_ARRAY_BUFFER_ARB, 0, getSize(), mMappedData); + stop_glerror(); + } + else { stop_glerror(); glUnmapBufferARB(GL_ARRAY_BUFFER_ARB); stop_glerror(); + + mMappedData = NULL; + } + + mVertexLocked = FALSE ; + sMappedCount--; + } + + if(mMappedIndexData && mIndexLocked && (type < 0 || type == TYPE_INDEX)) + { + if(sDisableVBOMapping) + { + stop_glerror(); + glBufferSubDataARB(GL_ELEMENT_ARRAY_BUFFER_ARB, 0, getIndicesSize(), mMappedIndexData); + stop_glerror(); + } + else + { + stop_glerror(); glUnmapBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB); stop_glerror(); - /*if (!sMapped) - { - llerrs << "Redundantly unmapped VBO!" << llendl; - } - sMapped = FALSE;*/ - sMappedCount--; - - if (mUsage == GL_STATIC_DRAW_ARB) - { //static draw buffers can only be mapped a single time - //throw out client data (we won't be using it again) - mEmpty = TRUE; - mFinal = TRUE; - } - else + mMappedIndexData = NULL ; + } + + mIndexLocked = FALSE ; + sMappedCount--; + } + + if(updated_all) + { + if(mUsage == GL_STATIC_DRAW_ARB) + { + //static draw buffers can only be mapped a single time + //throw out client data (we won't be using it again) + mEmpty = TRUE; + mFinal = TRUE; + + if(sDisableVBOMapping) { - mEmpty = FALSE; + freeClientBuffer() ; } - - mMappedIndexData = NULL; - mMappedData = NULL; - - mLocked = FALSE; + } + else + { + mEmpty = FALSE; } } } @@ -949,15 +1081,16 @@ template <class T,S32 type> struct VertexBufferStrider strider_t& strider, S32 index) { - if (vbo.mapBuffer() == NULL) - { - llwarns << "mapBuffer failed!" << llendl; - return FALSE; - } - if (type == LLVertexBuffer::TYPE_INDEX) { S32 stride = sizeof(T); + + if (vbo.mapIndexBuffer() == NULL) + { + llwarns << "mapIndexBuffer failed!" << llendl; + return FALSE; + } + strider = (T*)(vbo.getMappedIndices() + index*stride); strider.setStride(0); return TRUE; @@ -965,6 +1098,13 @@ template <class T,S32 type> struct VertexBufferStrider else if (vbo.hasDataType(type)) { S32 stride = vbo.getStride(); + + if (vbo.mapVertexBuffer(type) == NULL) + { + llwarns << "mapVertexBuffer failed!" << llendl; + return FALSE; + } + strider = (T*)(vbo.getMappedData() + vbo.getOffset(type) + index*stride); strider.setStride(stride); return TRUE; @@ -1045,7 +1185,7 @@ void LLVertexBuffer::setStride(S32 type, S32 new_stride) //---------------------------------------------------------------------------- // Set for rendering -void LLVertexBuffer::setBuffer(U32 data_mask) +void LLVertexBuffer::setBuffer(U32 data_mask, S32 type) { LLMemType mt2(LLMemType::MTYPE_VERTEX_SET_BUFFER); //set up pointers if the data mask is different ... @@ -1186,7 +1326,7 @@ void LLVertexBuffer::setBuffer(U32 data_mask) { ll_fail("LLVertexBuffer::mapBuffer failed"); } - unmapBuffer(); + unmapBuffer(type); } else { diff --git a/indra/llrender/llvertexbuffer.h b/indra/llrender/llvertexbuffer.h index 94fa790957..c51ce7ac4e 100644 --- a/indra/llrender/llvertexbuffer.h +++ b/indra/llrender/llvertexbuffer.h @@ -80,7 +80,7 @@ public: static BOOL sUseStreamDraw; - static void initClass(bool use_vbo); + static void initClass(bool use_vbo, bool no_vbo_mapping); static void cleanupClass(); static void setupClientArrays(U32 data_mask); static void clientCopy(F64 max_time = 0.005); //copy data from client to GL @@ -139,19 +139,24 @@ protected: void updateNumVerts(S32 nverts); void updateNumIndices(S32 nindices); virtual BOOL useVBOs() const; - void unmapBuffer(); - + void unmapBuffer(S32 type); + void freeClientBuffer() ; + void allocateClientVertexBuffer() ; + void allocateClientIndexBuffer() ; + public: LLVertexBuffer(U32 typemask, S32 usage); // map for data access - U8* mapBuffer(S32 access = -1); + U8* mapVertexBuffer(S32 type = -1, S32 access = -1); + U8* mapIndexBuffer(S32 access = -1); + // set for rendering - virtual void setBuffer(U32 data_mask); // calls setupVertexBuffer() if data_mask is not 0 + virtual void setBuffer(U32 data_mask, S32 type = -1); // calls setupVertexBuffer() if data_mask is not 0 // allocate buffer void allocateBuffer(S32 nverts, S32 nindices, bool create); virtual void resizeBuffer(S32 newnverts, S32 newnindices); - + // Only call each getVertexPointer, etc, once before calling unmapBuffer() // call unmapBuffer() after calls to getXXXStrider() before any cals to setBuffer() // example: @@ -170,7 +175,7 @@ public: bool getClothWeightStrider(LLStrider<LLVector4>& strider, S32 index=0); BOOL isEmpty() const { return mEmpty; } - BOOL isLocked() const { return mLocked; } + BOOL isLocked() const { return mVertexLocked || mIndexLocked; } S32 getNumVerts() const { return mNumVerts; } S32 getNumIndices() const { return mNumIndices; } S32 getRequestedVerts() const { return mRequestedNumVerts; } @@ -209,13 +214,14 @@ protected: U32 mGLIndices; // GL IBO handle U8* mMappedData; // pointer to currently mapped data (NULL if unmapped) U8* mMappedIndexData; // pointer to currently mapped indices (NULL if unmapped) - BOOL mLocked; // if TRUE, buffer is being or has been written to in client memory + BOOL mVertexLocked; // if TRUE, vertex buffer is being or has been written to in client memory + BOOL mIndexLocked; // if TRUE, index buffer is being or has been written to in client memory BOOL mFinal; // if TRUE, buffer can not be mapped again BOOL mFilthy; // if TRUE, entire buffer must be copied (used to prevent redundant dirty flags) - BOOL mEmpty; // if TRUE, client buffer is empty (or NULL). Old values have been discarded. - S32 mOffsets[TYPE_MAX]; + BOOL mEmpty; // if TRUE, client buffer is empty (or NULL). Old values have been discarded. BOOL mResized; // if TRUE, client buffer has been resized and GL buffer has not BOOL mDynamicSize; // if TRUE, buffer has been resized at least once (and should be padded) + S32 mOffsets[TYPE_MAX]; class DirtyRegion { @@ -240,13 +246,14 @@ public: static std::vector<U32> sDeleteList; typedef std::list<LLVertexBuffer*> buffer_list_t; + static BOOL sDisableVBOMapping; //disable glMapBufferARB static BOOL sEnableVBOs; + static BOOL sVBOActive; + static BOOL sIBOActive; static S32 sTypeOffsets[TYPE_MAX]; static U32 sGLMode[LLRender::NUM_MODES]; static U32 sGLRenderBuffer; - static U32 sGLRenderIndices; - static BOOL sVBOActive; - static BOOL sIBOActive; + static U32 sGLRenderIndices; static U32 sLastMask; static U32 sAllocatedBytes; static U32 sBindCount; diff --git a/indra/llvfs/lldir_linux.h b/indra/llvfs/lldir_linux.h index 451e81ae93..a34de1241d 100644 --- a/indra/llvfs/lldir_linux.h +++ b/indra/llvfs/lldir_linux.h @@ -1,6 +1,6 @@ /** * @file lldir_linux.h - * @brief Definition of directory utilities class for linux + * @brief Definition of directory utilities class for linux * * $LicenseInfo:firstyear=2000&license=viewerlgpl$ * Second Life Viewer Source Code @@ -24,6 +24,10 @@ * $/LicenseInfo$ */ +#if !LL_LINUX +#error This header must not be included when compiling for any target other than Linux. Consider including lldir.h instead. +#endif // !LL_LINUX + #ifndef LL_LLDIR_LINUX_H #define LL_LLDIR_LINUX_H @@ -40,7 +44,7 @@ public: /*virtual*/ void initAppDirs(const std::string &app_name, const std::string& app_read_only_data_dir); -public: + virtual std::string getCurPath(); virtual U32 countFilesInDir(const std::string &dirname, const std::string &mask); virtual BOOL getNextFileInDir(const std::string &dirname, const std::string &mask, std::string &fname); @@ -53,7 +57,7 @@ private: DIR *mDirp; int mCurrentDirIndex; int mCurrentDirCount; - std::string mCurrentDir; + std::string mCurrentDir; }; #endif // LL_LLDIR_LINUX_H diff --git a/indra/llvfs/lldir_mac.h b/indra/llvfs/lldir_mac.h index 4eac3c3ae6..b456d3afca 100644 --- a/indra/llvfs/lldir_mac.h +++ b/indra/llvfs/lldir_mac.h @@ -24,6 +24,10 @@ * $/LicenseInfo$ */ +#if !LL_DARWIN +#error This header must not be included when compiling for any target other than Mac OS. Consider including lldir.h instead. +#endif // !LL_DARWIN + #ifndef LL_LLDIR_MAC_H #define LL_LLDIR_MAC_H @@ -39,7 +43,7 @@ public: /*virtual*/ void initAppDirs(const std::string &app_name, const std::string& app_read_only_data_dir); -public: + virtual S32 deleteFilesInDir(const std::string &dirname, const std::string &mask); virtual std::string getCurPath(); virtual U32 countFilesInDir(const std::string &dirname, const std::string &mask); diff --git a/indra/llvfs/lldir_solaris.h b/indra/llvfs/lldir_solaris.h index 4a1794f539..70fac6f818 100644 --- a/indra/llvfs/lldir_solaris.h +++ b/indra/llvfs/lldir_solaris.h @@ -24,6 +24,10 @@ * $/LicenseInfo$ */ +#if !LL_SOLARIS +#error This header must not be included when compiling for any target other than Solaris. Consider including lldir.h instead. +#endif // !LL_SOLARIS + #ifndef LL_LLDIR_SOLARIS_H #define LL_LLDIR_SOLARIS_H @@ -40,7 +44,7 @@ public: /*virtual*/ void initAppDirs(const std::string &app_name, const std::string& app_read_only_data_dir); -public: + virtual std::string getCurPath(); virtual U32 countFilesInDir(const std::string &dirname, const std::string &mask); virtual BOOL getNextFileInDir(const std::string &dirname, const std::string &mask, std::string &fname); @@ -50,7 +54,7 @@ private: DIR *mDirp; int mCurrentDirIndex; int mCurrentDirCount; - std::string mCurrentDir; + std::string mCurrentDir; }; #endif // LL_LLDIR_SOLARIS_H diff --git a/indra/llvfs/lldir_win32.h b/indra/llvfs/lldir_win32.h index 4c932c932c..b170ebbcd7 100644 --- a/indra/llvfs/lldir_win32.h +++ b/indra/llvfs/lldir_win32.h @@ -24,6 +24,10 @@ * $/LicenseInfo$ */ +#if !LL_WINDOWS +#error This header must not be included when compiling for any target other than Windows. Consider including lldir.h instead. +#endif // !LL_WINDOWS + #ifndef LL_LLDIR_WIN32_H #define LL_LLDIR_WIN32_H @@ -47,8 +51,8 @@ public: /*virtual*/ std::string getLLPluginFilename(std::string base_name); private: - BOOL LLDir_Win32::getNextFileInDir(const llutf16string &dirname, const std::string &mask, std::string &fname); - + BOOL getNextFileInDir(const llutf16string &dirname, const std::string &mask, std::string &fname); + void* mDirSearch_h; llutf16string mCurrentDir; }; diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 6630d8f400..a010524091 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -8451,6 +8451,17 @@ <key>Value</key> <integer>1</integer> </map> + <key>RenderVBOMappingDisable</key> + <map> + <key>Comment</key> + <string>Disable VBO glMapBufferARB</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>Boolean</string> + <key>Value</key> + <integer>1</integer> + </map> <key>RenderUseStreamVBO</key> <map> <key>Comment</key> diff --git a/indra/newview/generate_breakpad_symbols.py b/indra/newview/generate_breakpad_symbols.py index 4fd04d780e..5ebec1563e 100644 --- a/indra/newview/generate_breakpad_symbols.py +++ b/indra/newview/generate_breakpad_symbols.py @@ -1,29 +1,31 @@ #!/usr/bin/env python -# @file generate_breakpad_symbols.py -# @author Brad Kittenbrink <brad@lindenlab.com> -# @brief Simple tool for generating google_breakpad symbol information -# for the crash reporter. -# -# $LicenseInfo:firstyear=2010&license=viewerlgpl$ -# Second Life Viewer Source Code -# Copyright (C) 2010, Linden Research, Inc. -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; -# version 2.1 of the License only. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -# -# Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA -# $/LicenseInfo$ +"""\ +@file generate_breakpad_symbols.py +@author Brad Kittenbrink <brad@lindenlab.com> +@brief Simple tool for generating google_breakpad symbol information + for the crash reporter. + +$LicenseInfo:firstyear=2010&license=viewerlgpl$ +Second Life Viewer Source Code +Copyright (C) 2010-2011, Linden Research, Inc. + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; +version 2.1 of the License only. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA +$/LicenseInfo$ +""" import collections diff --git a/indra/newview/llavatarlist.cpp b/indra/newview/llavatarlist.cpp index ff7dfccc0a..771419f60a 100644 --- a/indra/newview/llavatarlist.cpp +++ b/indra/newview/llavatarlist.cpp @@ -240,6 +240,9 @@ void LLAvatarList::addAvalineItem(const LLUUID& item_id, const LLUUID& session_i LLAvalineListItem* item = new LLAvalineListItem(/*hide_number=*/false); item->setAvatarId(item_id, session_id, true, false); item->setName(item_name); + item->showLastInteractionTime(mShowLastInteractionTime); + item->showSpeakingIndicator(mShowSpeakingIndicator); + item->setOnline(false); addItem(item, item_id); mIDs.push_back(item_id); @@ -286,9 +289,18 @@ void LLAvatarList::refresh() { // *NOTE: If you change the UI to show a different string, // be sure to change the filter code below. - addNewItem(buddy_id, - av_name.mDisplayName.empty() ? waiting_str : av_name.mDisplayName, - LLAvatarTracker::instance().isBuddyOnline(buddy_id)); + if (LLRecentPeople::instance().isAvalineCaller(buddy_id)) + { + const LLSD& call_data = LLRecentPeople::instance().getData(buddy_id); + addAvalineItem(buddy_id, call_data["session_id"].asUUID(), call_data["call_number"].asString()); + } + else + { + addNewItem(buddy_id, + av_name.mDisplayName.empty() ? waiting_str : av_name.mDisplayName, + LLAvatarTracker::instance().isBuddyOnline(buddy_id)); + } + modified = true; nadded++; } @@ -440,7 +452,7 @@ void LLAvatarList::addNewItem(const LLUUID& id, const std::string& name, BOOL is BOOL LLAvatarList::handleRightMouseDown(S32 x, S32 y, MASK mask) { BOOL handled = LLUICtrl::handleRightMouseDown(x, y, mask); - if ( mContextMenu ) + if ( mContextMenu && !isAvalineItemSelected()) { uuid_vec_t selected_uuids; getSelectedUUIDs(selected_uuids); @@ -449,6 +461,21 @@ BOOL LLAvatarList::handleRightMouseDown(S32 x, S32 y, MASK mask) return handled; } +bool LLAvatarList::isAvalineItemSelected() +{ + std::vector<LLPanel*> selected_items; + getSelectedItems(selected_items); + std::vector<LLPanel*>::iterator it = selected_items.begin(); + + for(; it != selected_items.end(); ++it) + { + if (dynamic_cast<LLAvalineListItem*>(*it)) + return true; + } + + return false; +} + void LLAvatarList::setVisible(BOOL visible) { if ( visible == FALSE && mContextMenu ) diff --git a/indra/newview/llavatarlist.h b/indra/newview/llavatarlist.h index cacbcf7244..4814a88a79 100644 --- a/indra/newview/llavatarlist.h +++ b/indra/newview/llavatarlist.h @@ -112,6 +112,8 @@ protected: private: + bool isAvalineItemSelected(); + bool mIgnoreOnlineStatus; bool mShowLastInteractionTime; bool mDirty; diff --git a/indra/newview/llchathistory.cpp b/indra/newview/llchathistory.cpp index c98bcbda45..5ff22f89ab 100644 --- a/indra/newview/llchathistory.cpp +++ b/indra/newview/llchathistory.cpp @@ -899,31 +899,14 @@ void LLChatHistory::appendMessage(const LLChat& chat, const LLSD &args, const LL } } - LLTextEditor* text_editor = notify_box->getChild<LLTextEditor>("text_editor_box", TRUE); - S32 text_heigth = 0; - if(text_editor != NULL) - { - text_heigth = text_editor->getTextBoundingRect().getHeight(); - } - //Prepare the rect for the view LLRect target_rect = mEditor->getDocumentView()->getRect(); // squeeze down the widget by subtracting padding off left and right target_rect.mLeft += mLeftWidgetPad + mEditor->getHPad(); target_rect.mRight -= mRightWidgetPad; - notify_box->reshape(target_rect.getWidth(), - notify_box->getRect().getHeight()); + notify_box->reshape(target_rect.getWidth(), notify_box->getRect().getHeight()); notify_box->setOrigin(target_rect.mLeft, notify_box->getRect().mBottom); - if (text_editor != NULL) - { - S32 text_heigth_delta = - text_editor->getTextBoundingRect().getHeight() - - text_heigth; - notify_box->reshape(target_rect.getWidth(), - notify_box->getRect().getHeight() + text_heigth_delta); - } - LLInlineViewSegment::Params params; params.view = notify_box; params.left_pad = mLeftWidgetPad; diff --git a/indra/newview/llcolorswatch.cpp b/indra/newview/llcolorswatch.cpp index 6f02192d0a..d77ebc5367 100644 --- a/indra/newview/llcolorswatch.cpp +++ b/indra/newview/llcolorswatch.cpp @@ -185,6 +185,10 @@ BOOL LLColorSwatchCtrl::handleMouseUp(S32 x, S32 y, MASK mask) llassert(getEnabled()); llassert(getVisible()); + // Focus the widget now in order to return the focus + // after the color picker is closed. + setFocus(TRUE); + showPicker(FALSE); } } diff --git a/indra/newview/llfloatertools.cpp b/indra/newview/llfloatertools.cpp index 370bf05bf7..364fbad193 100644 --- a/indra/newview/llfloatertools.cpp +++ b/indra/newview/llfloatertools.cpp @@ -220,6 +220,8 @@ BOOL LLFloaterTools::postBuild() mRadioGroupEdit = getChild<LLRadioGroup>("edit_radio_group"); mBtnGridOptions = getChild<LLButton>("Options..."); mTitleMedia = getChild<LLMediaCtrl>("title_media"); + mBtnLink = getChild<LLButton>("link_btn"); + mBtnUnlink = getChild<LLButton>("unlink_btn"); mCheckSelectIndividual = getChild<LLCheckBoxCtrl>("checkbox edit linked parts"); getChild<LLUICtrl>("checkbox edit linked parts")->setValue((BOOL)gSavedSettings.getBOOL("EditLinkedParts")); @@ -315,6 +317,9 @@ LLFloaterTools::LLFloaterTools(const LLSD& key) mBtnRotateReset(NULL), mBtnRotateRight(NULL), + mBtnLink(NULL), + mBtnUnlink(NULL), + mBtnDelete(NULL), mBtnDuplicate(NULL), mBtnDuplicateInPlace(NULL), @@ -341,7 +346,7 @@ LLFloaterTools::LLFloaterTools(const LLSD& key) mNeedMediaTitle(TRUE) { gFloaterTools = this; - + setAutoFocus(FALSE); mFactoryMap["General"] = LLCallbackMap(createPanelPermissions, this);//LLPanelPermissions mFactoryMap["Object"] = LLCallbackMap(createPanelObject, this);//LLPanelObject @@ -366,6 +371,9 @@ LLFloaterTools::LLFloaterTools(const LLSD& key) mCommitCallbackRegistrar.add("BuildTool.DeleteMedia", boost::bind(&LLFloaterTools::onClickBtnDeleteMedia,this)); mCommitCallbackRegistrar.add("BuildTool.EditMedia", boost::bind(&LLFloaterTools::onClickBtnEditMedia,this)); + mCommitCallbackRegistrar.add("BuildTool.LinkObjects", boost::bind(&LLSelectMgr::linkObjects, LLSelectMgr::getInstance())); + mCommitCallbackRegistrar.add("BuildTool.UnlinkObjects", boost::bind(&LLSelectMgr::unlinkObjects, LLSelectMgr::getInstance())); + } LLFloaterTools::~LLFloaterTools() @@ -566,6 +574,12 @@ void LLFloaterTools::updatePopup(LLCoordGL center, MASK mask) bool linked_parts = gSavedSettings.getBOOL("EditLinkedParts"); getChildView("RenderingCost")->setVisible( !linked_parts && (edit_visible || focus_visible || move_visible) && sShowObjectCost); + mBtnLink->setVisible(edit_visible); + mBtnUnlink->setVisible(edit_visible); + + mBtnLink->setEnabled(LLSelectMgr::instance().enableLinkObjects()); + mBtnUnlink->setEnabled(LLSelectMgr::instance().enableUnlinkObjects()); + if (mCheckSelectIndividual) { mCheckSelectIndividual->setVisible(edit_visible); diff --git a/indra/newview/llfloatertools.h b/indra/newview/llfloatertools.h index 87c3d2ab47..fd81a75397 100644 --- a/indra/newview/llfloatertools.h +++ b/indra/newview/llfloatertools.h @@ -135,6 +135,8 @@ public: LLRadioGroup* mRadioGroupEdit; LLCheckBoxCtrl *mCheckSelectIndividual; + LLButton* mBtnLink; + LLButton* mBtnUnlink; LLCheckBoxCtrl* mCheckSnapToGrid; LLButton* mBtnGridOptions; diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 9623554200..0ef502b81b 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -2719,6 +2719,15 @@ void LLIMMgr::inviteToSession( { LLFloaterReg::showInstance("incoming_call", payload, FALSE); } + + // Add the caller to the Recent List here (at this point + // "incoming_call" floater is shown and the recipient can + // reject the call), because even if a recipient will reject + // the call, the caller should be added to the recent list + // anyway. STORM-507. + if(type == IM_SESSION_P2P_INVITE) + LLRecentPeople::instance().add(caller_id); + mPendingInvitations[session_id.asString()] = LLSD(); } } diff --git a/indra/newview/llmutelist.cpp b/indra/newview/llmutelist.cpp index af8fdb17cf..a7059eb519 100644 --- a/indra/newview/llmutelist.cpp +++ b/indra/newview/llmutelist.cpp @@ -373,17 +373,19 @@ BOOL LLMuteList::remove(const LLMute& mute, U32 flags) // Must be after erase. setLoaded(); // why is this here? -MG } - - // Clean up any legacy mutes - string_set_t::iterator legacy_it = mLegacyMutes.find(mute.mName); - if (legacy_it != mLegacyMutes.end()) + else { - // Database representation of legacy mute is UUID null. - LLMute mute(LLUUID::null, *legacy_it, LLMute::BY_NAME); - updateRemove(mute); - mLegacyMutes.erase(legacy_it); - // Must be after erase. - setLoaded(); // why is this here? -MG + // Clean up any legacy mutes + string_set_t::iterator legacy_it = mLegacyMutes.find(mute.mName); + if (legacy_it != mLegacyMutes.end()) + { + // Database representation of legacy mute is UUID null. + LLMute mute(LLUUID::null, *legacy_it, LLMute::BY_NAME); + updateRemove(mute); + mLegacyMutes.erase(legacy_it); + // Must be after erase. + setLoaded(); // why is this here? -MG + } } return found; @@ -607,7 +609,8 @@ BOOL LLMuteList::isMuted(const LLUUID& id, const std::string& name, U32 flags) c } // empty names can't be legacy-muted - if (name.empty()) return FALSE; + bool avatar = mute_object && mute_object->isAvatar(); + if (name.empty() || avatar) return FALSE; // Look in legacy pile string_set_t::const_iterator legacy_it = mLegacyMutes.find(name); diff --git a/indra/newview/llnamelistctrl.cpp b/indra/newview/llnamelistctrl.cpp index 38100aa6c5..afceb58ccf 100644 --- a/indra/newview/llnamelistctrl.cpp +++ b/indra/newview/llnamelistctrl.cpp @@ -143,6 +143,30 @@ void LLNameListCtrl::mouseOverHighlightNthItem( S32 target_index ) S32 cur_index = getHighlightedItemInx(); if (cur_index != target_index) { + bool is_mouse_over_name_cell = false; + + S32 mouse_x, mouse_y; + LLUI::getMousePositionLocal(this, &mouse_x, &mouse_y); + + S32 column_index = getColumnIndexFromOffset(mouse_x); + LLScrollListItem* hit_item = hitItem(mouse_x, mouse_y); + if (hit_item && column_index == mNameColumnIndex) + { + // Get the name cell which is currently under the mouse pointer. + LLScrollListCell* hit_cell = hit_item->getColumn(column_index); + if (hit_cell) + { + is_mouse_over_name_cell = getCellRect(cur_index, column_index).pointInRect(mouse_x, mouse_y); + } + } + + // If the tool tip is visible and the mouse is over the currently highlighted item's name cell, + // we should not reset the highlighted item index i.e. set mHighlightedItem = -1 + // and should not increase the width of the text inside the cell because it may + // overlap the tool tip icon. + if (LLToolTipMgr::getInstance()->toolTipVisible() && is_mouse_over_name_cell) + return; + if(0 <= cur_index && cur_index < (S32)getItemList().size()) { LLScrollListItem* item = getItemList()[cur_index]; diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp index 8d3b1fd7a0..3b5830f8e0 100644 --- a/indra/newview/llpanellogin.cpp +++ b/indra/newview/llpanellogin.cpp @@ -81,6 +81,9 @@ const S32 MAX_PASSWORD = 16; LLPanelLogin *LLPanelLogin::sInstance = NULL; BOOL LLPanelLogin::sCapslockDidNotification = FALSE; +// Helper for converting a user name into the canonical "Firstname Lastname" form. +// For new accounts without a last name "Resident" is added as a last name. +static std::string canonicalize_username(const std::string& name); class LLLoginRefreshHandler : public LLCommandHandler { @@ -298,7 +301,14 @@ void LLPanelLogin::addFavoritesToStartLocation() for (LLSD::map_const_iterator iter = fav_llsd.beginMap(); iter != fav_llsd.endMap(); ++iter) { - if(iter->first != getChild<LLComboBox>("username_combo")->getSimple()) continue; + std::string user_defined_name = getChild<LLComboBox>("username_combo")->getSimple(); + + // The account name in stored_favorites.xml has Resident last name even if user has + // a single word account name, so it can be compared case-insensitive with the + // user defined "firstname lastname". + S32 res = LLStringUtil::compareInsensitive(canonicalize_username(user_defined_name), iter->first); + if (res != 0) continue; + combo->addSeparator(); LLSD user_llsd = iter->second; for (LLSD::array_const_iterator iter1 = user_llsd.beginArray(); @@ -1156,3 +1166,28 @@ void LLPanelLogin::updateLoginPanelLinks() sInstance->getChildView("create_new_account_text")->setVisible( system_grid); sInstance->getChildView("forgot_password_text")->setVisible( system_grid); } + +std::string canonicalize_username(const std::string& name) +{ + std::string cname = name; + LLStringUtil::trim(cname); + + // determine if the username is a first/last form or not. + size_t separator_index = cname.find_first_of(" ._"); + std::string first = cname.substr(0, separator_index); + std::string last; + if (separator_index != cname.npos) + { + last = cname.substr(separator_index+1, cname.npos); + LLStringUtil::trim(last); + } + else + { + // ...on Linden grids, single username users as considered to have + // last name "Resident" + last = "Resident"; + } + + // Username in traditional "firstname lastname" form. + return first + ' ' + last; +} diff --git a/indra/newview/llrecentpeople.cpp b/indra/newview/llrecentpeople.cpp index 959fd51bbf..7689cd1a52 100644 --- a/indra/newview/llrecentpeople.cpp +++ b/indra/newview/llrecentpeople.cpp @@ -33,7 +33,7 @@ using namespace LLOldEvents; -bool LLRecentPeople::add(const LLUUID& id) +bool LLRecentPeople::add(const LLUUID& id, const LLSD& userdata) { if (id == gAgent.getID()) return false; @@ -42,10 +42,16 @@ bool LLRecentPeople::add(const LLUUID& id) if (is_not_group_id) { - LLDate date_added = LLDate::now(); + // For each avaline call the id of caller is different even if + // the phone number is the same. + // To avoid duplication of avaline list items in the recent list + // of panel People, deleting id's with similar phone number. + const LLUUID& caller_id = getIDByPhoneNumber(userdata); + if (caller_id.notNull()) + mPeople.erase(caller_id); - //[] instead of insert to replace existing id->date with new date value - mPeople[id] = date_added; + //[] instead of insert to replace existing id->llsd["date"] with new date value + mPeople[id] = userdata; mChangedSignal(); } @@ -64,15 +70,55 @@ void LLRecentPeople::get(uuid_vec_t& result) const result.push_back((*pos).first); } -const LLDate& LLRecentPeople::getDate(const LLUUID& id) const +const LLDate LLRecentPeople::getDate(const LLUUID& id) const { recent_people_t::const_iterator it = mPeople.find(id); - if (it!= mPeople.end()) return (*it).second; + if (it!= mPeople.end()) return it->second["date"].asDate(); static LLDate no_date = LLDate(); return no_date; } +const LLSD& LLRecentPeople::getData(const LLUUID& id) const +{ + recent_people_t::const_iterator it = mPeople.find(id); + + if (it != mPeople.end()) + return it->second; + + static LLSD no_data = LLSD(); + return no_data; +} + +bool LLRecentPeople::isAvalineCaller(const LLUUID& id) const +{ + recent_people_t::const_iterator it = mPeople.find(id); + + if (it != mPeople.end()) + { + const LLSD& user = it->second; + return user["avaline_call"].asBoolean(); + } + + return false; +} + +const LLUUID& LLRecentPeople::getIDByPhoneNumber(const LLSD& userdata) +{ + if (!userdata["avaline_call"].asBoolean()) + return LLUUID::null; + + for (recent_people_t::const_iterator it = mPeople.begin(); it != mPeople.end(); ++it) + { + const LLSD& user_info = it->second; + + if (user_info["call_number"].asString() == userdata["call_number"].asString()) + return it->first; + } + + return LLUUID::null; +} + // virtual bool LLRecentPeople::handleEvent(LLPointer<LLEvent> event, const LLSD& userdata) { diff --git a/indra/newview/llrecentpeople.h b/indra/newview/llrecentpeople.h index 852a92ff80..d0d6376867 100644 --- a/indra/newview/llrecentpeople.h +++ b/indra/newview/llrecentpeople.h @@ -58,9 +58,15 @@ public: * Add specified avatar to the list if it's not there already. * * @param id avatar to add. + * + * @param userdata additional information about last interaction party. + * For example when last interaction party is not an avatar + * but an avaline caller, additional info (such as phone + * number, session id and etc.) should be added. + * * @return false if the avatar is in the list already, true otherwise */ - bool add(const LLUUID& id); + bool add(const LLUUID& id, const LLSD& userdata = LLSD().with("date", LLDate::now())); /** * @param id avatar to search. @@ -75,7 +81,25 @@ public: */ void get(uuid_vec_t& result) const; - const LLDate& getDate(const LLUUID& id) const; + /** + * Returns last interaction time with specified participant + * + */ + const LLDate getDate(const LLUUID& id) const; + + /** + * Returns data about specified participant + * + * @param id identifier of specific participant + */ + const LLSD& getData(const LLUUID& id) const; + + /** + * Checks whether specific participant is an avaline caller + * + * @param id identifier of specific participant + */ + bool isAvalineCaller(const LLUUID& id) const; /** * Set callback to be called when the list changed. @@ -92,7 +116,10 @@ public: /*virtual*/ bool handleEvent(LLPointer<LLOldEvents::LLEvent> event, const LLSD& userdata); private: - typedef std::map<LLUUID, LLDate> recent_people_t; + + const LLUUID& getIDByPhoneNumber(const LLSD& userdata); + + typedef std::map<LLUUID, LLSD> recent_people_t; recent_people_t mPeople; signal_t mChangedSignal; }; diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp index da891d1c51..50bc0b4a98 100644 --- a/indra/newview/llselectmgr.cpp +++ b/indra/newview/llselectmgr.cpp @@ -65,6 +65,7 @@ #include "llinventorymodel.h" #include "llmenugl.h" #include "llmutelist.h" +#include "llnotificationsutil.h" #include "llsidepaneltaskinfo.h" #include "llslurl.h" #include "llstatusbar.h" @@ -562,6 +563,103 @@ BOOL LLSelectMgr::removeObjectFromSelections(const LLUUID &id) return object_found; } +bool LLSelectMgr::linkObjects() +{ + if (!LLSelectMgr::getInstance()->selectGetAllRootsValid()) + { + LLNotificationsUtil::add("UnableToLinkWhileDownloading"); + return true; + } + + S32 object_count = LLSelectMgr::getInstance()->getSelection()->getObjectCount(); + if (object_count > MAX_CHILDREN_PER_TASK + 1) + { + LLSD args; + args["COUNT"] = llformat("%d", object_count); + int max = MAX_CHILDREN_PER_TASK+1; + args["MAX"] = llformat("%d", max); + LLNotificationsUtil::add("UnableToLinkObjects", args); + return true; + } + + if (LLSelectMgr::getInstance()->getSelection()->getRootObjectCount() < 2) + { + LLNotificationsUtil::add("CannotLinkIncompleteSet"); + return true; + } + + if (!LLSelectMgr::getInstance()->selectGetRootsModify()) + { + LLNotificationsUtil::add("CannotLinkModify"); + return true; + } + + LLUUID owner_id; + std::string owner_name; + if (!LLSelectMgr::getInstance()->selectGetOwner(owner_id, owner_name)) + { + // we don't actually care if you're the owner, but novices are + // the most likely to be stumped by this one, so offer the + // easiest and most likely solution. + LLNotificationsUtil::add("CannotLinkDifferentOwners"); + return true; + } + + LLSelectMgr::getInstance()->sendLink(); + + return true; +} + +bool LLSelectMgr::unlinkObjects() +{ + LLSelectMgr::getInstance()->sendDelink(); + return true; +} + +// in order to link, all objects must have the same owner, and the +// agent must have the ability to modify all of the objects. However, +// we're not answering that question with this method. The question +// we're answering is: does the user have a reasonable expectation +// that a link operation should work? If so, return true, false +// otherwise. this allows the handle_link method to more finely check +// the selection and give an error message when the uer has a +// reasonable expectation for the link to work, but it will fail. +bool LLSelectMgr::enableLinkObjects() +{ + bool new_value = false; + // check if there are at least 2 objects selected, and that the + // user can modify at least one of the selected objects. + + // in component mode, can't link + if (!gSavedSettings.getBOOL("EditLinkedParts")) + { + if(LLSelectMgr::getInstance()->selectGetAllRootsValid() && LLSelectMgr::getInstance()->getSelection()->getRootObjectCount() >= 2) + { + struct f : public LLSelectedObjectFunctor + { + virtual bool apply(LLViewerObject* object) + { + return object->permModify(); + } + } func; + const bool firstonly = true; + new_value = LLSelectMgr::getInstance()->getSelection()->applyToRootObjects(&func, firstonly); + } + } + return new_value; +} + +bool LLSelectMgr::enableUnlinkObjects() +{ + LLViewerObject* first_editable_object = LLSelectMgr::getInstance()->getSelection()->getFirstEditableObject(); + + bool new_value = LLSelectMgr::getInstance()->selectGetAllRootsValid() && + first_editable_object && + !first_editable_object->isAttachment(); + + return new_value; +} + void LLSelectMgr::deselectObjectAndFamily(LLViewerObject* object, BOOL send_to_sim, BOOL include_entire_object) { // bail if nothing selected or if object wasn't selected in the first place diff --git a/indra/newview/llselectmgr.h b/indra/newview/llselectmgr.h index 65a9a493f6..cb387f5c3c 100644 --- a/indra/newview/llselectmgr.h +++ b/indra/newview/llselectmgr.h @@ -440,6 +440,17 @@ public: BOOL removeObjectFromSelections(const LLUUID &id); //////////////////////////////////////////////////////////////// + // Selection editing + //////////////////////////////////////////////////////////////// + bool linkObjects(); + + bool unlinkObjects(); + + bool enableLinkObjects(); + + bool enableUnlinkObjects(); + + //////////////////////////////////////////////////////////////// // Selection accessors //////////////////////////////////////////////////////////////// LLObjectSelectionHandle getSelection() { return mSelectedObjects; } diff --git a/indra/newview/lltoastnotifypanel.cpp b/indra/newview/lltoastnotifypanel.cpp index 3f7dc24ade..fa91f129b8 100644 --- a/indra/newview/lltoastnotifypanel.cpp +++ b/indra/newview/lltoastnotifypanel.cpp @@ -563,7 +563,17 @@ void LLIMToastNotifyPanel::reshape(S32 width, S32 height, BOOL called_from_paren height = rc.getHeight(); width = rc.getWidth(); + bool is_width_changed = width != getRect().getWidth(); + LLToastPanel::reshape(width, height, called_from_parent); + + // Notification height required to display the text message depends on + // the width of the text box thus if panel width is changed the text box + // width is also changed then reshape() is called to adjust proper height. + if (is_width_changed) + { + reshape(width, height, called_from_parent); + } } // EOF diff --git a/indra/newview/llviewercontrol.cpp b/indra/newview/llviewercontrol.cpp index 8c5a52c187..3c53e54203 100644 --- a/indra/newview/llviewercontrol.cpp +++ b/indra/newview/llviewercontrol.cpp @@ -309,6 +309,15 @@ static bool handleRenderUseVBOChanged(const LLSD& newvalue) return true; } +static bool handleRenderUseVBOMappingChanged(const LLSD& newvalue) +{ + if (gPipeline.isInit()) + { + gPipeline.setDisableVBOMapping(newvalue.asBoolean()); + } + return true; +} + static bool handleWLSkyDetailChanged(const LLSD&) { if (gSky.mVOWLSkyp.notNull()) @@ -589,6 +598,7 @@ void settings_setup_listeners() gSavedSettings.getControl("MuteAmbient")->getSignal()->connect(boost::bind(&handleAudioVolumeChanged, _2)); gSavedSettings.getControl("MuteUI")->getSignal()->connect(boost::bind(&handleAudioVolumeChanged, _2)); gSavedSettings.getControl("RenderVBOEnable")->getSignal()->connect(boost::bind(&handleRenderUseVBOChanged, _2)); + gSavedSettings.getControl("RenderVBOMappingDisable")->getSignal()->connect(boost::bind(&handleRenderUseVBOMappingChanged, _2)); gSavedSettings.getControl("RenderUseStreamVBO")->getSignal()->connect(boost::bind(&handleResetVertexBuffersChanged, _2)); gSavedSettings.getControl("WLSkyDetail")->getSignal()->connect(boost::bind(&handleWLSkyDetailChanged, _2)); gSavedSettings.getControl("NumpadControl")->getSignal()->connect(boost::bind(&handleNumpadControlChanged, _2)); diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index f16d8814dd..900081b8c6 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -53,7 +53,7 @@ #include "llwebsharing.h" // For LLWebSharing::setOpenIDCookie(), *TODO: find a better way to do this! #include "llfilepicker.h" #include "llnotifications.h" - +#include "lldir.h" #include "llevent.h" // LLSimpleListener #include "llnotificationsutil.h" #include "lluuid.h" @@ -1766,7 +1766,8 @@ LLPluginClassMedia* LLViewerMediaImpl::newSourceFromMediaType(std::string media_ media_source->setTarget(target); - if (media_source->init(launcher_name, plugin_name, gSavedSettings.getBOOL("PluginAttachDebuggerToPlugins"))) + const std::string plugin_dir = gDirUtilp->getLLPluginDir(); + if (media_source->init(launcher_name, plugin_dir, plugin_name, gSavedSettings.getBOOL("PluginAttachDebuggerToPlugins"))) { return media_source; } diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 7cc04e0338..425fe4eafb 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -2835,7 +2835,7 @@ class LLObjectMute : public view_listener_t } LLMute mute(id, name, type); - if (LLMuteList::getInstance()->isMuted(mute.mID, mute.mName)) + if (LLMuteList::getInstance()->isMuted(mute.mID)) { LLMuteList::getInstance()->remove(mute); } @@ -4781,110 +4781,6 @@ class LLToolsSelectNextPart : public view_listener_t } }; -// in order to link, all objects must have the same owner, and the -// agent must have the ability to modify all of the objects. However, -// we're not answering that question with this method. The question -// we're answering is: does the user have a reasonable expectation -// that a link operation should work? If so, return true, false -// otherwise. this allows the handle_link method to more finely check -// the selection and give an error message when the uer has a -// reasonable expectation for the link to work, but it will fail. -class LLToolsEnableLink : public view_listener_t -{ - bool handleEvent(const LLSD& userdata) - { - bool new_value = false; - // check if there are at least 2 objects selected, and that the - // user can modify at least one of the selected objects. - - // in component mode, can't link - if (!gSavedSettings.getBOOL("EditLinkedParts")) - { - if(LLSelectMgr::getInstance()->selectGetAllRootsValid() && LLSelectMgr::getInstance()->getSelection()->getRootObjectCount() >= 2) - { - struct f : public LLSelectedObjectFunctor - { - virtual bool apply(LLViewerObject* object) - { - return object->permModify(); - } - } func; - const bool firstonly = true; - new_value = LLSelectMgr::getInstance()->getSelection()->applyToRootObjects(&func, firstonly); - } - } - return new_value; - } -}; - -class LLToolsLink : public view_listener_t -{ - bool handleEvent(const LLSD& userdata) - { - if(!LLSelectMgr::getInstance()->selectGetAllRootsValid()) - { - LLNotificationsUtil::add("UnableToLinkWhileDownloading"); - return true; - } - - S32 object_count = LLSelectMgr::getInstance()->getSelection()->getObjectCount(); - if (object_count > MAX_CHILDREN_PER_TASK + 1) - { - LLSD args; - args["COUNT"] = llformat("%d", object_count); - int max = MAX_CHILDREN_PER_TASK+1; - args["MAX"] = llformat("%d", max); - LLNotificationsUtil::add("UnableToLinkObjects", args); - return true; - } - - if(LLSelectMgr::getInstance()->getSelection()->getRootObjectCount() < 2) - { - LLNotificationsUtil::add("CannotLinkIncompleteSet"); - return true; - } - if(!LLSelectMgr::getInstance()->selectGetRootsModify()) - { - LLNotificationsUtil::add("CannotLinkModify"); - return true; - } - LLUUID owner_id; - std::string owner_name; - if(!LLSelectMgr::getInstance()->selectGetOwner(owner_id, owner_name)) - { - // we don't actually care if you're the owner, but novices are - // the most likely to be stumped by this one, so offer the - // easiest and most likely solution. - LLNotificationsUtil::add("CannotLinkDifferentOwners"); - return true; - } - LLSelectMgr::getInstance()->sendLink(); - return true; - } -}; - -class LLToolsEnableUnlink : public view_listener_t -{ - bool handleEvent(const LLSD& userdata) - { - LLViewerObject* first_editable_object = LLSelectMgr::getInstance()->getSelection()->getFirstEditableObject(); - bool new_value = LLSelectMgr::getInstance()->selectGetAllRootsValid() && - first_editable_object && - !first_editable_object->isAttachment(); - return new_value; - } -}; - -class LLToolsUnlink : public view_listener_t -{ - bool handleEvent(const LLSD& userdata) - { - LLSelectMgr::getInstance()->sendDelink(); - return true; - } -}; - - class LLToolsStopAllAnimations : public view_listener_t { bool handleEvent(const LLSD& userdata) @@ -7902,8 +7798,8 @@ void initialize_menus() view_listener_t::addMenu(new LLToolsSnapObjectXY(), "Tools.SnapObjectXY"); view_listener_t::addMenu(new LLToolsUseSelectionForGrid(), "Tools.UseSelectionForGrid"); view_listener_t::addMenu(new LLToolsSelectNextPart(), "Tools.SelectNextPart"); - view_listener_t::addMenu(new LLToolsLink(), "Tools.Link"); - view_listener_t::addMenu(new LLToolsUnlink(), "Tools.Unlink"); + commit.add("Tools.Link", boost::bind(&LLSelectMgr::linkObjects, LLSelectMgr::getInstance())); + commit.add("Tools.Unlink", boost::bind(&LLSelectMgr::unlinkObjects, LLSelectMgr::getInstance())); view_listener_t::addMenu(new LLToolsStopAllAnimations(), "Tools.StopAllAnimations"); view_listener_t::addMenu(new LLToolsReleaseKeys(), "Tools.ReleaseKeys"); view_listener_t::addMenu(new LLToolsEnableReleaseKeys(), "Tools.EnableReleaseKeys"); @@ -7916,8 +7812,8 @@ void initialize_menus() view_listener_t::addMenu(new LLToolsEnableToolNotPie(), "Tools.EnableToolNotPie"); view_listener_t::addMenu(new LLToolsEnableSelectNextPart(), "Tools.EnableSelectNextPart"); - view_listener_t::addMenu(new LLToolsEnableLink(), "Tools.EnableLink"); - view_listener_t::addMenu(new LLToolsEnableUnlink(), "Tools.EnableUnlink"); + enable.add("Tools.EnableLink", boost::bind(&LLSelectMgr::enableLinkObjects, LLSelectMgr::getInstance())); + enable.add("Tools.EnableUnlink", boost::bind(&LLSelectMgr::enableUnlinkObjects, LLSelectMgr::getInstance())); view_listener_t::addMenu(new LLToolsEnableBuyOrTake(), "Tools.EnableBuyOrTake"); enable.add("Tools.EnableTakeCopy", boost::bind(&enable_object_take_copy)); enable.add("Tools.VisibleBuyObject", boost::bind(&tools_visible_buy_object)); diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp index 090d3cadd4..32cd8dbb39 100644 --- a/indra/newview/llviewerobject.cpp +++ b/indra/newview/llviewerobject.cpp @@ -477,7 +477,6 @@ void LLViewerObject::initVOClasses() llinfos << "Viewer Object size: " << sizeof(LLViewerObject) << llendl; LLVOGrass::initClass(); LLVOWater::initClass(); - LLVOSky::initClass(); LLVOVolume::initClass(); } @@ -3009,6 +3008,8 @@ void LLViewerObject::setScale(const LLVector3 &scale, BOOL damped) { if (!mOnMap) { + llassert_always(LLWorld::getInstance()->getRegionFromHandle(getRegion()->getHandle())); + gObjectList.addToMap(this); mOnMap = TRUE; } @@ -3536,8 +3537,8 @@ void LLViewerObject::setPositionParent(const LLVector3 &pos_parent, BOOL damped) // Set position relative to parent, if no parent, relative to region if (!isRoot()) { - LLViewerObject::setPosition(pos_parent); - updateDrawable(damped); + LLViewerObject::setPosition(pos_parent, damped); + //updateDrawable(damped); } else { @@ -3578,6 +3579,7 @@ void LLViewerObject::setPositionEdit(const LLVector3 &pos_edit, BOOL damped) LLVector3 position_offset = getPosition() * getParent()->getRotation(); ((LLViewerObject *)getParent())->setPositionEdit(pos_edit - position_offset); + updateDrawable(damped); } else if (isJointChild()) { @@ -3586,15 +3588,14 @@ void LLViewerObject::setPositionEdit(const LLVector3 &pos_edit, BOOL damped) LLQuaternion inv_parent_rot = parent->getRotation(); inv_parent_rot.transQuat(); LLVector3 pos_parent = (pos_edit - parent->getPositionRegion()) * inv_parent_rot; - LLViewerObject::setPosition(pos_parent); + LLViewerObject::setPosition(pos_parent, damped); } else { - LLViewerObject::setPosition(pos_edit); + LLViewerObject::setPosition(pos_edit, damped); mPositionRegion = pos_edit; mPositionAgent = mRegionp->getPosAgentFromRegion(mPositionRegion); - } - updateDrawable(damped); + } } diff --git a/indra/newview/llviewerobjectlist.cpp b/indra/newview/llviewerobjectlist.cpp index 970cc2e2a7..82bc164021 100644 --- a/indra/newview/llviewerobjectlist.cpp +++ b/indra/newview/llviewerobjectlist.cpp @@ -1124,6 +1124,22 @@ void LLViewerObjectList::shiftObjects(const LLVector3 &offset) LLWorld::getInstance()->shiftRegions(offset); } +//debug code +bool LLViewerObjectList::hasMapObjectInRegion(LLViewerRegion* regionp) +{ + for (vobj_list_t::iterator iter = mMapObjects.begin(); iter != mMapObjects.end(); ++iter) + { + LLViewerObject* objectp = *iter; + + if(objectp->isDead() || objectp->getRegion() == regionp) + { + return true ; + } + } + + return false ; +} + void LLViewerObjectList::renderObjectsForMap(LLNetMap &netmap) { LLColor4 above_water_color = LLUIColorTable::instance().getColor( "NetMapOtherOwnAboveWater" ); @@ -1142,6 +1158,9 @@ void LLViewerObjectList::renderObjectsForMap(LLNetMap &netmap) for (vobj_list_t::iterator iter = mMapObjects.begin(); iter != mMapObjects.end(); ++iter) { LLViewerObject* objectp = *iter; + + llassert_always(!objectp->isDead()); + if (!objectp->getRegion() || objectp->isOrphaned() || objectp->isAttachment()) { continue; @@ -1429,7 +1448,7 @@ LLViewerObject *LLViewerObjectList::replaceObject(const LLUUID &id, const LLPCod LLViewerObject *old_instance = findObject(id); if (old_instance) { - cleanupReferences(old_instance); + //cleanupReferences(old_instance); old_instance->markDead(); return createObject(pcode, regionp, id, old_instance->getLocalID(), LLHost()); diff --git a/indra/newview/llviewerobjectlist.h b/indra/newview/llviewerobjectlist.h index fda3d6899d..8cff8e988a 100644 --- a/indra/newview/llviewerobjectlist.h +++ b/indra/newview/llviewerobjectlist.h @@ -87,6 +87,7 @@ public: void shiftObjects(const LLVector3 &offset); + bool hasMapObjectInRegion(LLViewerRegion* regionp) ; void renderObjectsForMap(LLNetMap &netmap); void renderObjectBounds(const LLVector3 ¢er); diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 274dbe2cc8..0028ced6c8 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -1477,7 +1477,7 @@ LLViewerWindow::LLViewerWindow( { gSavedSettings.setBOOL("RenderVBOEnable", FALSE); } - LLVertexBuffer::initClass(gSavedSettings.getBOOL("RenderVBOEnable")); + LLVertexBuffer::initClass(gSavedSettings.getBOOL("RenderVBOEnable"), gSavedSettings.getBOOL("RenderVBOMappingDisable")); if (LLFeatureManager::getInstance()->isSafe() || (gSavedSettings.getS32("LastFeatureVersion") != LLFeatureManager::getInstance()->getVersion()) diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index fd89044995..2e376e8568 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -599,16 +599,16 @@ F32 LLVOAvatar::sRenderDistance = 256.f; S32 LLVOAvatar::sNumVisibleAvatars = 0; S32 LLVOAvatar::sNumLODChangesThisFrame = 0; -const LLUUID LLVOAvatar::sStepSoundOnLand = LLUUID("e8af4a28-aa83-4310-a7c4-c047e15ea0df"); +const LLUUID LLVOAvatar::sStepSoundOnLand("e8af4a28-aa83-4310-a7c4-c047e15ea0df"); const LLUUID LLVOAvatar::sStepSounds[LL_MCODE_END] = { - LLUUID(SND_STONE_RUBBER), - LLUUID(SND_METAL_RUBBER), - LLUUID(SND_GLASS_RUBBER), - LLUUID(SND_WOOD_RUBBER), - LLUUID(SND_FLESH_RUBBER), - LLUUID(SND_RUBBER_PLASTIC), - LLUUID(SND_RUBBER_RUBBER) + SND_STONE_RUBBER, + SND_METAL_RUBBER, + SND_GLASS_RUBBER, + SND_WOOD_RUBBER, + SND_FLESH_RUBBER, + SND_RUBBER_PLASTIC, + SND_RUBBER_RUBBER }; S32 LLVOAvatar::sRenderName = RENDER_NAME_ALWAYS; diff --git a/indra/newview/llvoicechannel.cpp b/indra/newview/llvoicechannel.cpp index b692093fb9..a71539266d 100644 --- a/indra/newview/llvoicechannel.cpp +++ b/indra/newview/llvoicechannel.cpp @@ -853,7 +853,7 @@ void LLVoiceChannelP2P::activate() } // Add the party to the list of people with which we've recently interacted. - LLRecentPeople::instance().add(mOtherUserID); + addToTheRecentPeopleList(); //Default mic is ON on initiating/joining P2P calls if (!LLVoiceClient::getInstance()->getUserPTTState() && LLVoiceClient::getInstance()->getPTTIsToggle()) @@ -938,3 +938,25 @@ void LLVoiceChannelP2P::setState(EState state) LLVoiceChannel::setState(state); } + +void LLVoiceChannelP2P::addToTheRecentPeopleList() +{ + bool avaline_call = LLIMModel::getInstance()->findIMSession(mSessionID)->isAvalineSessionType(); + + if (avaline_call) + { + LLSD call_data; + std::string call_number = LLVoiceChannel::getSessionName(); + + call_data["avaline_call"] = true; + call_data["session_id"] = mSessionID; + call_data["call_number"] = call_number; + call_data["date"] = LLDate::now(); + + LLRecentPeople::instance().add(mOtherUserID, call_data); + } + else + { + LLRecentPeople::instance().add(mOtherUserID); + } +} diff --git a/indra/newview/llvoicechannel.h b/indra/newview/llvoicechannel.h index 7cef3c13d1..b8597ee5cb 100644 --- a/indra/newview/llvoicechannel.h +++ b/indra/newview/llvoicechannel.h @@ -191,6 +191,13 @@ protected: virtual void setState(EState state); private: + + /** + * Add the caller to the list of people with which we've recently interacted + * + **/ + void addToTheRecentPeopleList(); + std::string mSessionHandle; LLUUID mOtherUserID; BOOL mReceivedCall; diff --git a/indra/newview/llvosky.cpp b/indra/newview/llvosky.cpp index 7ae8c2c07d..80f43e51d2 100644 --- a/indra/newview/llvosky.cpp +++ b/indra/newview/llvosky.cpp @@ -77,9 +77,6 @@ static const LLVector2 TEX11 = LLVector2(1.f, 1.f); LLUUID gSunTextureID = IMG_SUN; LLUUID gMoonTextureID = IMG_MOON; -//static -LLColor3 LLHaze::sAirScaSeaLevel; - class LLFastLn { public: @@ -182,6 +179,23 @@ inline void color_gamma_correct(LLColor3 &col) } } +static LLColor3 calc_air_sca_sea_level() +{ + static LLColor3 WAVE_LEN(675, 520, 445); + static LLColor3 refr_ind = refr_ind_calc(WAVE_LEN); + static LLColor3 n21 = refr_ind * refr_ind - LLColor3(1, 1, 1); + static LLColor3 n4 = n21 * n21; + static LLColor3 wl2 = WAVE_LEN * WAVE_LEN * 1e-6f; + static LLColor3 wl4 = wl2 * wl2; + static LLColor3 mult_const = fsigma * 2.0f/ 3.0f * 1e24f * (F_PI * F_PI) * n4; + static F32 dens_div_N = F32( ATM_SEA_LEVEL_NDENS / Ndens2); + return dens_div_N * color_div ( mult_const, wl4 ); +} + +// static constants. +LLColor3 const LLHaze::sAirScaSeaLevel = calc_air_sca_sea_level(); +F32 const LLHaze::sAirScaIntense = color_intens(LLHaze::sAirScaSeaLevel); +F32 const LLHaze::sAirScaAvg = LLHaze::sAirScaIntense / 3.f; /*************************************** @@ -394,12 +408,6 @@ LLVOSky::~LLVOSky() mCubeMap = NULL; } -void LLVOSky::initClass() -{ - LLHaze::initClass(); -} - - void LLVOSky::init() { const F32 haze_int = color_intens(mHaze.calcSigSca(0)); @@ -2147,17 +2155,8 @@ void LLVOSky::updateFog(const F32 distance) stop_glerror(); } -// static -void LLHaze::initClass() -{ - sAirScaSeaLevel = LLHaze::calcAirScaSeaLevel(); -} - - // Functions used a lot. - - F32 color_norm_pow(LLColor3& col, F32 e, BOOL postmultiply) { F32 mv = color_max(col); diff --git a/indra/newview/llvosky.h b/indra/newview/llvosky.h index 6b3e7873a1..d3a42583ea 100644 --- a/indra/newview/llvosky.h +++ b/indra/newview/llvosky.h @@ -292,23 +292,6 @@ LL_FORCE_INLINE LLColor3 refr_ind_calc(const LLColor3 &wave_length) } -LL_FORCE_INLINE LLColor3 calc_air_sca_sea_level() -{ - const static LLColor3 WAVE_LEN(675, 520, 445); - const static LLColor3 refr_ind = refr_ind_calc(WAVE_LEN); - const static LLColor3 n21 = refr_ind * refr_ind - LLColor3(1, 1, 1); - const static LLColor3 n4 = n21 * n21; - const static LLColor3 wl2 = WAVE_LEN * WAVE_LEN * 1e-6f; - const static LLColor3 wl4 = wl2 * wl2; - const static LLColor3 mult_const = fsigma * 2.0f/ 3.0f * 1e24f * (F_PI * F_PI) * n4; - const static F32 dens_div_N = F32( ATM_SEA_LEVEL_NDENS / Ndens2); - return dens_div_N * color_div ( mult_const, wl4 ); -} - -const LLColor3 gAirScaSeaLevel = calc_air_sca_sea_level(); -const F32 AIR_SCA_INTENS = color_intens(gAirScaSeaLevel); -const F32 AIR_SCA_AVG = AIR_SCA_INTENS / 3.f; - class LLHaze { public: @@ -316,18 +299,15 @@ public: LLHaze(const F32 g, const LLColor3& sca, const F32 fo = 2.f) : mG(g), mSigSca(0.25f/F_PI * sca), mFalloff(fo), mAbsCoef(0.f) { - mAbsCoef = color_intens(mSigSca) / AIR_SCA_INTENS; + mAbsCoef = color_intens(mSigSca) / sAirScaIntense; } LLHaze(const F32 g, const F32 sca, const F32 fo = 2.f) : mG(g), mSigSca(0.25f/F_PI * LLColor3(sca, sca, sca)), mFalloff(fo) { - mAbsCoef = 0.01f * sca / AIR_SCA_AVG; + mAbsCoef = 0.01f * sca / sAirScaAvg; } - static void initClass(); - - F32 getG() const { return mG; } void setG(const F32 g) @@ -343,12 +323,12 @@ public: void setSigSca(const LLColor3& s) { mSigSca = s; - mAbsCoef = 0.01f * color_intens(mSigSca) / AIR_SCA_INTENS; + mAbsCoef = 0.01f * color_intens(mSigSca) / sAirScaIntense; } void setSigSca(const F32 s0, const F32 s1, const F32 s2) { - mSigSca = AIR_SCA_AVG * LLColor3 (s0, s1, s2); + mSigSca = sAirScaAvg * LLColor3 (s0, s1, s2); mAbsCoef = 0.01f * (s0 + s1 + s2) / 3; } @@ -392,10 +372,11 @@ public: static inline LLColor3 calcAirSca(const F32 h); static inline void calcAirSca(const F32 h, LLColor3 &result); - static LLColor3 calcAirScaSeaLevel() { return gAirScaSeaLevel; } - static const LLColor3 &getAirScaSeaLevel() { return sAirScaSeaLevel; } -public: - static LLColor3 sAirScaSeaLevel; + +private: + static LLColor3 const sAirScaSeaLevel; + static F32 const sAirScaIntense; + static F32 const sAirScaAvg; protected: F32 mG; @@ -473,7 +454,6 @@ public: LLVOSky(const LLUUID &id, const LLPCode pcode, LLViewerRegion *regionp); // Initialize/delete data that's only inited once per class. - static void initClass(); void init(); void initCubeMap(); void initEmpty(); @@ -654,14 +634,12 @@ F32 color_norm_pow(LLColor3& col, F32 e, BOOL postmultiply = FALSE); inline LLColor3 LLHaze::calcAirSca(const F32 h) { - static const LLColor3 air_sca_sea_level = calcAirScaSeaLevel(); - return calcFalloff(h) * air_sca_sea_level; + return calcFalloff(h) * sAirScaSeaLevel; } inline void LLHaze::calcAirSca(const F32 h, LLColor3 &result) { - static const LLColor3 air_sca_sea_level = calcAirScaSeaLevel(); - result = air_sca_sea_level; + result = sAirScaSeaLevel; result *= calcFalloff(h); } diff --git a/indra/newview/llworld.cpp b/indra/newview/llworld.cpp index 399442e5c4..481148ba4e 100644 --- a/indra/newview/llworld.cpp +++ b/indra/newview/llworld.cpp @@ -281,6 +281,8 @@ void LLWorld::removeRegion(const LLHost &host) delete regionp; updateWaterObjects(); + + llassert_always(!gObjectList.hasMapObjectInRegion(regionp)) ; } @@ -1472,6 +1474,42 @@ void LLWorld::getAvatars(uuid_vec_t* avatar_ids, std::vector<LLVector3d>* positi } } } + // retrieve the list of close avatars from viewer objects as well + // for when we are above 1000m, only do this when we are retrieving + // uuid's too as there could be duplicates + if(avatar_ids != NULL) + { + for (std::vector<LLCharacter*>::iterator iter = LLCharacter::sInstances.begin(); + iter != LLCharacter::sInstances.end(); ++iter) + { + LLVOAvatar* pVOAvatar = (LLVOAvatar*) *iter; + if(pVOAvatar->isDead() || pVOAvatar->isSelf()) + continue; + LLUUID uuid = pVOAvatar->getID(); + if(uuid.isNull()) + continue; + LLVector3d pos_global = pVOAvatar->getPositionGlobal(); + if(dist_vec(pos_global, relative_to) <= radius) + { + bool found = false; + uuid_vec_t::iterator sel_iter = avatar_ids->begin(); + for (; sel_iter != avatar_ids->end(); sel_iter++) + { + if(*sel_iter == uuid) + { + found = true; + break; + } + } + if(!found) + { + if(positions != NULL) + positions->push_back(pos_global); + avatar_ids->push_back(uuid); + } + } + } + } } diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index 39bc354250..13e537fae5 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -5313,7 +5313,25 @@ void LLPipeline::setUseVBO(BOOL use_vbo) } resetVertexBuffers(); - LLVertexBuffer::initClass(use_vbo); + LLVertexBuffer::initClass(use_vbo, gSavedSettings.getBOOL("RenderVBOMappingDisable")); + } +} + +void LLPipeline::setDisableVBOMapping(BOOL no_vbo_mapping) +{ + if (LLVertexBuffer::sEnableVBOs && no_vbo_mapping != LLVertexBuffer::sDisableVBOMapping) + { + if (no_vbo_mapping) + { + llinfos << "Disabling VBO glMapBufferARB." << llendl; + } + else + { + llinfos << "Enabling VBO glMapBufferARB." << llendl; + } + + resetVertexBuffers(); + LLVertexBuffer::initClass(true, no_vbo_mapping); } } diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h index cef3d87f36..e99b0d71e3 100644 --- a/indra/newview/pipeline.h +++ b/indra/newview/pipeline.h @@ -111,6 +111,7 @@ public: void resetVertexBuffers(LLDrawable* drawable); void setUseVBO(BOOL use_vbo); + void setDisableVBOMapping(BOOL no_vbo_mapping); void generateImpostor(LLVOAvatar* avatar); void bindScreenToTexture(); void renderBloom(BOOL for_snapshot, F32 zoom_factor = 1.f, int subfield = 0); diff --git a/indra/newview/skins/default/xui/da/floater_about_land.xml b/indra/newview/skins/default/xui/da/floater_about_land.xml index a096a87928..e80d187335 100644 --- a/indra/newview/skins/default/xui/da/floater_about_land.xml +++ b/indra/newview/skins/default/xui/da/floater_about_land.xml @@ -87,15 +87,9 @@ Gå til 'Verden' > 'Om land' eller vælg en anden parcel <text name="Owner:"> Ejer: </text> - <text name="OwnerText"> - Leyla Linden - </text> <text name="Group:"> Gruppe: </text> - <text name="GroupText"> - Leyla Linden - </text> <button label="Vælg" name="Set..."/> <check_box label="Tillad dedikering til gruppe" name="check deed" tool_tip="En gruppe administrator kan dedikere denne jord til gruppen, så det vil blive støttet af gruppen's jord tildeling."/> <button label="Dedikér" name="Deed..." tool_tip="Du kan kun dedikere jord, hvis du er en administrator i den valgte gruppe."/> diff --git a/indra/newview/skins/default/xui/da/floater_inventory_item_properties.xml b/indra/newview/skins/default/xui/da/floater_inventory_item_properties.xml index fa36fab762..59dcc87140 100644 --- a/indra/newview/skins/default/xui/da/floater_inventory_item_properties.xml +++ b/indra/newview/skins/default/xui/da/floater_inventory_item_properties.xml @@ -24,16 +24,10 @@ <text name="LabelCreatorTitle"> Skaber: </text> - <text name="LabelCreatorName"> - Nicole Linden - </text> <button label="Profil..." label_selected="" name="BtnCreator"/> <text name="LabelOwnerTitle"> Ejer: </text> - <text name="LabelOwnerName"> - Thrax Linden - </text> <button label="Profil..." label_selected="" name="BtnOwner"/> <text name="LabelAcquiredTitle"> Erhvervet: diff --git a/indra/newview/skins/default/xui/da/floater_tools.xml b/indra/newview/skins/default/xui/da/floater_tools.xml index 781adcd50b..9e673d0d5b 100644 --- a/indra/newview/skins/default/xui/da/floater_tools.xml +++ b/indra/newview/skins/default/xui/da/floater_tools.xml @@ -167,15 +167,9 @@ <text name="Creator:"> Skaber: </text> - <text name="Creator Name"> - Mrs. Esbee Linden (esbee.linden) - </text> <text name="Owner:"> Ejer: </text> - <text name="Owner Name"> - Mrs. Erica "Moose" Linden (erica.linden) - </text> <text name="Group:"> Gruppe: </text> diff --git a/indra/newview/skins/default/xui/da/inspect_avatar.xml b/indra/newview/skins/default/xui/da/inspect_avatar.xml index f581210e1b..dc1ed562eb 100644 --- a/indra/newview/skins/default/xui/da/inspect_avatar.xml +++ b/indra/newview/skins/default/xui/da/inspect_avatar.xml @@ -10,8 +10,6 @@ <string name="Details"> [SL_PROFILE] </string> - <text name="user_name_small" value="Grumpity ProductEngine med et langt navn"/> - <text name="user_slid" value="james.linden"/> <text name="user_details"> Dette er min second life beskrivelse og jeg synes den er rigtig god. Men af en eller ande grund er min beskrivelse meget lang fordi jeg taler en hel masse </text> diff --git a/indra/newview/skins/default/xui/da/panel_edit_profile.xml b/indra/newview/skins/default/xui/da/panel_edit_profile.xml index 80b20f15e9..14fd48ba2f 100644 --- a/indra/newview/skins/default/xui/da/panel_edit_profile.xml +++ b/indra/newview/skins/default/xui/da/panel_edit_profile.xml @@ -26,11 +26,7 @@ <text name="display_name_label" value="Visningsnavn:"/> <text name="solo_username_label" value="Bugernavn:"/> <button name="set_name" tool_tip="Sæt visningsnavn"/> - <text name="solo_user_name" value="Hamilton Hitchings"/> - <text name="user_name" value="Hamilton Hitchings"/> - <text name="user_name_small" value="Hamilton Hitchings"/> <text name="user_label" value="Brugernavn:"/> - <text name="user_slid" value="hamilton.linden"/> <panel name="lifes_images_panel"> <icon label="" name="2nd_life_edit_icon" tool_tip="Klik for at vælge et billede"/> </panel> diff --git a/indra/newview/skins/default/xui/da/panel_profile_view.xml b/indra/newview/skins/default/xui/da/panel_profile_view.xml index 5e0a51eb28..e6e8ca4d10 100644 --- a/indra/newview/skins/default/xui/da/panel_profile_view.xml +++ b/indra/newview/skins/default/xui/da/panel_profile_view.xml @@ -10,10 +10,8 @@ <text name="solo_username_label" value="Brugernavn:"/> <text name="status" value="Online"/> <text name="user_name_small" value="Se på mig med dette enormt ekstremt super lange navn"/> - <text name="user_name" value="Jack Linden"/> <button name="copy_to_clipboard" tool_tip="Kopiér til udskriftsholder"/> <text name="user_label" value="Brugernavn:"/> - <text name="user_slid" value="jack.linden"/> <tab_container name="tabs"> <panel label="PROFIL" name="panel_profile"/> <panel label="FAVORITTER" name="panel_picks"/> diff --git a/indra/newview/skins/default/xui/da/sidepanel_task_info.xml b/indra/newview/skins/default/xui/da/sidepanel_task_info.xml index 746cf201bc..f80d5aeb15 100644 --- a/indra/newview/skins/default/xui/da/sidepanel_task_info.xml +++ b/indra/newview/skins/default/xui/da/sidepanel_task_info.xml @@ -48,15 +48,9 @@ <text name="CreatorNameLabel"> Skaber: </text> - <text name="Creator Name"> - Erica Linden - </text> <text name="Owner:"> Ejer: </text> - <text name="Owner Name"> - Erica Linden - </text> <text name="Group_label"> Gruppe: </text> diff --git a/indra/newview/skins/default/xui/de/floater_about_land.xml b/indra/newview/skins/default/xui/de/floater_about_land.xml index f9169ed748..0e5d987ef9 100644 --- a/indra/newview/skins/default/xui/de/floater_about_land.xml +++ b/indra/newview/skins/default/xui/de/floater_about_land.xml @@ -86,15 +86,9 @@ <text name="Owner:"> Eigentümer: </text> - <text name="OwnerText"> - Leyla Linden - </text> <text name="Group:"> Gruppe: </text> - <text name="GroupText"> - Leyla Linden - </text> <button label="Festlegen" label_selected="Einstellen..." name="Set..." width="90"/> <check_box label="Übertragung an Gruppe zulassen" name="check deed" tool_tip="Ein Gruppen-Officer kann dieses Land der Gruppe übertragen. Das Land wird dann über die Landzuteilung der Gruppe verwaltet."/> <button label="Übertragung" label_selected="Übertragen..." name="Deed..." tool_tip="Sie können Land nur übertragen, wenn Sie in der ausgewählten Gruppe Officer sind."/> diff --git a/indra/newview/skins/default/xui/de/floater_inventory_item_properties.xml b/indra/newview/skins/default/xui/de/floater_inventory_item_properties.xml index f98e23bbc4..7f48105460 100644 --- a/indra/newview/skins/default/xui/de/floater_inventory_item_properties.xml +++ b/indra/newview/skins/default/xui/de/floater_inventory_item_properties.xml @@ -24,16 +24,10 @@ <text name="LabelCreatorTitle"> Ersteller: </text> - <text name="LabelCreatorName"> - Nicole Linden - </text> <button label="Profil..." label_selected="" name="BtnCreator"/> <text name="LabelOwnerTitle"> Eigentümer: </text> - <text name="LabelOwnerName"> - Thrax Linden - </text> <button label="Profil..." label_selected="" name="BtnOwner"/> <text name="LabelAcquiredTitle"> Erworben: diff --git a/indra/newview/skins/default/xui/de/floater_script_search.xml b/indra/newview/skins/default/xui/de/floater_script_search.xml index de959cbb28..ffae96f6a1 100644 --- a/indra/newview/skins/default/xui/de/floater_script_search.xml +++ b/indra/newview/skins/default/xui/de/floater_script_search.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <floater name="script search" title="SKRIPT-SUCHE"> - <check_box label="Groß-/Kleinschreibung irrelevant" name="case_text"/> + <check_box label="Groß-/Kleinschreibung ignorieren" name="case_text"/> <button label="Suchen" label_selected="Suchen" name="search_btn"/> <button label="Ersetzen" label_selected="Ersetzen" name="replace_btn"/> <button label="Alle ersetzen" label_selected="Alle ersetzen" name="replace_all_btn"/> diff --git a/indra/newview/skins/default/xui/de/floater_tools.xml b/indra/newview/skins/default/xui/de/floater_tools.xml index 2d30814974..d201fc327c 100644 --- a/indra/newview/skins/default/xui/de/floater_tools.xml +++ b/indra/newview/skins/default/xui/de/floater_tools.xml @@ -170,15 +170,9 @@ <text name="Creator:"> Ersteller: </text> - <text name="Creator Name"> - Frau Esbee Linden (esbee.linden) - </text> <text name="Owner:"> Eigentümer: </text> - <text name="Owner Name"> - Frau Erica "Elch" Linden (erica.linden) - </text> <text name="Group:"> Gruppe: </text> diff --git a/indra/newview/skins/default/xui/de/inspect_avatar.xml b/indra/newview/skins/default/xui/de/inspect_avatar.xml index 92d9bc37c4..4b8fd8a0ad 100644 --- a/indra/newview/skins/default/xui/de/inspect_avatar.xml +++ b/indra/newview/skins/default/xui/de/inspect_avatar.xml @@ -10,9 +10,6 @@ <string name="Details"> [SL_PROFILE] </string> - <text name="user_name_small" value="Launische Produktengine mit langem Namen"/> - <text name="user_name" value="Grumpity ProductEngine"/> - <text name="user_slid" value="james.linden"/> <text name="user_subtitle" value="11 Monate und 3 Tage alt"/> <text name="user_details"> Dies ist meine Second Life-Beschreibung und ich finde sie wirklich gut! Meine Beschreibung ist deshalb so lang, weil ich gerne rede. diff --git a/indra/newview/skins/default/xui/de/inspect_group.xml b/indra/newview/skins/default/xui/de/inspect_group.xml index badb47bf08..d85ca7ce4d 100644 --- a/indra/newview/skins/default/xui/de/inspect_group.xml +++ b/indra/newview/skins/default/xui/de/inspect_group.xml @@ -16,9 +16,6 @@ <string name="YouAreMember"> Sie sind Mitglied </string> - <text name="group_name"> - Grumpitys schlecht gelaunte Elche - </text> <text name="group_subtitle"> 123 Mitglieder </text> diff --git a/indra/newview/skins/default/xui/de/panel_activeim_row.xml b/indra/newview/skins/default/xui/de/panel_activeim_row.xml deleted file mode 100644 index 84272752cf..0000000000 --- a/indra/newview/skins/default/xui/de/panel_activeim_row.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_activeim_row"> - <text name="contact_name"> - Grumpity ProductEngine - </text> -</panel> diff --git a/indra/newview/skins/default/xui/de/panel_chat_header.xml b/indra/newview/skins/default/xui/de/panel_chat_header.xml index babbff3132..7916bf5155 100644 --- a/indra/newview/skins/default/xui/de/panel_chat_header.xml +++ b/indra/newview/skins/default/xui/de/panel_chat_header.xml @@ -1,5 +1,4 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <panel label="im_header" name="im_header"> - <text_editor name="user_name" value="Ericag Vader"/> <text name="time_box" value="23:30"/> </panel> diff --git a/indra/newview/skins/default/xui/de/panel_edit_profile.xml b/indra/newview/skins/default/xui/de/panel_edit_profile.xml index be124050e8..03974e7f7f 100644 --- a/indra/newview/skins/default/xui/de/panel_edit_profile.xml +++ b/indra/newview/skins/default/xui/de/panel_edit_profile.xml @@ -29,11 +29,7 @@ <text name="display_name_label" value="Anzeigename:"/> <text name="solo_username_label" value="Benutzername:"/> <button name="set_name" tool_tip="Anzeigenamen festlegen"/> - <text name="solo_user_name" value="Hamilton Hitchings"/> - <text name="user_name" value="Hamilton Hitchings"/> - <text name="user_name_small" value="Hamilton Hitchings"/> <text name="user_label" value="Benutzername:"/> - <text name="user_slid" value="hamilton.linden"/> <panel name="lifes_images_panel"> <panel name="second_life_image_panel"> <text name="second_life_photo_title_text" value="[SECOND_LIFE]:"/> diff --git a/indra/newview/skins/default/xui/de/panel_group_invite.xml b/indra/newview/skins/default/xui/de/panel_group_invite.xml index 4e3a304609..5f323d80dd 100644 --- a/indra/newview/skins/default/xui/de/panel_group_invite.xml +++ b/indra/newview/skins/default/xui/de/panel_group_invite.xml @@ -10,7 +10,7 @@ Einige der ausgewählten Einwohner sind bereits Gruppenmitglieder und haben aus diesem Grund keine Einladung erhalten. </panel.string> <text name="help_text"> - Sie können mehrere Einwohner Ihre Gruppe einladen. Klicken Sie hierzu auf „Einwohnerliste öffnen“. + Sie können mehrere Einwohner in Ihre Gruppe einladen. Klicken Sie hierzu auf „Einwohnerliste öffnen“. </text> <button label="Einwohnerliste öffnen" name="add_button" tool_tip=""/> <name_list name="invitee_list" tool_tip="Halten Sie zur Mehrfachauswahl die Strg-Taste gedrückt und klicken Sie auf die Namen."/> diff --git a/indra/newview/skins/default/xui/de/panel_instant_message.xml b/indra/newview/skins/default/xui/de/panel_instant_message.xml index 1433552c15..372def78ca 100644 --- a/indra/newview/skins/default/xui/de/panel_instant_message.xml +++ b/indra/newview/skins/default/xui/de/panel_instant_message.xml @@ -4,7 +4,6 @@ 6 </string> <panel label="im_header" name="im_header"> - <text name="user_name" value="Erica Vader"/> <text name="time_box" value="23:30"/> </panel> <button label="Antworten" name="reply"/> diff --git a/indra/newview/skins/default/xui/de/panel_profile_view.xml b/indra/newview/skins/default/xui/de/panel_profile_view.xml index b44c128000..7e93bd1ede 100644 --- a/indra/newview/skins/default/xui/de/panel_profile_view.xml +++ b/indra/newview/skins/default/xui/de/panel_profile_view.xml @@ -10,10 +10,8 @@ <text name="solo_username_label" value="Benutzername:"/> <text name="status" value="Online"/> <text name="user_name_small" value="Dieser Name ist ein ganz außerordentlich langer Name"/> - <text name="user_name" value="Jack Linden"/> <button name="copy_to_clipboard" tool_tip="In Zwischenablage kopieren"/> <text name="user_label" value="Benutzername:"/> - <text name="user_slid" value="jack.linden"/> <tab_container name="tabs" tab_min_width="60"> <panel label="PROFIL" name="panel_profile"/> <panel label="AUSWAHL" name="panel_picks"/> diff --git a/indra/newview/skins/default/xui/de/sidepanel_task_info.xml b/indra/newview/skins/default/xui/de/sidepanel_task_info.xml index 6474576c0f..7b46ee7c9b 100644 --- a/indra/newview/skins/default/xui/de/sidepanel_task_info.xml +++ b/indra/newview/skins/default/xui/de/sidepanel_task_info.xml @@ -48,15 +48,9 @@ <text name="CreatorNameLabel"> Ersteller: </text> - <text name="Creator Name"> - Erica Linden - </text> <text name="Owner:"> Eigentümer: </text> - <text name="Owner Name"> - Erica Linden - </text> <text name="Group_label"> Gruppe: </text> diff --git a/indra/newview/skins/default/xui/en/floater_about_land.xml b/indra/newview/skins/default/xui/en/floater_about_land.xml index 24939024de..965ac21110 100644 --- a/indra/newview/skins/default/xui/en/floater_about_land.xml +++ b/indra/newview/skins/default/xui/en/floater_about_land.xml @@ -220,9 +220,10 @@ layout="topleft" left_pad="2" name="OwnerText" + translate="false" use_ellipses="true" width="360"> - Leyla Linden + TestString PleaseIgnore </text> <button follows="right" @@ -260,8 +261,10 @@ left_pad="2" layout="topleft" name="GroupText" + translate="false" width="240"> -Leyla Linden </text> + TestString PleaseIgnore + </text> <button follows="right" height="23" @@ -1913,7 +1916,7 @@ Only large parcels can be listed in search. </panel.string> <panel.string name="allow_public_access"> - Allow Public Access ([MATURITY]) + Allow Public Access ([MATURITY]) (Note: Unchecking this will create ban lines) </panel.string> <panel.string name="estate_override"> @@ -1940,7 +1943,7 @@ Only large parcels can be listed in search. name="public_access" top_pad="5" label_text.valign="center" - label_text.v_pad="-7" + label_text.v_pad="-2" width="278" /> <text type="string" @@ -2086,7 +2089,7 @@ Only large parcels can be listed in search. layout="topleft" left_pad="10" name="remove_allowed" - right="-1" + right="-10" width="100" /> </panel> <panel @@ -2136,7 +2139,7 @@ Only large parcels can be listed in search. layout="topleft" left_pad="10" name="remove_banned" - right="-1" + right="-10" width="100" /> </panel> </panel> diff --git a/indra/newview/skins/default/xui/en/floater_hardware_settings.xml b/indra/newview/skins/default/xui/en/floater_hardware_settings.xml index 0ea42f9757..a97c697b24 100644 --- a/indra/newview/skins/default/xui/en/floater_hardware_settings.xml +++ b/indra/newview/skins/default/xui/en/floater_hardware_settings.xml @@ -96,7 +96,7 @@ left="10" max_val="2" name="gamma" - top_pad="7" + top_pad="11" width="262" /> <text type="string" diff --git a/indra/newview/skins/default/xui/en/floater_inventory_item_properties.xml b/indra/newview/skins/default/xui/en/floater_inventory_item_properties.xml index 29f09dd0b2..0cf07926c2 100644 --- a/indra/newview/skins/default/xui/en/floater_inventory_item_properties.xml +++ b/indra/newview/skins/default/xui/en/floater_inventory_item_properties.xml @@ -106,9 +106,10 @@ left_delta="78" name="LabelCreatorName" top_delta="0" + translate="false" use_ellipses="true" width="170"> - Nicole Linden + TestString PleaseIgnore </text> <button follows="top|right" @@ -140,9 +141,10 @@ left_delta="78" name="LabelOwnerName" top_delta="0" + translate="false" use_ellipses="true" width="170"> - Thrax Linden + TestString PleaseIgnore </text> <button follows="top|right" diff --git a/indra/newview/skins/default/xui/en/floater_region_debug_console.xml b/indra/newview/skins/default/xui/en/floater_region_debug_console.xml index cf95257b0a..7c7ee2df4c 100644 --- a/indra/newview/skins/default/xui/en/floater_region_debug_console.xml +++ b/indra/newview/skins/default/xui/en/floater_region_debug_console.xml @@ -2,6 +2,7 @@ <floater name="region_debug_console" title="Region Debug" + can_resize="true" layout="topleft" min_height="300" min_width="300" @@ -12,7 +13,7 @@ left="10" type="string" length="1" - follows="left|top|right|bottom" + follows="left|right|bottom" font="Monospace" height="366" width="576" diff --git a/indra/newview/skins/default/xui/en/floater_tools.xml b/indra/newview/skins/default/xui/en/floater_tools.xml index b16124cb7e..85182c1c28 100644 --- a/indra/newview/skins/default/xui/en/floater_tools.xml +++ b/indra/newview/skins/default/xui/en/floater_tools.xml @@ -248,30 +248,53 @@ function="BuildTool.commitRadioEdit"/> </radio_group> <check_box - left="10" + left="5" follows="left|top" height="28" control_name="EditLinkedParts" label="Edit linked" layout="topleft" name="checkbox edit linked parts" - top_pad="2"> + top_pad="-10"> <check_box.commit_callback function="BuildTool.selectComponent"/> </check_box> - <text - text_color="LtGray_50" - follows="top|left" - halign="left" - left="13" - name="RenderingCost" - tool_tip="Shows the rendering cost calculated for this object" - top_pad="0" - type="string" - width="100"> - þ: [COUNT] - </text> + <button + follows="left|top" + height="23" + label="Link" + top_pad="2" + layout="topleft" + left="5" + name="link_btn" + width="50"> + <button.commit_callback + function="BuildTool.LinkObjects"/> + </button> + <button + follows="left|top" + height="23" + label="Unlink" + layout="topleft" + left_pad="2" + name="unlink_btn" + width="50"> + <button.commit_callback + function="BuildTool.UnlinkObjects"/> + </button> + <text + text_color="LtGray_50" + follows="top|left" + halign="left" + left_pad="3" + name="RenderingCost" + tool_tip="Shows the rendering cost calculated for this object" + top_delta="11" + type="string" + width="100"> + þ: [COUNT] + </text> <check_box control_name="ScaleUniform" height="19" @@ -299,7 +322,7 @@ layout="topleft" left="143" name="checkbox stretch textures" - top_pad="7" + top_pad="-6" width="134" /> <check_box control_name="SnapEnabled" @@ -876,10 +899,11 @@ layout="topleft" name="Creator Name" top_delta="0" + translate="false" width="190" word_wrap="true" use_ellipses="true"> - Mrs. Esbee Linden (esbee.linden) + TestString PleaseIgnore (please.ignore) </text> <text type="string" @@ -903,10 +927,11 @@ name="Owner Name" left_pad="0" top_delta="0" + translate="false" width="190" word_wrap="true" use_ellipses="true"> - Mrs. Erica "Moose" Linden (erica.linden) + TestString PleaseIgnore (please.ignore) </text> <text type="string" diff --git a/indra/newview/skins/default/xui/en/inspect_avatar.xml b/indra/newview/skins/default/xui/en/inspect_avatar.xml index 853d5f8735..bd9e367d1f 100644 --- a/indra/newview/skins/default/xui/en/inspect_avatar.xml +++ b/indra/newview/skins/default/xui/en/inspect_avatar.xml @@ -40,10 +40,11 @@ name="user_name_small" top="7" text_color="White" + translate="false" use_ellipses="true" word_wrap="true" visible="false" - value="Grumpity ProductEngine with a long name" + value="TestString PleaseIgnore" width="185" /> <text follows="top|left" @@ -53,8 +54,9 @@ name="user_name" top="10" text_color="White" + translate="false" use_ellipses="true" - value="Grumpity ProductEngine" + value="TestString PleaseIgnore" width="190" /> <text follows="top|left" @@ -63,7 +65,8 @@ name="user_slid" font="SansSerifSmallBold" text_color="EmphasisColor" - value="james.linden" + translate="false" + value="teststring.pleaseignore" width="185" use_ellipses="true" /> <text diff --git a/indra/newview/skins/default/xui/en/inspect_group.xml b/indra/newview/skins/default/xui/en/inspect_group.xml index bcdb63228d..324ff3eabd 100644 --- a/indra/newview/skins/default/xui/en/inspect_group.xml +++ b/indra/newview/skins/default/xui/en/inspect_group.xml @@ -28,10 +28,11 @@ name="group_name" top="10" text_color="White" + translate="false" use_ellipses="true" width="175" word_wrap="false"> - Grumpity's Grumpy Group of Moose + TestString PleaseIgnore </text> <text follows="all" diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 08ae0c233e..606ff69599 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -2747,18 +2747,6 @@ function="Floater.Toggle" parameter="region_debug_console" /> </menu_item_check> - <menu_item_check - label="Region Debug Console" - name="Region Debug Console" - shortcut="control|shift|`" - use_mac_ctrl="true"> - <menu_item_check.on_check - function="Floater.Visible" - parameter="region_debug_console" /> - <menu_item_check.on_click - function="Floater.Toggle" - parameter="region_debug_console" /> - </menu_item_check> <menu_item_separator /> diff --git a/indra/newview/skins/default/xui/en/panel_activeim_row.xml b/indra/newview/skins/default/xui/en/panel_activeim_row.xml index 72f41c62f4..1d8bfa0672 100644 --- a/indra/newview/skins/default/xui/en/panel_activeim_row.xml +++ b/indra/newview/skins/default/xui/en/panel_activeim_row.xml @@ -65,6 +65,7 @@ speaker.visible="false"> </chiclet_im_adhoc> <text + translate="false" type="string" name="contact_name" layout="topleft" @@ -76,7 +77,7 @@ follows="right|left" use_ellipses="true" font="SansSerifBold"> - Grumpity ProductEngine + TestString PleaseIgnore </text> <button top="10" diff --git a/indra/newview/skins/default/xui/en/panel_chat_header.xml b/indra/newview/skins/default/xui/en/panel_chat_header.xml index 17e8d4d2df..2645d472f9 100644 --- a/indra/newview/skins/default/xui/en/panel_chat_header.xml +++ b/indra/newview/skins/default/xui/en/panel_chat_header.xml @@ -35,9 +35,10 @@ text_color="white" bg_readonly_color="black" top="0" + translate="false" use_ellipses="true" valign="bottom" - value="Ericag Vader" /> + value="TestString PleaseIgnore" /> <text allow_scroll="false" font="SansSerifSmall" diff --git a/indra/newview/skins/default/xui/en/panel_edit_pick.xml b/indra/newview/skins/default/xui/en/panel_edit_pick.xml index a028e3ab9f..82dfb445da 100644 --- a/indra/newview/skins/default/xui/en/panel_edit_pick.xml +++ b/indra/newview/skins/default/xui/en/panel_edit_pick.xml @@ -183,17 +183,17 @@ left="8" name="bottom_panel" top_pad="5" - width="303"> + width="315"> <layout_stack follows="bottom|left|right" height="23" layout="topleft" name="layout_stack1" - left="2" + left="0" orientation="horizontal" top_pad="0" - width="303"> + width="313"> <layout_panel follows="bottom|left|right" @@ -223,7 +223,7 @@ name="layout_panel1" user_resize="false" auto_resize="true" - width="150"> + width="146"> <button follows="bottom|left|right" height="23" @@ -232,7 +232,7 @@ name="cancel_btn" top="0" left="1" - width="149" /> + width="145" /> </layout_panel> </layout_stack> diff --git a/indra/newview/skins/default/xui/en/panel_edit_profile.xml b/indra/newview/skins/default/xui/en/panel_edit_profile.xml index 37265d65f1..442eb8c28d 100644 --- a/indra/newview/skins/default/xui/en/panel_edit_profile.xml +++ b/indra/newview/skins/default/xui/en/panel_edit_profile.xml @@ -127,7 +127,8 @@ name="solo_user_name" text_color="white" top_delta="3" - value="Hamilton Hitchings" + translate="false" + value="TestString PleaseIgnore" use_ellipses="true" visible="false" width="275" /> @@ -140,7 +141,8 @@ name="user_name" text_color="white" top_delta="0" - value="Hamilton Hitchings" + translate="false" + value="TestString PleaseIgnore" use_ellipses="true" visible="true" width="250" /> @@ -153,7 +155,8 @@ name="user_name_small" text_color="white" top_delta="-4" - value="Hamilton Hitchings" + translate="false" + value="TestString PleaseIgnore" use_ellipses="true" visible="false" wrap="true" @@ -177,8 +180,9 @@ text_color="EmphasisColor" font="SansSerifBold" top_delta="-2" + translate="false" use_ellipses="true" - value="hamilton.linden" + value="teststring.pleaseignore" wrap="true" width="205" /> <panel diff --git a/indra/newview/skins/default/xui/en/panel_group_general.xml b/indra/newview/skins/default/xui/en/panel_group_general.xml index 70b96ca5eb..38b680ba86 100644 --- a/indra/newview/skins/default/xui/en/panel_group_general.xml +++ b/indra/newview/skins/default/xui/en/panel_group_general.xml @@ -21,7 +21,7 @@ Hover your mouse over the options for more help. </panel.string> <panel name="group_info_top" - follows="top|left" + follows="top|left|right" top="0" left="0" height="129" @@ -43,7 +43,7 @@ Hover your mouse over the options for more help. font="SansSerifSmall" text_color="White_50" width="190" - follows="top|left" + follows="top|left|right" layout="topleft" mouse_opaque="false" type="string" @@ -55,7 +55,7 @@ Hover your mouse over the options for more help. Founder: </text> <text - follows="left|top" + follows="left|top|right" height="16" layout="topleft" left_delta="-2" diff --git a/indra/newview/skins/default/xui/en/panel_instant_message.xml b/indra/newview/skins/default/xui/en/panel_instant_message.xml index 021cf00d03..46c1add739 100644 --- a/indra/newview/skins/default/xui/en/panel_instant_message.xml +++ b/indra/newview/skins/default/xui/en/panel_instant_message.xml @@ -65,8 +65,9 @@ name="user_name" text_color="white" top="8" + translate="false" use_ellipses="true" - value="Erica Vader" + value="TestString PleaseIgnore" width="205" /> <!-- TIME STAMP --> <text diff --git a/indra/newview/skins/default/xui/en/panel_main_inventory.xml b/indra/newview/skins/default/xui/en/panel_main_inventory.xml index 96633cb5b4..0df9aa2868 100644 --- a/indra/newview/skins/default/xui/en/panel_main_inventory.xml +++ b/indra/newview/skins/default/xui/en/panel_main_inventory.xml @@ -46,7 +46,7 @@ label="Filter Inventory" layout="topleft" left="10" - max_length="300" + max_length_chars="300" name="inventory search editor" top="18" width="303" /> diff --git a/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml index 88c82313dd..2ad2416179 100644 --- a/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml +++ b/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml @@ -76,7 +76,7 @@ left="0" orientation="horizontal" top="0" - width="313"> + width="308"> <layout_panel follows="bottom|left|right" height="23" @@ -120,16 +120,16 @@ name="wear_btn_lp" user_resize="false" auto_resize="true" - width="152"> + width="147"> <button follows="bottom|left|right" height="23" label="Wear" layout="topleft" name="wear_btn" - left="0" + left="1" top="0" - width="152" /> + width="146" /> </layout_panel> </layout_stack> </panel> diff --git a/indra/newview/skins/default/xui/en/panel_places.xml b/indra/newview/skins/default/xui/en/panel_places.xml index d9c357f277..f423dbb91c 100644 --- a/indra/newview/skins/default/xui/en/panel_places.xml +++ b/indra/newview/skins/default/xui/en/panel_places.xml @@ -176,7 +176,7 @@ background_visible="true" left="0" orientation="horizontal" top="0" - width="120"> + width="113"> <layout_panel follows="bottom|left|right" @@ -214,7 +214,10 @@ background_visible="true" <menu_button follows="bottom|left|right" height="23" - label="▼" + image_disabled="ComboButton_Off" + image_unselected="ComboButton_Off" + image_pressed="ComboButton_Off" + image_pressed_selected="ComboButton_Off" layout="topleft" mouse_opaque="false" name="overflow_btn" @@ -236,7 +239,7 @@ background_visible="true" left="0" orientation="horizontal" top="0" - width="120"> + width="110"> <layout_panel follows="bottom|left|right" height="23" @@ -246,7 +249,7 @@ background_visible="true" name="profile_btn_lp" user_resize="false" auto_resize="true" - width="112"> + width="102"> <button follows="bottom|left|right" height="23" @@ -257,7 +260,7 @@ background_visible="true" left="1" tool_tip="Show place profile" top="0" - width="111" /> + width="101" /> </layout_panel> </layout_stack> @@ -272,7 +275,7 @@ background_visible="true" left="0" orientation="horizontal" top="0" - width="120"> + width="112"> <layout_panel follows="bottom|left|right" height="23" @@ -283,7 +286,7 @@ background_visible="true" top="0" user_resize="false" auto_resize="true" - width="61"> + width="51"> <button follows="bottom|left|right" height="23" @@ -293,7 +296,7 @@ background_visible="true" name="close_btn" left="1" top="0" - width="60" /> + width="50" /> </layout_panel> </layout_stack> diff --git a/indra/newview/skins/default/xui/en/panel_profile_view.xml b/indra/newview/skins/default/xui/en/panel_profile_view.xml index c553a3aba0..646875b52e 100644 --- a/indra/newview/skins/default/xui/en/panel_profile_view.xml +++ b/indra/newview/skins/default/xui/en/panel_profile_view.xml @@ -83,8 +83,9 @@ left="45" name="user_name" text_color="LtGray" + translate="false" top="25" - value="Jack Linden" + value="TestString PleaseIgnore" visible="true" use_ellipses="true" width="258" /> @@ -118,8 +119,9 @@ text_color="EmphasisColor" font="SansSerifBold" top_delta="-2" + translate="false" use_ellipses="true" - value="jack.linden" + value="teststring.pleaseignore" width="195" wrap="true "/> <tab_container diff --git a/indra/newview/skins/default/xui/en/sidepanel_inventory.xml b/indra/newview/skins/default/xui/en/sidepanel_inventory.xml index f3c6895cee..8997c1a6d7 100644 --- a/indra/newview/skins/default/xui/en/sidepanel_inventory.xml +++ b/indra/newview/skins/default/xui/en/sidepanel_inventory.xml @@ -37,7 +37,7 @@ name="button_panel" left="9" top_pad="-2" - width="313"> + width="308"> <layout_stack follows="bottom|left|right" height="23" @@ -47,7 +47,7 @@ left="0" orientation="horizontal" top="0" - width="313"> + width="308"> <layout_panel follows="bottom|left|right" height="23" @@ -57,7 +57,7 @@ name="info_btn_lp" user_resize="false" auto_resize="true" - width="103"> + width="101"> <button enabled="true" follows="bottom|left|right" @@ -68,62 +68,62 @@ name="info_btn" tool_tip="Show object profile" top="0" - width="102" /> + width="100" /> </layout_panel> <layout_panel follows="bottom|left|right" height="23" layout="bottomleft" - left_pad="3" + left_pad="1" mouse_opaque="false" name="share_btn_lp" user_resize="false" auto_resize="true" - width="102"> + width="100"> <button enabled="true" follows="bottom|left|right" height="23" label="Share" layout="topleft" - left="0" + left="1" name="share_btn" tool_tip="Share an inventory item" top="0" - width="102" /> + width="99" /> </layout_panel> <layout_panel follows="bottom|left|right" height="23" layout="bottomleft" - left_pad="3" + left_pad="1" mouse_opaque="false" name="shop_btn_lp" user_resize="false" auto_resize="true" - width="102"> + width="100"> <button enabled="true" follows="bottom|left|right" height="23" label="Shop" layout="topleft" - left="0" + left="1" name="shop_btn" tool_tip="Open Marketplace webpage" top="0" - width="102" /> + width="99" /> <button enabled="false" follows="bottom|left|right" height="23" label="Wear" layout="topleft" - left="0" + left="1" name="wear_btn" tool_tip="Wear seleceted outfit" top="0" - width="102" /> + width="99" /> <button enabled="false" follows="bottom|left|right" @@ -131,20 +131,20 @@ label="Play" layout="topleft" name="play_btn" - left="0" + left="1" top="0" - width="102" /> + width="99" /> <button enabled="false" follows="bottom|left|right" height="23" label="Teleport" layout="topleft" - left="0" + left="1" name="teleport_btn" tool_tip="Teleport to the selected area" top="0" - width="102" /> + width="99" /> </layout_panel> </layout_stack> </panel> diff --git a/indra/newview/skins/default/xui/en/sidepanel_task_info.xml b/indra/newview/skins/default/xui/en/sidepanel_task_info.xml index e2b3d81bf6..c2394a3fa2 100644 --- a/indra/newview/skins/default/xui/en/sidepanel_task_info.xml +++ b/indra/newview/skins/default/xui/en/sidepanel_task_info.xml @@ -168,9 +168,10 @@ left_pad="0" name="Creator Name" top_delta="0" + translate="false" use_ellipses="true" width="225"> - Erica Linden + TestString PleaseIgnore </text> <text type="string" @@ -193,9 +194,10 @@ left_pad="0" name="Owner Name" top_delta="0" + translate="false" use_ellipses="true" width="225"> - Erica Linden + TestString PleaseIgnore </text> <text type="string" diff --git a/indra/newview/skins/default/xui/es/floater_about_land.xml b/indra/newview/skins/default/xui/es/floater_about_land.xml index be5b5d011c..4c6e129720 100644 --- a/indra/newview/skins/default/xui/es/floater_about_land.xml +++ b/indra/newview/skins/default/xui/es/floater_about_land.xml @@ -87,15 +87,9 @@ Vaya al menú Mundo > Acerca del terreno o seleccione otra parcela para ver s <text name="Owner:"> Propietario: </text> - <text name="OwnerText"> - Leyla Linden - </text> <text name="Group:"> Grupo: </text> - <text name="GroupText"> - Leyla Linden - </text> <button label="Configurar" name="Set..."/> <check_box label="Permitir transferir al grupo" name="check deed" tool_tip="Un oficial del grupo puede transferir este terreno al grupo. El terreno será apoyado por el grupo en sus asignaciones de terreno."/> <button label="Transferir" name="Deed..." tool_tip="Sólo si es usted un oficial del grupo seleccionado puede transferir terreno."/> diff --git a/indra/newview/skins/default/xui/es/floater_inventory_item_properties.xml b/indra/newview/skins/default/xui/es/floater_inventory_item_properties.xml index 5746688962..bf84c3d808 100644 --- a/indra/newview/skins/default/xui/es/floater_inventory_item_properties.xml +++ b/indra/newview/skins/default/xui/es/floater_inventory_item_properties.xml @@ -24,16 +24,10 @@ <text name="LabelCreatorTitle"> Creador: </text> - <text name="LabelCreatorName"> - Nicole Linden - </text> <button label="Perfil..." label_selected="" name="BtnCreator"/> <text name="LabelOwnerTitle"> Propietario: </text> - <text name="LabelOwnerName"> - Thrax Linden - </text> <button label="Perfil..." label_selected="" name="BtnOwner"/> <text name="LabelAcquiredTitle"> Adquirido: diff --git a/indra/newview/skins/default/xui/es/floater_tools.xml b/indra/newview/skins/default/xui/es/floater_tools.xml index d85b43b7e8..e2ff4a25ce 100644 --- a/indra/newview/skins/default/xui/es/floater_tools.xml +++ b/indra/newview/skins/default/xui/es/floater_tools.xml @@ -170,15 +170,9 @@ <text name="Creator:"> Creador: </text> - <text name="Creator Name"> - Dª Esbee Linden (esbee.linden) - </text> <text name="Owner:"> Propietario: </text> - <text name="Owner Name"> - Dª Erica "Moose" Linden (erica.linden) - </text> <text name="Group:"> Grupo: </text> diff --git a/indra/newview/skins/default/xui/es/inspect_avatar.xml b/indra/newview/skins/default/xui/es/inspect_avatar.xml index 119f252db2..1d70fa6a90 100644 --- a/indra/newview/skins/default/xui/es/inspect_avatar.xml +++ b/indra/newview/skins/default/xui/es/inspect_avatar.xml @@ -10,8 +10,6 @@ <string name="Details"> [SL_PROFILE] </string> - <text name="user_name_small" value="Grumpity ProductEngine con un nombre demasiado largo"/> - <text name="user_slid" value="james.linden"/> <text name="user_details"> Ésta es mi descripción de Second Life que, por cierto, me encanta. Pero, por lo que sea, me he enrollado más de la cuenta y la descripción es larguísima. </text> diff --git a/indra/newview/skins/default/xui/es/panel_edit_profile.xml b/indra/newview/skins/default/xui/es/panel_edit_profile.xml index 56d03dccc2..8e5e09cfec 100644 --- a/indra/newview/skins/default/xui/es/panel_edit_profile.xml +++ b/indra/newview/skins/default/xui/es/panel_edit_profile.xml @@ -25,11 +25,7 @@ <text name="display_name_label" value="Nombre mostrado:"/> <text name="solo_username_label" value="Nombre de usuario:"/> <button name="set_name" tool_tip="Configurar nombre mostrado"/> - <text name="solo_user_name" value="Hamilton Hitchings"/> - <text name="user_name" value="Hamilton Hitchings"/> - <text name="user_name_small" value="Hamilton Hitchings"/> <text name="user_label" value="Nombre de usuario:"/> - <text name="user_slid" value="hamilton.linden"/> <panel name="lifes_images_panel"> <icon label="" name="2nd_life_edit_icon" tool_tip="Pulsa para elegir una imagen"/> </panel> diff --git a/indra/newview/skins/default/xui/es/panel_profile_view.xml b/indra/newview/skins/default/xui/es/panel_profile_view.xml index a11fc31607..cb374dee52 100644 --- a/indra/newview/skins/default/xui/es/panel_profile_view.xml +++ b/indra/newview/skins/default/xui/es/panel_profile_view.xml @@ -10,10 +10,8 @@ <text name="solo_username_label" value="Nombre de usuario:"/> <text name="status" value="Conectado/a"/> <text name="user_name_small" value="Jack, ¿has visto esto? Es un nombre larguísimo."/> - <text name="user_name" value="Jack Linden"/> <button name="copy_to_clipboard" tool_tip="Copiar al portapapeles"/> <text name="user_label" value="Nombre de usuario:"/> - <text name="user_slid" value="jack.linden"/> <tab_container name="tabs"> <panel label="PERFIL" name="panel_profile"/> <panel label="DESTACADOS" name="panel_picks"/> diff --git a/indra/newview/skins/default/xui/es/panel_region_covenant.xml b/indra/newview/skins/default/xui/es/panel_region_covenant.xml index 0a5d7c2786..06f4fffacf 100644 --- a/indra/newview/skins/default/xui/es/panel_region_covenant.xml +++ b/indra/newview/skins/default/xui/es/panel_region_covenant.xml @@ -27,8 +27,8 @@ </text_editor> <button label="Cambiar" name="reset_covenant"/> <text name="covenant_help_text"> - Los cambios en el contrato se mostrarán en todas las parcelas - del estado. + Los cambios en el contrato se mostrarán en todas las parcelas +del estado. </text> <text bottom_delta="-31" name="covenant_instructions"> Arrastra y suelta una nota para cambiar el contrato de este estado. @@ -73,7 +73,8 @@ El terreno comprado en esta región no se podrá revender. </string> <string name="can_change"> - El terreno comprado en esta región se podrá unir o subdividir. + El terreno comprado en esta región se podrá unir o +subdividir. </string> <string name="can_not_change"> El terreno comprado en esta región no se podrá unir ni diff --git a/indra/newview/skins/default/xui/es/sidepanel_task_info.xml b/indra/newview/skins/default/xui/es/sidepanel_task_info.xml index e6d9e28aff..bd814ecc66 100644 --- a/indra/newview/skins/default/xui/es/sidepanel_task_info.xml +++ b/indra/newview/skins/default/xui/es/sidepanel_task_info.xml @@ -48,15 +48,9 @@ <text name="CreatorNameLabel"> Creador: </text> - <text name="Creator Name"> - Erica Linden - </text> <text name="Owner:"> Propietario: </text> - <text name="Owner Name"> - Erica Linden - </text> <text name="Group_label"> Grupo: </text> diff --git a/indra/newview/skins/default/xui/es/strings.xml b/indra/newview/skins/default/xui/es/strings.xml index 19adf29d29..df40a2b6b4 100644 --- a/indra/newview/skins/default/xui/es/strings.xml +++ b/indra/newview/skins/default/xui/es/strings.xml @@ -1692,7 +1692,7 @@ <string name="RegionNoCovenantOtherOwner"> No se ha aportado un contrato para este estado. El terreno de este estado lo vende el propietario del estado, no Linden Lab. Por favor, contacta con ese propietario para informarte sobre la venta. </string> - <string name="covenant_last_modified" value="Última modificación:"/> + <string name="covenant_last_modified" value="Última modificación: "/> <string name="none_text" value="(no hay)"/> <string name="never_text" value=" (nunca)"/> <string name="GroupOwned"> diff --git a/indra/newview/skins/default/xui/fr/floater_about_land.xml b/indra/newview/skins/default/xui/fr/floater_about_land.xml index b0ef1cf8df..63b2b1f685 100644 --- a/indra/newview/skins/default/xui/fr/floater_about_land.xml +++ b/indra/newview/skins/default/xui/fr/floater_about_land.xml @@ -88,15 +88,9 @@ <text name="Owner:"> Propriétaire : </text> - <text name="OwnerText"> - Leyla Linden - </text> <text name="Group:"> Groupe : </text> - <text name="GroupText"> - Leyla Linden - </text> <button label="Choisir" label_selected="Définir..." name="Set..."/> <check_box label="Autoriser la cession au groupe" name="check deed" tool_tip="Un officier du groupe peut céder ce terrain à ce groupe, afin qu'il soit pris en charge par l'allocation de terrains du groupe."/> <button label="Céder" label_selected="Céder..." name="Deed..." tool_tip="Vous ne pouvez céder le terrain que si vous avez un rôle d'officier dans le groupe sélectionné."/> diff --git a/indra/newview/skins/default/xui/fr/floater_inventory_item_properties.xml b/indra/newview/skins/default/xui/fr/floater_inventory_item_properties.xml index 29b61fc98d..f2eb3cb6bc 100644 --- a/indra/newview/skins/default/xui/fr/floater_inventory_item_properties.xml +++ b/indra/newview/skins/default/xui/fr/floater_inventory_item_properties.xml @@ -24,16 +24,10 @@ <text name="LabelCreatorTitle"> Créateur : </text> - <text name="LabelCreatorName"> - Nicole Linden - </text> <button label="Profil..." label_selected="" name="BtnCreator"/> <text name="LabelOwnerTitle"> Propriétaire : </text> - <text name="LabelOwnerName"> - Thrax Linden - </text> <button label="Profil..." label_selected="" name="BtnOwner"/> <text name="LabelAcquiredTitle"> Acquis : diff --git a/indra/newview/skins/default/xui/fr/floater_tools.xml b/indra/newview/skins/default/xui/fr/floater_tools.xml index 46a27e960c..01274b4cbc 100644 --- a/indra/newview/skins/default/xui/fr/floater_tools.xml +++ b/indra/newview/skins/default/xui/fr/floater_tools.xml @@ -170,15 +170,9 @@ <text name="Creator:"> Créateur : </text> - <text name="Creator Name"> - Mrs. Esbee Linden (esbee.linden) - </text> <text name="Owner:"> Propriétaire : </text> - <text name="Owner Name"> - Mrs. Erica "Moose" Linden (erica.linden) - </text> <text name="Group:"> Groupe : </text> diff --git a/indra/newview/skins/default/xui/fr/inspect_avatar.xml b/indra/newview/skins/default/xui/fr/inspect_avatar.xml index f34ca1f8dd..553646f8e9 100644 --- a/indra/newview/skins/default/xui/fr/inspect_avatar.xml +++ b/indra/newview/skins/default/xui/fr/inspect_avatar.xml @@ -10,9 +10,6 @@ <string name="Details"> [SL_PROFILE] </string> - <text name="user_name_small" value="Grumpity ProductEngine with a long name"/> - <text name="user_name" value="Grumpity ProductEngine"/> - <text name="user_slid" value="james.linden"/> <text name="user_subtitle" value="11 mois, 3 jours"/> <text name="user_details"> This is my second life description and I really think it is great. But for some reason my description is super extra long because I like to talk a whole lot diff --git a/indra/newview/skins/default/xui/fr/inspect_group.xml b/indra/newview/skins/default/xui/fr/inspect_group.xml index 4519c380c5..e8c528c1ac 100644 --- a/indra/newview/skins/default/xui/fr/inspect_group.xml +++ b/indra/newview/skins/default/xui/fr/inspect_group.xml @@ -16,9 +16,6 @@ <string name="YouAreMember"> Vous êtes membre </string> - <text name="group_name"> - Groupe grognon des Orignaux Grumpity - </text> <text name="group_subtitle"> 123 membres </text> diff --git a/indra/newview/skins/default/xui/fr/panel_activeim_row.xml b/indra/newview/skins/default/xui/fr/panel_activeim_row.xml deleted file mode 100644 index 84272752cf..0000000000 --- a/indra/newview/skins/default/xui/fr/panel_activeim_row.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_activeim_row"> - <text name="contact_name"> - Grumpity ProductEngine - </text> -</panel> diff --git a/indra/newview/skins/default/xui/fr/panel_chat_header.xml b/indra/newview/skins/default/xui/fr/panel_chat_header.xml index babbff3132..7916bf5155 100644 --- a/indra/newview/skins/default/xui/fr/panel_chat_header.xml +++ b/indra/newview/skins/default/xui/fr/panel_chat_header.xml @@ -1,5 +1,4 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <panel label="im_header" name="im_header"> - <text_editor name="user_name" value="Ericag Vader"/> <text name="time_box" value="23:30"/> </panel> diff --git a/indra/newview/skins/default/xui/fr/panel_edit_profile.xml b/indra/newview/skins/default/xui/fr/panel_edit_profile.xml index ef65d2fe24..9e63c88221 100644 --- a/indra/newview/skins/default/xui/fr/panel_edit_profile.xml +++ b/indra/newview/skins/default/xui/fr/panel_edit_profile.xml @@ -29,11 +29,7 @@ <text name="display_name_label" value="Nom d'affichage :"/> <text name="solo_username_label" value="Nom d'utilisateur :"/> <button name="set_name" tool_tip="Définir un nom d'affichage"/> - <text name="solo_user_name" value="Hamilton Hitchings"/> - <text name="user_name" value="Hamilton Hitchings"/> - <text name="user_name_small" value="Hamilton Hitchings"/> <text name="user_label" value="Nom d'utilisateur :"/> - <text name="user_slid" value="hamilton.linden"/> <panel name="lifes_images_panel"> <panel name="second_life_image_panel"> <text name="second_life_photo_title_text" value="[SECOND_LIFE]:"/> diff --git a/indra/newview/skins/default/xui/fr/panel_instant_message.xml b/indra/newview/skins/default/xui/fr/panel_instant_message.xml index bf3720f411..305d2d853c 100644 --- a/indra/newview/skins/default/xui/fr/panel_instant_message.xml +++ b/indra/newview/skins/default/xui/fr/panel_instant_message.xml @@ -4,7 +4,6 @@ 6 </string> <panel label="im_header" name="im_header"> - <text name="user_name" value="Erica Vader"/> <text name="time_box" value="23:30"/> </panel> <button label="Répondre" name="reply"/> diff --git a/indra/newview/skins/default/xui/fr/panel_profile_view.xml b/indra/newview/skins/default/xui/fr/panel_profile_view.xml index 0447618420..76ba44e899 100644 --- a/indra/newview/skins/default/xui/fr/panel_profile_view.xml +++ b/indra/newview/skins/default/xui/fr/panel_profile_view.xml @@ -10,10 +10,8 @@ <text name="solo_username_label" value="Nom d'utilisateur :"/> <text name="status" value="En ligne"/> <text name="user_name_small" value="Jack oh look at me this is a super duper long name"/> - <text name="user_name" value="Jack Linden"/> <button name="copy_to_clipboard" tool_tip="Copier dans le presse-papiers"/> <text name="user_label" value="Nom d'utilisateur :"/> - <text name="user_slid" value="jack.linden"/> <tab_container name="tabs"> <panel label="PROFIL" name="panel_profile"/> <panel label="FAVORIS" name="panel_picks"/> diff --git a/indra/newview/skins/default/xui/fr/sidepanel_task_info.xml b/indra/newview/skins/default/xui/fr/sidepanel_task_info.xml index c8e76118a1..bd8a39fe16 100644 --- a/indra/newview/skins/default/xui/fr/sidepanel_task_info.xml +++ b/indra/newview/skins/default/xui/fr/sidepanel_task_info.xml @@ -48,15 +48,9 @@ <text name="CreatorNameLabel"> Créateur : </text> - <text name="Creator Name"> - Erica Linden - </text> <text name="Owner:"> Propriétaire : </text> - <text name="Owner Name"> - Erica Linden - </text> <text name="Group_label"> Groupe : </text> diff --git a/indra/newview/skins/default/xui/it/floater_about_land.xml b/indra/newview/skins/default/xui/it/floater_about_land.xml index d6834fa70a..e66f75be0f 100644 --- a/indra/newview/skins/default/xui/it/floater_about_land.xml +++ b/indra/newview/skins/default/xui/it/floater_about_land.xml @@ -87,15 +87,11 @@ Vai al menu Mondo > Informazioni sul terreno oppure seleziona un altro appezz <text name="Owner:"> Proprietario: </text> - <text left="119" name="OwnerText" width="227"> - Leyla Linden - </text> + <text left="119" name="OwnerText" width="227"/> <text name="Group:"> Gruppo: </text> - <text left="119" name="GroupText" width="227"> - Leyla Linden - </text> + <text left="119" name="GroupText" width="227"/> <button label="Imposta" name="Set..."/> <check_box label="Permetti cessione al gruppo" left="119" name="check deed" tool_tip="Un funzionario del gruppo può cedere questa terra al gruppo stesso cosicchè essa sarà supportata dalle terre del gruppo."/> <button label="Cedi" name="Deed..." tool_tip="Puoi solo offrire terra se sei un funzionario del gruppo selezionato."/> diff --git a/indra/newview/skins/default/xui/it/floater_inventory_item_properties.xml b/indra/newview/skins/default/xui/it/floater_inventory_item_properties.xml index d3dc4d7eae..7ed3486b9b 100644 --- a/indra/newview/skins/default/xui/it/floater_inventory_item_properties.xml +++ b/indra/newview/skins/default/xui/it/floater_inventory_item_properties.xml @@ -24,16 +24,10 @@ <text name="LabelCreatorTitle"> Creatore: </text> - <text name="LabelCreatorName"> - Nicole Linden - </text> <button label="Profilo..." label_selected="" name="BtnCreator"/> <text name="LabelOwnerTitle"> proprietario: </text> - <text name="LabelOwnerName"> - Thrax Linden - </text> <button label="Profilo..." label_selected="" name="BtnOwner"/> <text name="LabelAcquiredTitle"> Acquisito: diff --git a/indra/newview/skins/default/xui/it/floater_tools.xml b/indra/newview/skins/default/xui/it/floater_tools.xml index a8c985cb12..fc13e09d1c 100644 --- a/indra/newview/skins/default/xui/it/floater_tools.xml +++ b/indra/newview/skins/default/xui/it/floater_tools.xml @@ -171,15 +171,9 @@ <text name="Creator:"> Creatore: </text> - <text name="Creator Name"> - Thrax Linden - </text> <text name="Owner:"> Proprietario: </text> - <text name="Owner Name"> - Thrax Linden - </text> <text name="Group:"> Gruppo: </text> diff --git a/indra/newview/skins/default/xui/it/panel_profile_view.xml b/indra/newview/skins/default/xui/it/panel_profile_view.xml index 20c62d4ceb..cf65aabebc 100644 --- a/indra/newview/skins/default/xui/it/panel_profile_view.xml +++ b/indra/newview/skins/default/xui/it/panel_profile_view.xml @@ -6,7 +6,6 @@ <string name="status_offline"> Offline </string> - <text_editor name="user_name" value="(Caricamento in corso...)"/> <text name="status" value="Online"/> <tab_container name="tabs"> <panel label="PROFILO" name="panel_profile"/> diff --git a/indra/newview/skins/default/xui/it/sidepanel_task_info.xml b/indra/newview/skins/default/xui/it/sidepanel_task_info.xml index 67870d9b76..cfabdc81b0 100644 --- a/indra/newview/skins/default/xui/it/sidepanel_task_info.xml +++ b/indra/newview/skins/default/xui/it/sidepanel_task_info.xml @@ -48,15 +48,9 @@ <text name="CreatorNameLabel"> Ideatore: </text> - <text name="Creator Name"> - Erica Linden - </text> <text name="Owner:"> Proprietario: </text> - <text name="Owner Name"> - Erica Linden - </text> <text name="Group_label"> Gruppo: </text> diff --git a/indra/newview/skins/default/xui/ja/floater_about_land.xml b/indra/newview/skins/default/xui/ja/floater_about_land.xml index 2de9e781d4..a0046cec59 100644 --- a/indra/newview/skins/default/xui/ja/floater_about_land.xml +++ b/indra/newview/skins/default/xui/ja/floater_about_land.xml @@ -87,15 +87,9 @@ <text name="Owner:"> 所有者: </text> - <text name="OwnerText"> - Leyla Linden - </text> <text name="Group:"> グループ: </text> - <text name="GroupText"> - Leyla Linden - </text> <button label="設定" label_selected="設定..." name="Set..."/> <check_box label="グループへの譲渡を許可" name="check deed" tool_tip="グループのオフィサーはこの土地をグループに譲渡できます。グループの土地割り当てによってサポートされます。"/> <button label="譲渡" label_selected="譲渡..." name="Deed..." tool_tip="選択したグループのオフィサーのみ、土地を譲渡できます。"/> diff --git a/indra/newview/skins/default/xui/ja/floater_inventory_item_properties.xml b/indra/newview/skins/default/xui/ja/floater_inventory_item_properties.xml index 7480b04856..725214086a 100644 --- a/indra/newview/skins/default/xui/ja/floater_inventory_item_properties.xml +++ b/indra/newview/skins/default/xui/ja/floater_inventory_item_properties.xml @@ -24,16 +24,10 @@ <text name="LabelCreatorTitle"> クリエーター </text> - <text name="LabelCreatorName"> - Nicole Linden - </text> <button label="情報" label_selected="" name="BtnCreator"/> <text name="LabelOwnerTitle"> オーナー: </text> - <text name="LabelOwnerName"> - Thrax Linden - </text> <button label="情報" label_selected="" name="BtnOwner"/> <text name="LabelAcquiredTitle"> 入手日時: diff --git a/indra/newview/skins/default/xui/ja/floater_tools.xml b/indra/newview/skins/default/xui/ja/floater_tools.xml index bbd78fb818..2272234d7a 100644 --- a/indra/newview/skins/default/xui/ja/floater_tools.xml +++ b/indra/newview/skins/default/xui/ja/floater_tools.xml @@ -170,15 +170,9 @@ <text name="Creator:"> 制作者: </text> - <text name="Creator Name"> - Esbee Linden - </text> <text name="Owner:"> 所有者: </text> - <text name="Owner Name"> - Erica Linden - </text> <text name="Group:"> グループ: </text> diff --git a/indra/newview/skins/default/xui/ja/inspect_avatar.xml b/indra/newview/skins/default/xui/ja/inspect_avatar.xml index fb4937242b..f3ea794bc7 100644 --- a/indra/newview/skins/default/xui/ja/inspect_avatar.xml +++ b/indra/newview/skins/default/xui/ja/inspect_avatar.xml @@ -10,7 +10,6 @@ <string name="Details"> [SL_PROFILE] </string> - <text name="user_name" value="Grumpity ProductEngine"/> <text name="user_subtitle" value="11 Months, 3 days old"/> <text name="user_details"> This is my second life description and I really think it is great. diff --git a/indra/newview/skins/default/xui/ja/inspect_group.xml b/indra/newview/skins/default/xui/ja/inspect_group.xml index b461b93f65..be628befdf 100644 --- a/indra/newview/skins/default/xui/ja/inspect_group.xml +++ b/indra/newview/skins/default/xui/ja/inspect_group.xml @@ -16,9 +16,6 @@ <string name="YouAreMember"> あなたはメンバーです </string> - <text name="group_name"> - Grumpity's Grumpy Group of Moose - </text> <text name="group_subtitle"> 123 メートル </text> diff --git a/indra/newview/skins/default/xui/ja/panel_activeim_row.xml b/indra/newview/skins/default/xui/ja/panel_activeim_row.xml deleted file mode 100644 index 84272752cf..0000000000 --- a/indra/newview/skins/default/xui/ja/panel_activeim_row.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes"?> -<panel name="panel_activeim_row"> - <text name="contact_name"> - Grumpity ProductEngine - </text> -</panel> diff --git a/indra/newview/skins/default/xui/ja/panel_chat_header.xml b/indra/newview/skins/default/xui/ja/panel_chat_header.xml index babbff3132..7916bf5155 100644 --- a/indra/newview/skins/default/xui/ja/panel_chat_header.xml +++ b/indra/newview/skins/default/xui/ja/panel_chat_header.xml @@ -1,5 +1,4 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <panel label="im_header" name="im_header"> - <text_editor name="user_name" value="Ericag Vader"/> <text name="time_box" value="23:30"/> </panel> diff --git a/indra/newview/skins/default/xui/ja/panel_instant_message.xml b/indra/newview/skins/default/xui/ja/panel_instant_message.xml index 9fd0cb3b0d..bf4cbcdc46 100644 --- a/indra/newview/skins/default/xui/ja/panel_instant_message.xml +++ b/indra/newview/skins/default/xui/ja/panel_instant_message.xml @@ -4,7 +4,6 @@ 6 </string> <panel label="im_header" name="im_header"> - <text name="user_name" value="Erica Vader"/> <text name="time_box" value="23:30"/> </panel> <button label="返信" name="reply"/> diff --git a/indra/newview/skins/default/xui/ja/panel_profile_view.xml b/indra/newview/skins/default/xui/ja/panel_profile_view.xml index 5666a93cf0..82807bc8fc 100644 --- a/indra/newview/skins/default/xui/ja/panel_profile_view.xml +++ b/indra/newview/skins/default/xui/ja/panel_profile_view.xml @@ -6,7 +6,6 @@ <string name="status_offline"> オフライン </string> - <text_editor name="user_name" value="(ローディング...)"/> <text name="status" value="オンライン"/> <tab_container name="tabs"> <panel label="プロフィール" name="panel_profile"/> diff --git a/indra/newview/skins/default/xui/ja/sidepanel_task_info.xml b/indra/newview/skins/default/xui/ja/sidepanel_task_info.xml index ff9b5dc6aa..eb2bfa993b 100644 --- a/indra/newview/skins/default/xui/ja/sidepanel_task_info.xml +++ b/indra/newview/skins/default/xui/ja/sidepanel_task_info.xml @@ -48,15 +48,9 @@ <text name="CreatorNameLabel"> 制作者: </text> - <text name="Creator Name"> - Erica Linden - </text> <text name="Owner:"> 所有者: </text> - <text name="Owner Name"> - Erica Linden - </text> <text name="Group_label"> グループ: </text> diff --git a/indra/newview/skins/default/xui/nl/floater_about_land.xml b/indra/newview/skins/default/xui/nl/floater_about_land.xml index 4271ad5b82..bb72f54a9c 100644 --- a/indra/newview/skins/default/xui/nl/floater_about_land.xml +++ b/indra/newview/skins/default/xui/nl/floater_about_land.xml @@ -23,9 +23,7 @@ <text name="Owner:"> Eigenaar: </text> - <text name="OwnerText" left="102" width="242"> - Leyla Linden - </text> + <text name="OwnerText" left="102" width="242"/> <button label="Profiel" name="Profile..."/> <text name="Group:"> Groep: diff --git a/indra/newview/skins/default/xui/nl/floater_inventory_item_properties.xml b/indra/newview/skins/default/xui/nl/floater_inventory_item_properties.xml index 63cfafab81..81a823acd4 100644 --- a/indra/newview/skins/default/xui/nl/floater_inventory_item_properties.xml +++ b/indra/newview/skins/default/xui/nl/floater_inventory_item_properties.xml @@ -9,16 +9,10 @@ <text name="LabelCreatorTitle"> Maker: </text> - <text name="LabelCreatorName"> - Nicole Linden - </text> <button label="Profiel..." label_selected="" name="BtnCreator"/> <text name="LabelOwnerTitle"> Eigenaar </text> - <text name="LabelOwnerName"> - Thrax Linden - </text> <button label="Profiel..." label_selected="" name="BtnOwner"/> <text name="LabelAcquiredTitle"> Verworven: diff --git a/indra/newview/skins/default/xui/nl/floater_tools.xml b/indra/newview/skins/default/xui/nl/floater_tools.xml index 4ffe675831..98339383e4 100644 --- a/indra/newview/skins/default/xui/nl/floater_tools.xml +++ b/indra/newview/skins/default/xui/nl/floater_tools.xml @@ -98,16 +98,10 @@ <text name="Creator:"> Maker: </text> - <text name="Creator Name"> - Thrax Linden - </text> <button label="Profiel..." label_selected="Profiel..." name="button creator profile"/> <text name="Owner:"> Eigenaar: </text> - <text name="Owner Name"> - Thrax Linden - </text> <button label="Profiel..." label_selected="Profiel..." name="button owner profile"/> <text name="Group:"> Groep: diff --git a/indra/newview/skins/default/xui/pl/floater_about_land.xml b/indra/newview/skins/default/xui/pl/floater_about_land.xml index 0974518a1f..865ab9eacf 100644 --- a/indra/newview/skins/default/xui/pl/floater_about_land.xml +++ b/indra/newview/skins/default/xui/pl/floater_about_land.xml @@ -87,15 +87,9 @@ Idź do Świat > O Posiadłości albo wybierz inną posiadłość żeby pokaz <text name="Owner:"> Właściciel: </text> - <text name="OwnerText"> - Leyla Linden - </text> <text name="Group:"> Grupa: </text> - <text name="GroupText"> - Leyla Linden - </text> <button label="Ustaw" name="Set..."/> <check_box label="Udostępnij przypisywanie na Grupę" name="check deed" tool_tip="Oficer Grupy ma prawo przepisać prawo własności Posiadłości na Grupę. Posiadłość wspierana jest przez przydziały pochodzące od członków Grupy."/> <button label="Przypisz" name="Deed..." tool_tip="Prawo przypisania Posiadłości na Grupę może dokonać jedynie oficer Grupy."/> diff --git a/indra/newview/skins/default/xui/pl/floater_inventory_item_properties.xml b/indra/newview/skins/default/xui/pl/floater_inventory_item_properties.xml index 1e63987585..054d74b234 100644 --- a/indra/newview/skins/default/xui/pl/floater_inventory_item_properties.xml +++ b/indra/newview/skins/default/xui/pl/floater_inventory_item_properties.xml @@ -24,16 +24,10 @@ <text name="LabelCreatorTitle"> Twórca: </text> - <text name="LabelCreatorName"> - Nicole Linden - </text> <button label="Profil..." label_selected="" name="BtnCreator"/> <text name="LabelOwnerTitle"> Właściciel: </text> - <text name="LabelOwnerName"> - Thrax Linden - </text> <button label="Profil..." label_selected="" name="BtnOwner"/> <text name="LabelAcquiredTitle"> Nabyte: diff --git a/indra/newview/skins/default/xui/pl/floater_tools.xml b/indra/newview/skins/default/xui/pl/floater_tools.xml index 7c1ced0eae..337998efc9 100644 --- a/indra/newview/skins/default/xui/pl/floater_tools.xml +++ b/indra/newview/skins/default/xui/pl/floater_tools.xml @@ -173,15 +173,9 @@ <text name="Creator:"> Twórca: </text> - <text name="Creator Name"> - Pani Esbee Linden (esbee.linden) - </text> <text name="Owner:"> Właściciel: </text> - <text name="Owner Name"> - Pani Erica "Moose" Linden (erica.linden) - </text> <text name="Group:"> Grupa: </text> diff --git a/indra/newview/skins/default/xui/pl/inspect_avatar.xml b/indra/newview/skins/default/xui/pl/inspect_avatar.xml index 1db3339352..5e982c0185 100644 --- a/indra/newview/skins/default/xui/pl/inspect_avatar.xml +++ b/indra/newview/skins/default/xui/pl/inspect_avatar.xml @@ -10,8 +10,6 @@ <string name="Details"> [SL_PROFILE] </string> - <text name="user_name_small" value="Grumpity ProductEngine with a long name"/> - <text name="user_slid" value="james.linden"/> <text name="user_details"> To jest mój opis w Second Life. </text> diff --git a/indra/newview/skins/default/xui/pl/panel_edit_profile.xml b/indra/newview/skins/default/xui/pl/panel_edit_profile.xml index c409666ec9..e6fd8b18f8 100644 --- a/indra/newview/skins/default/xui/pl/panel_edit_profile.xml +++ b/indra/newview/skins/default/xui/pl/panel_edit_profile.xml @@ -25,11 +25,7 @@ <text name="display_name_label" value="Wyświetlana nazwa:"/> <text name="solo_username_label" value="Nazwa użytkownika:"/> <button name="set_name" tool_tip="Ustaw wyświetlanią nazwę."/> - <text name="solo_user_name" value="Hamilton Hitchings"/> - <text name="user_name" value="Hamilton Hitchings"/> - <text name="user_name_small" value="Hamilton Hitchings"/> <text name="user_label" value="Nazwa użytkownika:"/> - <text name="user_slid" value="hamilton.linden"/> <panel name="lifes_images_panel"> <icon label="" name="2nd_life_edit_icon" tool_tip="Kliknij aby wybrać teksturę"/> </panel> diff --git a/indra/newview/skins/default/xui/pl/panel_profile_view.xml b/indra/newview/skins/default/xui/pl/panel_profile_view.xml index 3590e9222e..1fd6bc1d10 100644 --- a/indra/newview/skins/default/xui/pl/panel_profile_view.xml +++ b/indra/newview/skins/default/xui/pl/panel_profile_view.xml @@ -10,10 +10,8 @@ <text name="solo_username_label" value="Nazwa użytkownika:"/> <text name="status" value="Obecnie w SL"/> <text name="user_name_small" value="Jack oh look at me this is a super duper long name"/> - <text name="user_name" value="Jack Linden"/> <button name="copy_to_clipboard" tool_tip="Kopiuj do schowka"/> <text name="user_label" value="Nazwa użytkownika:"/> - <text name="user_slid" value="jack.linden"/> <tab_container name="tabs"> <panel label="PROFIL" name="panel_profile"/> <panel label="ULUBIONE" name="panel_picks"/> diff --git a/indra/newview/skins/default/xui/pl/sidepanel_task_info.xml b/indra/newview/skins/default/xui/pl/sidepanel_task_info.xml index d8cf456c64..eb8c9cdbbb 100644 --- a/indra/newview/skins/default/xui/pl/sidepanel_task_info.xml +++ b/indra/newview/skins/default/xui/pl/sidepanel_task_info.xml @@ -48,15 +48,9 @@ <text name="CreatorNameLabel"> Twórca: </text> - <text name="Creator Name"> - Erica Linden - </text> <text name="Owner:"> Właściciel: </text> - <text name="Owner Name"> - Erica Linden - </text> <text name="Group_label"> Grupa: </text> diff --git a/indra/newview/skins/default/xui/pt/floater_about_land.xml b/indra/newview/skins/default/xui/pt/floater_about_land.xml index 3fb4bc272e..43d056eef6 100644 --- a/indra/newview/skins/default/xui/pt/floater_about_land.xml +++ b/indra/newview/skins/default/xui/pt/floater_about_land.xml @@ -87,15 +87,9 @@ Vá para o menu Mundo > Sobre o terreno ou selecione outro lote para mostrar <text name="Owner:"> Proprietário: </text> - <text name="OwnerText"> - Leyla Linden - </text> <text name="Group:"> Grupo: </text> - <text name="GroupText"> - Leyla Linden - </text> <button label="Ajustar" name="Set..."/> <check_box label="Permitir doação para o grupo" name="check deed" tool_tip="Oficiais do grupo podem doar esse terreno ao grupo, passando a administração para o gestor da ilha"/> <button label="Passar" name="Deed..." tool_tip="Você só pode doar o terreno se você for um dos oficiais do grupo selecionado."/> diff --git a/indra/newview/skins/default/xui/pt/floater_inventory_item_properties.xml b/indra/newview/skins/default/xui/pt/floater_inventory_item_properties.xml index 8fe69c097d..8a8f1f5b34 100644 --- a/indra/newview/skins/default/xui/pt/floater_inventory_item_properties.xml +++ b/indra/newview/skins/default/xui/pt/floater_inventory_item_properties.xml @@ -24,16 +24,10 @@ <text name="LabelCreatorTitle"> Criador: </text> - <text name="LabelCreatorName"> - Nicole Linden - </text> <button label="Perfil..." label_selected="" name="BtnCreator"/> <text name="LabelOwnerTitle"> Dono: </text> - <text name="LabelOwnerName"> - Thrax Linden - </text> <button label="Perfil..." label_selected="" name="BtnOwner"/> <text name="LabelAcquiredTitle"> Adquirido: diff --git a/indra/newview/skins/default/xui/pt/floater_tools.xml b/indra/newview/skins/default/xui/pt/floater_tools.xml index bd5fbf80d1..f90097bf22 100644 --- a/indra/newview/skins/default/xui/pt/floater_tools.xml +++ b/indra/newview/skins/default/xui/pt/floater_tools.xml @@ -170,15 +170,9 @@ <text name="Creator:"> Criador: </text> - <text name="Creator Name"> - Mrs. Esbee Linden (esbee.linden) - </text> <text name="Owner:"> Proprietário: </text> - <text name="Owner Name"> - Mrs. Erica "Moose" Linden (erica.linden) - </text> <text name="Group:"> Grupo: </text> diff --git a/indra/newview/skins/default/xui/pt/inspect_avatar.xml b/indra/newview/skins/default/xui/pt/inspect_avatar.xml index a95d5ff31a..a199c58c15 100644 --- a/indra/newview/skins/default/xui/pt/inspect_avatar.xml +++ b/indra/newview/skins/default/xui/pt/inspect_avatar.xml @@ -10,8 +10,6 @@ <string name="Details"> [PERFIL_SL] </string> - <text name="user_name_small" value="Grumpity ProductEngine with a long name"/> - <text name="user_slid" value="james.linden"/> <text name="user_details"> This is my second life description and I really think it is great. But for some reason my description is super extra long because I like to talk a whole lot </text> diff --git a/indra/newview/skins/default/xui/pt/panel_edit_profile.xml b/indra/newview/skins/default/xui/pt/panel_edit_profile.xml index 4066842b25..0ba7382845 100644 --- a/indra/newview/skins/default/xui/pt/panel_edit_profile.xml +++ b/indra/newview/skins/default/xui/pt/panel_edit_profile.xml @@ -25,11 +25,7 @@ <text name="display_name_label" value="Nome de tela:"/> <text name="solo_username_label" value="Nome de usuário:"/> <button name="set_name" tool_tip="Definir nome de tela"/> - <text name="solo_user_name" value="Hamilton Hitchings"/> - <text name="user_name" value="Hamilton Hitchings"/> - <text name="user_name_small" value="Hamilton Hitchings"/> <text name="user_label" value="Nome de usuário:"/> - <text name="user_slid" value="hamilton.linden"/> <panel name="lifes_images_panel"> <icon label="" name="2nd_life_edit_icon" tool_tip="Selecione uma imagem"/> </panel> diff --git a/indra/newview/skins/default/xui/pt/panel_group_roles.xml b/indra/newview/skins/default/xui/pt/panel_group_roles.xml index c861e29624..11a31570d1 100644 --- a/indra/newview/skins/default/xui/pt/panel_group_roles.xml +++ b/indra/newview/skins/default/xui/pt/panel_group_roles.xml @@ -6,8 +6,8 @@ <panel.string name="want_apply_text"> Deseja salvar essas mudanças? </panel.string> - <tab_container height="164" name="roles_tab_container"> - <panel height="148" label="MEMBROS" name="members_sub_tab" tool_tip="Membros"> + <tab_container name="roles_tab_container"> + <panel label="MEMBROS" name="members_sub_tab" tool_tip="Membros"> <panel.string name="help_text"> Você pode adicionar ou remover as funções designadas aos membros. Selecione vários membros, segurando a tecla Ctrl e clicando em seus nomes. </panel.string> @@ -15,15 +15,15 @@ [AREA] m² </panel.string> <filter_editor label="Filtrar por membro" name="filter_input"/> - <name_list bottom_delta="-105" height="104" name="member_list"> + <name_list name="member_list"> <name_list.columns label="Membro" name="name"/> <name_list.columns label="Doações" name="donated"/> <name_list.columns label="Status" name="online"/> </name_list> - <button label="Convidar" name="member_invite" width="165"/> + <button label="Convidar" name="member_invite" /> <button label="Ejetar" name="member_eject"/> </panel> - <panel height="148" label="CARGOS" name="roles_sub_tab"> + <panel label="CARGOS" name="roles_sub_tab"> <panel.string name="help_text"> Cada cargo tem um nome e uma lista das funções que membros designados podem desempenhar. Os membros podem ter um ou mais cargos. @@ -36,7 +36,7 @@ Inv_FolderClosed </panel.string> <filter_editor label="Filtrar por cargo" name="filter_input"/> - <scroll_list bottom_delta="-104" height="104" name="role_list"> + <scroll_list name="role_list"> <scroll_list.columns label="Cargo" name="name"/> <scroll_list.columns label="Título" name="title"/> <scroll_list.columns label="#" name="members"/> diff --git a/indra/newview/skins/default/xui/pt/panel_profile_view.xml b/indra/newview/skins/default/xui/pt/panel_profile_view.xml index d3ec9b82bc..d81ee08e6c 100644 --- a/indra/newview/skins/default/xui/pt/panel_profile_view.xml +++ b/indra/newview/skins/default/xui/pt/panel_profile_view.xml @@ -10,10 +10,8 @@ <text name="solo_username_label" value="Nome de usuário:"/> <text name="status" value="Conectado"/> <text name="user_name_small" value="Jack oh look at me this is a super duper long name"/> - <text name="user_name" value="Jack Linden"/> <button name="copy_to_clipboard" tool_tip="Copiar para área de transferência"/> <text name="user_label" value="Nome de usuário:"/> - <text name="user_slid" value="jack.linden"/> <tab_container name="tabs"> <panel label="PERFIL" name="panel_profile"/> <panel label="DESTAQUES" name="panel_picks"/> diff --git a/indra/newview/skins/default/xui/pt/sidepanel_task_info.xml b/indra/newview/skins/default/xui/pt/sidepanel_task_info.xml index dd65810b22..8092e6c145 100644 --- a/indra/newview/skins/default/xui/pt/sidepanel_task_info.xml +++ b/indra/newview/skins/default/xui/pt/sidepanel_task_info.xml @@ -48,15 +48,9 @@ <text name="CreatorNameLabel"> Criador: </text> - <text name="Creator Name"> - Erica Linden - </text> <text name="Owner:"> Proprietário: </text> - <text name="Owner Name"> - Erica Linden - </text> <text name="Group_label"> Grupo: </text> diff --git a/indra/newview/tests/test_llxmlrpc_peer.py b/indra/newview/tests/test_llxmlrpc_peer.py index aeebb0cfd1..1c7204a6b6 100644 --- a/indra/newview/tests/test_llxmlrpc_peer.py +++ b/indra/newview/tests/test_llxmlrpc_peer.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python """\ @file test_llxmlrpc_peer.py @author Nat Goodspeed diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 338c62b9fb..1722c84d34 100644 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -1,29 +1,31 @@ -#!/usr/bin/python -# @file viewer_manifest.py -# @author Ryan Williams -# @brief Description of all installer viewer files, and methods for packaging -# them into installers for all supported platforms. -# -# $LicenseInfo:firstyear=2006&license=viewerlgpl$ -# Second Life Viewer Source Code -# Copyright (C) 2010, Linden Research, Inc. -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; -# version 2.1 of the License only. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -# -# Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA -# $/LicenseInfo$ +#!/usr/bin/env python +"""\ +@file viewer_manifest.py +@author Ryan Williams +@brief Description of all installer viewer files, and methods for packaging + them into installers for all supported platforms. + +$LicenseInfo:firstyear=2006&license=viewerlgpl$ +Second Life Viewer Source Code +Copyright (C) 2006-2011, Linden Research, Inc. + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; +version 2.1 of the License only. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA +$/LicenseInfo$ +""" import sys import os.path import re diff --git a/indra/test/test_llmanifest.py b/indra/test/test_llmanifest.py index 89c36f95dd..a97abbc6ee 100644 --- a/indra/test/test_llmanifest.py +++ b/indra/test/test_llmanifest.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python """ @file test_llmanifest.py @author Ryan Williams diff --git a/indra/test_apps/llplugintest/CMakeLists.txt b/indra/test_apps/llplugintest/CMakeLists.txt index b4043b0fd9..02d7031b81 100644 --- a/indra/test_apps/llplugintest/CMakeLists.txt +++ b/indra/test_apps/llplugintest/CMakeLists.txt @@ -1,5 +1,4 @@ # -*- cmake -*- - project(llplugintest) include(00-Common) diff --git a/indra/test_apps/llplugintest/llmediaplugintest.cpp b/indra/test_apps/llplugintest/llmediaplugintest.cpp index 4a2272032b..e9d4d99753 100644 --- a/indra/test_apps/llplugintest/llmediaplugintest.cpp +++ b/indra/test_apps/llplugintest/llmediaplugintest.cpp @@ -1620,7 +1620,7 @@ mediaPanel* LLMediaPluginTest::addMediaPanel( std::string url ) std::string user_data_path = std::string( cwd ) + "/"; #endif media_source->setUserDataPath(user_data_path); - media_source->init( launcher_name, plugin_name, false ); + media_source->init( launcher_name, user_data_path, plugin_name, false ); media_source->setDisableTimeout(mDisableTimeout); // make a new panel and save parameters @@ -1860,7 +1860,7 @@ mediaPanel* LLMediaPluginTest::replaceMediaPanel( mediaPanel* panel, std::string #endif media_source->setUserDataPath(user_data_path); - media_source->init( launcher_name, plugin_name, false ); + media_source->init( launcher_name, user_data_path, plugin_name, false ); media_source->setDisableTimeout(mDisableTimeout); // make a new panel and save parameters diff --git a/scripts/build_version.py b/scripts/build_version.py index 4bef290b7d..203d76fe9e 100755 --- a/scripts/build_version.py +++ b/scripts/build_version.py @@ -1,16 +1,39 @@ #!/usr/bin/env python -# -# Print the build information embedded in a header file. -# -# Expects to be invoked from the command line with a file name and a -# list of directories to search. The file name will be one of the -# following: -# -# llversionserver.h -# llversionviewer.h -# -# The directory list that follows will include indra/llcommon, where -# these files live. +"""\ +@file build_version.py +@brief Print the build information embedded in a header file. + + Expects to be invoked from the command line with a file name and a + list of directories to search. The file name will be one of the + following: + + llversionserver.h + llversionviewer.h + + The directory list that follows will include indra/llcommon, where + these files live. + +$LicenseInfo:firstyear=2010&license=viewerlgpl$ +Second Life Viewer Source Code +Copyright (C) 2010-2011, Linden Research, Inc. + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; +version 2.1 of the License only. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA +$/LicenseInfo$ +""" import errno, os, re diff --git a/scripts/md5check.py b/scripts/md5check.py index 951fe0105c..1a54a2844c 100755 --- a/scripts/md5check.py +++ b/scripts/md5check.py @@ -1,32 +1,27 @@ -#!/usr/bin/python +#!/usr/bin/env python """\ @file md5check.py @brief Replacement for message template compatibility verifier. -$LicenseInfo:firstyear=20i10&license=viewergpl$ -Copyright (c) 2010, Linden Research, Inc. - +$LicenseInfo:firstyear=2010&license=viewerlgpl$ Second Life Viewer Source Code -The source code in this file ("Source Code") is provided by Linden Lab -to you under the terms of the GNU General Public License, version 2.0 -("GPL"), unless you have obtained a separate licensing agreement -("Other License"), formally executed by you and Linden Lab. Terms of -the GPL can be found in doc/GPL-license.txt in this distribution, or -online at http://secondlifegrid.net/programs/open_source/licensing/gplv2 - -There are special exceptions to the terms and conditions of the GPL as -it is applied to this Source Code. View the full text of the exception -in the file doc/FLOSS-exception.txt in this software distribution, or -online at -http://secondlifegrid.net/programs/open_source/licensing/flossexception - -By copying, modifying or distributing this software, you acknowledge -that you have read and understood your obligations described above, -and agree to abide by those obligations. - -ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO -WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, -COMPLETENESS OR PERFORMANCE. +Copyright (C) 2010-2011, Linden Research, Inc. + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; +version 2.1 of the License only. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA $/LicenseInfo$ """ diff --git a/scripts/setup-path.py b/scripts/setup-path.py index 55e0f1a85f..ce83d815bf 100644 --- a/scripts/setup-path.py +++ b/scripts/setup-path.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python """\ @file setup-path.py @brief Get the python library directory in the path, so we don't have diff --git a/scripts/template_verifier.py b/scripts/template_verifier.py index ddb050fbbb..7f3fed88a9 100644 --- a/scripts/template_verifier.py +++ b/scripts/template_verifier.py @@ -1,4 +1,4 @@ -#!/usr/bin/python +#!/usr/bin/env python """\ @file template_verifier.py @brief Message template compatibility verifier. diff --git a/scripts/update_version_files.py b/scripts/update_version_files.py index da60fd105a..87036dc1c0 100755 --- a/scripts/update_version_files.py +++ b/scripts/update_version_files.py @@ -1,8 +1,30 @@ -#!/usr/bin/python -# -# Update all of the various files in the repository to a new version number, -# instead of having to figure it out by hand -# +#!/usr/bin/env python +"""\ +@file update_version_files.py +@brief Update all of the various files in the repository to a new version number, +instead of having to figure it out by hand + +$LicenseInfo:firstyear=2010&license=viewerlgpl$ +Second Life Viewer Source Code +Copyright (C) 2010-2011, Linden Research, Inc. + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; +version 2.1 of the License only. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA +$/LicenseInfo$ +""" import sys import os.path @@ -37,9 +59,6 @@ add_indra_lib_path() import getopt, os, re, commands from indra.util import llversion -svn = os.path.expandvars("${SVN}") -if not svn or svn == "${SVN}": svn = "svn" - def usage(): print "Usage:" print sys.argv[0] + """ [options] @@ -68,7 +87,7 @@ Options: Print this message and exit. Common Uses: - # Update server and viewer build numbers to the current SVN revision: + # Update server and viewer build numbers to the current hg revision: update_version_files.py # Update build numbers unless we are on a release branch: @@ -80,7 +99,7 @@ Common Uses: # Update just the viewer version number explicitly: update_version_files.py --viewer --version=1.18.1.6 - # Update just the server build number to the current SVN revision: + # Update just the server build number to the current hg revision: update_version_files.py --server # Update the viewer channel @@ -152,9 +171,7 @@ re_map['indra/newview/English.lproj/InfoPlist.strings'] = \ 'CFBundleGetInfoString = "Second Life version %(VER_MAJOR)s.%(VER_MINOR)s.%(VER_PATCH)s.%(VER_BUILD)s')) -version_re = re.compile('(\d+).(\d+).(\d+).(\d+)') -svn_branch_re = re.compile('^URL:\s+\S+/([^/\s]+)$', re.MULTILINE) -svn_revision_re = re.compile('^Last Changed Rev: (\d+)$', re.MULTILINE) +version_re = re.compile('(\d+).(\d+).(\d+).(\d+)') def main(): script_path = os.path.dirname(__file__) @@ -249,13 +266,7 @@ def main(): server_version = new_version else: - if llversion.using_svn(): - if new_revision: - revision = new_revision - else: - revision = llversion.get_svn_revision() - branch = llversion.get_svn_branch() - elif llversion.using_hg(): + if llversion.using_hg(): if new_revision: revision = new_revision else: @@ -327,5 +338,6 @@ def main(): print "File %(filename)s not present, skipping..." % locals() return 0 -main() +if __name__ == '__main__': + sys.exit(main()) |