From da94c0eaa2ce2711f0ae26968e87ef3e409126a9 Mon Sep 17 00:00:00 2001 From: Steven Bennetts <steve@lindenlab.com> Date: Fri, 12 Sep 2008 06:27:13 +0000 Subject: [PATCH] QAR-855 Viewer 1.21 RC 2 merge viewer_1-21 94770-96059 -> release --- indra/llcommon/linden_common.h | 6 + indra/llcommon/llapr.cpp | 22 ++ indra/llcommon/llapr.h | 14 ++ indra/llcommon/lldqueueptr.h | 8 +- indra/llcommon/llthread.cpp | 12 +- indra/llcommon/llversionviewer.h | 2 +- indra/llmessage/llpacketbuffer.cpp | 23 -- indra/llmessage/llpacketbuffer.h | 1 - indra/llmessage/llpacketring.cpp | 4 +- indra/llmessage/llpacketring.h | 2 +- indra/llmessage/llxfer.cpp | 4 +- indra/llmessage/llxfer.h | 2 +- indra/llmessage/llxfer_file.cpp | 6 +- indra/llmessage/llxfer_file.h | 2 +- indra/llmessage/llxfer_mem.cpp | 6 +- indra/llmessage/llxfer_mem.h | 2 +- indra/llmessage/llxfer_vfile.cpp | 6 +- indra/llmessage/llxfer_vfile.h | 2 +- indra/llmessage/llxfermanager.cpp | 4 +- indra/llmessage/llxfermanager.h | 2 +- indra/llrender/llgl.cpp | 22 +- indra/llrender/llrender.cpp | 6 + indra/llrender/llrender.h | 3 +- indra/llrender/llvertexbuffer.cpp | 2 + indra/llui/lltexteditor.cpp | 16 +- indra/llui/llui.cpp | 2 +- indra/llvfs/lldir.cpp | 3 +- indra/llvfs/lldir_win32.cpp | 10 +- indra/llwindow/llwindow.cpp | 5 + indra/llwindow/llwindow.h | 1 + indra/llwindow/llwindowwin32.cpp | 4 +- indra/lscript/lscript_compile/indra.l | 7 +- indra/lscript/lscript_compile/indra.y | 71 ++++++ indra/newview/app_settings/keywords.ini | 4 + indra/newview/app_settings/settings.xml | 68 ++---- indra/newview/gpu_table.txt | 6 + indra/newview/llappviewer.cpp | 13 +- indra/newview/llappviewerwin32.cpp | 35 ++- indra/newview/llfloaterfriends.cpp | 33 ++- indra/newview/llfloaterfriends.h | 3 +- indra/newview/llfloaterimagepreview.cpp | 3 +- indra/newview/llfloatertopobjects.cpp | 23 +- indra/newview/llglsandbox.cpp | 41 ---- indra/newview/llinventorymodel.cpp | 76 +++++-- indra/newview/llinventorymodel.h | 15 +- indra/newview/llpanellogin.cpp | 14 +- indra/newview/llsky.h | 1 - indra/newview/llspatialpartition.cpp | 7 +- indra/newview/lltexturecache.cpp | 12 + indra/newview/lltexturecache.h | 3 + indra/newview/lltoolpie.cpp | 2 +- indra/newview/llurl.cpp | 4 +- indra/newview/llurl.h | 2 +- indra/newview/llviewercontrol.cpp | 17 +- indra/newview/llviewerdisplay.cpp | 11 - indra/newview/llviewermedia.cpp | 6 +- indra/newview/llviewermenu.cpp | 213 ++---------------- indra/newview/llviewerstats.cpp | 1 - indra/newview/llviewerwindow.h | 5 +- indra/newview/llvoavatar.cpp | 13 +- indra/newview/llvoiceclient.cpp | 41 ++-- indra/newview/llvoiceclient.h | 4 +- indra/newview/llvovolume.cpp | 11 +- indra/newview/llxmlrpctransaction.cpp | 2 +- indra/newview/llxmlrpctransaction.h | 2 +- indra/newview/pipeline.cpp | 1 + indra/newview/pipeline.h | 3 +- .../skins/default/xui/de/floater_about.xml | 38 ++-- .../default/xui/de/floater_about_land.xml | 22 +- .../skins/default/xui/de/floater_im.xml | 2 +- .../default/xui/de/floater_live_lsleditor.xml | 1 + .../default/xui/de/floater_mem_leaking.xml | 18 ++ .../skins/default/xui/de/floater_postcard.xml | 18 +- .../default/xui/de/floater_report_abuse.xml | 113 ++++++++++ .../skins/default/xui/de/floater_snapshot.xml | 30 ++- .../skins/default/xui/de/floater_tools.xml | 25 ++ .../default/xui/de/floater_top_objects.xml | 21 +- .../skins/default/xui/de/floater_tos.xml | 1 + .../skins/default/xui/de/menu_viewer.xml | 14 +- .../skins/default/xui/de/mime_types.xml | 11 +- .../skins/default/xui/de/panel_login.xml | 5 +- .../default/xui/de/panel_preferences_chat.xml | 5 +- .../xui/de/panel_preferences_general.xml | 2 + .../default/xui/de/panel_region_debug.xml | 14 +- .../default/xui/de/panel_region_estate.xml | 6 + .../skins/default/xui/de/role_actions.xml | 15 +- .../newview/skins/default/xui/de/strings.xml | 24 ++ .../skins/default/xui/ja/floater_about.xml | 40 ++-- .../default/xui/ja/floater_about_land.xml | 4 + .../skins/default/xui/ja/floater_im.xml | 2 +- .../default/xui/ja/floater_live_lsleditor.xml | 1 + .../default/xui/ja/floater_mem_leaking.xml | 19 ++ .../skins/default/xui/ja/floater_postcard.xml | 23 +- .../default/xui/ja/floater_report_abuse.xml | 115 +++++++++- .../skins/default/xui/ja/floater_snapshot.xml | 30 ++- .../skins/default/xui/ja/floater_tools.xml | 25 ++ .../default/xui/ja/floater_top_objects.xml | 1 + .../skins/default/xui/ja/floater_tos.xml | 1 + .../skins/default/xui/ja/menu_viewer.xml | 6 +- .../skins/default/xui/ja/mime_types.xml | 7 +- .../skins/default/xui/ja/panel_login.xml | 5 +- .../default/xui/ja/panel_preferences_chat.xml | 6 +- .../xui/ja/panel_preferences_general.xml | 2 + .../default/xui/ja/panel_region_debug.xml | 15 +- .../default/xui/ja/panel_region_estate.xml | 6 + .../skins/default/xui/ja/role_actions.xml | 27 ++- .../newview/skins/default/xui/ja/strings.xml | 24 ++ .../win_crash_logger/llcrashloggerwindows.cpp | 2 + indra/win_crash_logger/llcrashloggerwindows.h | 1 - indra/win_crash_logger/win_crash_logger.cpp | 2 + 110 files changed, 1137 insertions(+), 589 deletions(-) create mode 100644 indra/newview/skins/default/xui/de/floater_mem_leaking.xml create mode 100644 indra/newview/skins/default/xui/ja/floater_mem_leaking.xml diff --git a/indra/llcommon/linden_common.h b/indra/llcommon/linden_common.h index 60ea21d6421..1581522a2ec 100644 --- a/indra/llcommon/linden_common.h +++ b/indra/llcommon/linden_common.h @@ -32,6 +32,12 @@ #ifndef LL_LINDEN_COMMON_H #define LL_LINDEN_COMMON_H +#if defined(LL_WINDOWS) && defined(_DEBUG) +# define _CRTDBG_MAP_ALLOC +# include <stdlib.h> +# include <crtdbg.h> +#endif + #include "llpreprocessor.h" #include <cstring> diff --git a/indra/llcommon/llapr.cpp b/indra/llcommon/llapr.cpp index e83473216a0..697f380f98d 100644 --- a/indra/llcommon/llapr.cpp +++ b/indra/llcommon/llapr.cpp @@ -72,6 +72,28 @@ void ll_cleanup_apr() apr_terminate(); } +// +//LLAPRPool +// +LLAPRPool::LLAPRPool(apr_pool_t *parent, apr_size_t size) +{ + mStatus = apr_pool_create(&mPool, parent); + + if(size > 0) //size is the number of blocks (which is usually 4K), NOT bytes. + { + apr_allocator_t *allocator = apr_pool_allocator_get(mPool); + if (allocator) + { + apr_allocator_max_free_set(allocator, size) ; + } + } +} + +LLAPRPool::~LLAPRPool() +{ + apr_pool_destroy(mPool) ; +} + // // LLScopedLock // diff --git a/indra/llcommon/llapr.h b/indra/llcommon/llapr.h index 403d5049326..7d6dd4590fb 100644 --- a/indra/llcommon/llapr.h +++ b/indra/llcommon/llapr.h @@ -60,6 +60,20 @@ void ll_init_apr(); */ void ll_cleanup_apr(); +class LLAPRPool +{ +public: + LLAPRPool(apr_pool_t *parent = NULL, apr_size_t size = 0) ; + ~LLAPRPool() ; + + apr_pool_t* getAPRPool() {return mPool ; } + apr_status_t getStatus() {return mStatus ; } + +private: + apr_pool_t* mPool ; + apr_status_t mStatus ; +} ; + /** * @class LLScopedLock * @brief Small class to help lock and unlock mutexes. diff --git a/indra/llcommon/lldqueueptr.h b/indra/llcommon/lldqueueptr.h index 06eee34cbca..0999e6754a1 100644 --- a/indra/llcommon/lldqueueptr.h +++ b/indra/llcommon/lldqueueptr.h @@ -47,7 +47,7 @@ class LLDynamicQueuePtr void init(); void destroy(); void reset(); - void realloc(U32 newsize); + void reallocate(U32 newsize); // ACCESSORS const Type& get(const S32 index) const; // no bounds checking @@ -115,7 +115,7 @@ template <class Type> inline LLDynamicQueuePtr<Type>::LLDynamicQueuePtr(const S32 size) { init(); - realloc(size); + reallocate(size); } template <class Type> @@ -134,7 +134,7 @@ inline void LLDynamicQueuePtr<Type>::init() } template <class Type> -inline void LLDynamicQueuePtr<Type>::realloc(U32 newsize) +inline void LLDynamicQueuePtr<Type>::reallocate(U32 newsize) { if (newsize) { @@ -308,7 +308,7 @@ inline S32 LLDynamicQueuePtr<Type>::push(const Type &obj) { if (mMaxObj - count() <= 1) { - realloc(mMaxObj * 2); + reallocate(mMaxObj * 2); } mMemory[mLastObj++] = obj; diff --git a/indra/llcommon/llthread.cpp b/indra/llcommon/llthread.cpp index cc58552099f..81cae60f3b1 100644 --- a/indra/llcommon/llthread.cpp +++ b/indra/llcommon/llthread.cpp @@ -266,12 +266,12 @@ void LLThread::wakeLocked() LLMutex::LLMutex(apr_pool_t *poolp) : mAPRMutexp(NULL) { - if (poolp) - { - mIsLocalPool = FALSE; - mAPRPoolp = poolp; - } - else + //if (poolp) + //{ + // mIsLocalPool = FALSE; + // mAPRPoolp = poolp; + //} + //else { mIsLocalPool = TRUE; apr_pool_create(&mAPRPoolp, NULL); // Create a subpool for this thread diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h index 0555b9ea3cf..ce8d1e5759e 100644 --- a/indra/llcommon/llversionviewer.h +++ b/indra/llcommon/llversionviewer.h @@ -34,7 +34,7 @@ const S32 LL_VERSION_MAJOR = 1; const S32 LL_VERSION_MINOR = 21; -const S32 LL_VERSION_PATCH = 0; +const S32 LL_VERSION_PATCH = 2; const S32 LL_VERSION_BUILD = 0; const char * const LL_CHANNEL = "Second Life Release"; diff --git a/indra/llmessage/llpacketbuffer.cpp b/indra/llmessage/llpacketbuffer.cpp index cb71fcd7732..f264e8f4950 100644 --- a/indra/llmessage/llpacketbuffer.cpp +++ b/indra/llmessage/llpacketbuffer.cpp @@ -65,7 +65,6 @@ LLPacketBuffer::LLPacketBuffer (S32 hSocket) LLPacketBuffer::~LLPacketBuffer () { - free(); } /////////////////////////////////////////////////////////// @@ -76,25 +75,3 @@ void LLPacketBuffer::init (S32 hSocket) mHost = ::get_sender(); } -/////////////////////////////////////////////////////////// - -void LLPacketBuffer::free () -{ -} - - - - - - - - - - - - - - - - - diff --git a/indra/llmessage/llpacketbuffer.h b/indra/llmessage/llpacketbuffer.h index 1e57517f292..9308202f1bc 100644 --- a/indra/llmessage/llpacketbuffer.h +++ b/indra/llmessage/llpacketbuffer.h @@ -47,7 +47,6 @@ class LLPacketBuffer const char *getData() const { return mData; } LLHost getHost() const { return mHost; } void init(S32 hSocket); - void free(); protected: char mData[NET_BUFFER_SIZE]; // packet data /* Flawfinder : ignore */ diff --git a/indra/llmessage/llpacketring.cpp b/indra/llmessage/llpacketring.cpp index 48a02fede5c..646d1865ea6 100644 --- a/indra/llmessage/llpacketring.cpp +++ b/indra/llmessage/llpacketring.cpp @@ -59,11 +59,11 @@ LLPacketRing::LLPacketRing () : /////////////////////////////////////////////////////////// LLPacketRing::~LLPacketRing () { - free(); + cleanup(); } /////////////////////////////////////////////////////////// -void LLPacketRing::free () +void LLPacketRing::cleanup () { LLPacketBuffer *packetp; diff --git a/indra/llmessage/llpacketring.h b/indra/llmessage/llpacketring.h index 0e1450ac1b5..20aea5950dc 100644 --- a/indra/llmessage/llpacketring.h +++ b/indra/llmessage/llpacketring.h @@ -47,7 +47,7 @@ class LLPacketRing LLPacketRing(); ~LLPacketRing(); - void free(); + void cleanup(); void dropPackets(U32); void setDropPercentage (F32 percent_to_drop); diff --git a/indra/llmessage/llxfer.cpp b/indra/llmessage/llxfer.cpp index 5682b1c4546..8091184fda0 100644 --- a/indra/llmessage/llxfer.cpp +++ b/indra/llmessage/llxfer.cpp @@ -55,7 +55,7 @@ LLXfer::LLXfer (S32 chunk_size) LLXfer::~LLXfer () { - free(); + cleanup(); } /////////////////////////////////////////////////////////// @@ -90,7 +90,7 @@ void LLXfer::init (S32 chunk_size) /////////////////////////////////////////////////////////// -void LLXfer::free () +void LLXfer::cleanup () { if (mBuffer) { diff --git a/indra/llmessage/llxfer.h b/indra/llmessage/llxfer.h index 57abc289605..9a8696e143d 100644 --- a/indra/llmessage/llxfer.h +++ b/indra/llmessage/llxfer.h @@ -88,7 +88,7 @@ class LLXfer virtual ~LLXfer(); void init(S32 chunk_size); - virtual void free(); + virtual void cleanup(); virtual S32 startSend (U64 xfer_id, const LLHost &remote_host); virtual void sendPacket(S32 packet_num); diff --git a/indra/llmessage/llxfer_file.cpp b/indra/llmessage/llxfer_file.cpp index 3643c4880d5..4926311adb2 100644 --- a/indra/llmessage/llxfer_file.cpp +++ b/indra/llmessage/llxfer_file.cpp @@ -67,7 +67,7 @@ LLXfer_File::LLXfer_File (const std::string& local_filename, BOOL delete_local_o LLXfer_File::~LLXfer_File () { - free(); + cleanup(); } /////////////////////////////////////////////////////////// @@ -95,7 +95,7 @@ void LLXfer_File::init (const std::string& local_filename, BOOL delete_local_on_ /////////////////////////////////////////////////////////// -void LLXfer_File::free () +void LLXfer_File::cleanup () { if (mFp) { @@ -115,7 +115,7 @@ void LLXfer_File::free () lldebugs << "Keeping local file: " << mLocalFilename << llendl; } - LLXfer::free(); + LLXfer::cleanup(); } /////////////////////////////////////////////////////////// diff --git a/indra/llmessage/llxfer_file.h b/indra/llmessage/llxfer_file.h index 04336c75fe2..8fdfd5e71f0 100644 --- a/indra/llmessage/llxfer_file.h +++ b/indra/llmessage/llxfer_file.h @@ -53,7 +53,7 @@ class LLXfer_File : public LLXfer virtual ~LLXfer_File(); virtual void init(const std::string& local_filename, BOOL delete_local_on_completion, S32 chunk_size); - virtual void free(); + virtual void cleanup(); virtual S32 initializeRequest(U64 xfer_id, const std::string& local_filename, diff --git a/indra/llmessage/llxfer_mem.cpp b/indra/llmessage/llxfer_mem.cpp index dbaa3aebed6..20b3db3e0be 100644 --- a/indra/llmessage/llxfer_mem.cpp +++ b/indra/llmessage/llxfer_mem.cpp @@ -48,7 +48,7 @@ LLXfer_Mem::LLXfer_Mem () LLXfer_Mem::~LLXfer_Mem () { - free(); + cleanup(); } /////////////////////////////////////////////////////////// @@ -62,9 +62,9 @@ void LLXfer_Mem::init () /////////////////////////////////////////////////////////// -void LLXfer_Mem::free () +void LLXfer_Mem::cleanup () { - LLXfer::free(); + LLXfer::cleanup(); } /////////////////////////////////////////////////////////// diff --git a/indra/llmessage/llxfer_mem.h b/indra/llmessage/llxfer_mem.h index a6b95c0fcf4..c2513485538 100644 --- a/indra/llmessage/llxfer_mem.h +++ b/indra/llmessage/llxfer_mem.h @@ -55,7 +55,7 @@ class LLXfer_Mem : public LLXfer virtual ~LLXfer_Mem(); virtual void init(); - virtual void free(); + virtual void cleanup(); virtual S32 startSend (U64 xfer_id, const LLHost &remote_host); virtual U64 registerXfer(U64 xfer_id, const void *datap, const S32 length); diff --git a/indra/llmessage/llxfer_vfile.cpp b/indra/llmessage/llxfer_vfile.cpp index 6dd683043b6..aff16362902 100644 --- a/indra/llmessage/llxfer_vfile.cpp +++ b/indra/llmessage/llxfer_vfile.cpp @@ -60,7 +60,7 @@ LLXfer_VFile::LLXfer_VFile (LLVFS *vfs, const LLUUID &local_id, LLAssetType::ETy LLXfer_VFile::~LLXfer_VFile () { - free(); + cleanup(); } /////////////////////////////////////////////////////////// @@ -82,7 +82,7 @@ void LLXfer_VFile::init (LLVFS *vfs, const LLUUID &local_id, LLAssetType::EType /////////////////////////////////////////////////////////// -void LLXfer_VFile::free () +void LLXfer_VFile::cleanup () { LLVFile file(mVFS, mTempID, mType, LLVFile::WRITE); file.remove(); @@ -90,7 +90,7 @@ void LLXfer_VFile::free () delete mVFile; mVFile = NULL; - LLXfer::free(); + LLXfer::cleanup(); } /////////////////////////////////////////////////////////// diff --git a/indra/llmessage/llxfer_vfile.h b/indra/llmessage/llxfer_vfile.h index 84457edf264..c883d278541 100644 --- a/indra/llmessage/llxfer_vfile.h +++ b/indra/llmessage/llxfer_vfile.h @@ -58,7 +58,7 @@ class LLXfer_VFile : public LLXfer virtual ~LLXfer_VFile(); virtual void init(LLVFS *vfs, const LLUUID &local_id, LLAssetType::EType type); - virtual void free(); + virtual void cleanup(); virtual S32 initializeRequest(U64 xfer_id, LLVFS *vfs, diff --git a/indra/llmessage/llxfermanager.cpp b/indra/llmessage/llxfermanager.cpp index 7f054046365..2afb9845c08 100644 --- a/indra/llmessage/llxfermanager.cpp +++ b/indra/llmessage/llxfermanager.cpp @@ -64,7 +64,7 @@ LLXferManager::LLXferManager (LLVFS *vfs) LLXferManager::~LLXferManager () { - free(); + cleanup(); } /////////////////////////////////////////////////////////// @@ -86,7 +86,7 @@ void LLXferManager::init (LLVFS *vfs) /////////////////////////////////////////////////////////// -void LLXferManager::free () +void LLXferManager::cleanup () { LLXfer *xferp; LLXfer *delp; diff --git a/indra/llmessage/llxfermanager.h b/indra/llmessage/llxfermanager.h index dff8181584b..1a3e37102f2 100644 --- a/indra/llmessage/llxfermanager.h +++ b/indra/llmessage/llxfermanager.h @@ -114,7 +114,7 @@ class LLXferManager virtual ~LLXferManager(); virtual void init(LLVFS *vfs); - virtual void free(); + virtual void cleanup(); void setUseAckThrottling(const BOOL use); void setAckThrottleBPS(const F32 bps); diff --git a/indra/llrender/llgl.cpp b/indra/llrender/llgl.cpp index 42beddc5c7a..570a0cbed1b 100644 --- a/indra/llrender/llgl.cpp +++ b/indra/llrender/llgl.cpp @@ -60,6 +60,8 @@ BOOL gClothRipple = FALSE; BOOL gNoRender = FALSE; LLMatrix4 gGLObliqueProjectionInverse; +#define LL_GL_NAME_POOLING 0 + LLGLNamePool::pool_list_t LLGLNamePool::sInstances; #if (LL_WINDOWS || LL_LINUX) && !LL_MESA_HEADLESS @@ -1627,6 +1629,7 @@ void LLGLNamePool::cleanup() GLuint LLGLNamePool::allocate() { +#if LL_GL_NAME_POOLING for (name_list_t::iterator iter = mNameList.begin(); iter != mNameList.end(); ++iter) { if (!iter->used) @@ -1642,18 +1645,33 @@ GLuint LLGLNamePool::allocate() mNameList.push_back(entry); return entry.name; +#else + return allocateName(); +#endif } void LLGLNamePool::release(GLuint name) { +#if LL_GL_NAME_POOLING for (name_list_t::iterator iter = mNameList.begin(); iter != mNameList.end(); ++iter) { if (iter->name == name) { - iter->used = FALSE; - return; + if (iter->used) + { + iter->used = FALSE; + return; + } + else + { + llerrs << "Attempted to release a pooled name that is not in use!" << llendl; + } } } + llerrs << "Attempted to release a non pooled name!" << llendl; +#else + releaseName(name); +#endif } //static diff --git a/indra/llrender/llrender.cpp b/indra/llrender/llrender.cpp index 4a87424bb8e..9b116d6410d 100644 --- a/indra/llrender/llrender.cpp +++ b/indra/llrender/llrender.cpp @@ -438,11 +438,17 @@ LLRender::LLRender() } LLRender::~LLRender() +{ + shutdown(); +} + +void LLRender::shutdown() { for (U32 i = 0; i < mTexUnits.size(); i++) { delete mTexUnits[i]; } + mTexUnits.clear(); } void LLRender::translatef(const GLfloat& x, const GLfloat& y, const GLfloat& z) diff --git a/indra/llrender/llrender.h b/indra/llrender/llrender.h index 7896f6c922c..5133f2804eb 100644 --- a/indra/llrender/llrender.h +++ b/indra/llrender/llrender.h @@ -176,7 +176,8 @@ class LLRender LLRender(); ~LLRender(); - + void shutdown(); + void translatef(const GLfloat& x, const GLfloat& y, const GLfloat& z); void scalef(const GLfloat& x, const GLfloat& y, const GLfloat& z); void pushMatrix(); diff --git a/indra/llrender/llvertexbuffer.cpp b/indra/llrender/llvertexbuffer.cpp index 3f2eb61641f..2414d2adff4 100644 --- a/indra/llrender/llvertexbuffer.cpp +++ b/indra/llrender/llvertexbuffer.cpp @@ -195,6 +195,7 @@ void LLVertexBuffer::drawRange(U32 mode, U32 start, U32 end, U32 count, U32 indi glDrawRangeElements(sGLMode[mode], start, end, count, GL_UNSIGNED_SHORT, ((U16*) getIndicesPointer()) + indices_offset); + stop_glerror(); } void LLVertexBuffer::draw(U32 mode, U32 count, U32 indices_offset) const @@ -246,6 +247,7 @@ void LLVertexBuffer::drawArrays(U32 mode, U32 first, U32 count) const } glDrawArrays(sGLMode[mode], first, count); + stop_glerror(); } //static diff --git a/indra/llui/lltexteditor.cpp b/indra/llui/lltexteditor.cpp index bf5cfd99341..0440d4c68b2 100644 --- a/indra/llui/lltexteditor.cpp +++ b/indra/llui/lltexteditor.cpp @@ -4252,26 +4252,29 @@ void LLTextEditor::setTextEditorParameters(LLXMLNodePtr node) } /////////////////////////////////////////////////////////////////// +// Refactoring note: We may eventually want to replace this with boost::regex or +// boost::tokenizer capabilities since we've already fixed at least two JIRAs +// concerning logic issues associated with this function. S32 LLTextEditor::findHTMLToken(const std::string &line, S32 pos, BOOL reverse) const { std::string openers=" \t\n('\"[{<>"; std::string closers=" \t\n)'\"]}><;"; - S32 m2; - S32 retval; + S32 m2 = 0; + S32 retval = 0; if (reverse) { - for (retval=pos; retval>0; retval--) + for (retval=pos; retval >= 0; retval--) { m2 = openers.find(line.substr(retval,1)); if (m2 >= 0) { - retval++; break; } } + return retval+1; } else { @@ -4284,9 +4287,8 @@ S32 LLTextEditor::findHTMLToken(const std::string &line, S32 pos, BOOL reverse) break; } } - } - - return retval; + return retval; + } } BOOL LLTextEditor::findHTML(const std::string &line, S32 *begin, S32 *end) const diff --git a/indra/llui/llui.cpp b/indra/llui/llui.cpp index f34c48b7297..43898f57efe 100644 --- a/indra/llui/llui.cpp +++ b/indra/llui/llui.cpp @@ -134,7 +134,7 @@ void gl_state_for_2d(S32 width, S32 height) glMatrixMode(GL_PROJECTION); glLoadIdentity(); - glOrtho(0.0f, window_width, 0.0f, window_height, -1.0f, 1.0f); + glOrtho(0.0f, llmax(window_width, 1.f), 0.0f, llmax(window_height,1.f), -1.0f, 1.0f); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); stop_glerror(); diff --git a/indra/llvfs/lldir.cpp b/indra/llvfs/lldir.cpp index 325a2a39b6c..ff7bfde521c 100644 --- a/indra/llvfs/lldir.cpp +++ b/indra/llvfs/lldir.cpp @@ -377,7 +377,8 @@ std::string LLDir::getExpandedFilename(ELLPath location, const std::string& subd case LL_PATH_EXECUTABLE: prefix = getExecutableDir(); - + break; + default: llassert(0); } diff --git a/indra/llvfs/lldir_win32.cpp b/indra/llvfs/lldir_win32.cpp index d21babec244..6e124002bc0 100644 --- a/indra/llvfs/lldir_win32.cpp +++ b/indra/llvfs/lldir_win32.cpp @@ -117,15 +117,13 @@ LLDir_Win32::LLDir_Win32() mExecutableDir = utf16str_to_utf8str(llutf16string(w_str)); #endif - mAppRODataDir = getCurPath(); - // *FIX:Mani - The following is the old way we did things. I'm keeping this around - // in case there is some really good reason to make mAppRODataDir == mExecutableDir - /* - if (strstr(mExecutableDir.c_str(), "indra\\newview")) + // When running in a dev tree, app_settings is under indra/newview/ + // but in production it is under Program Files/SecondLife/ + // Attempt to detect which one we're using. JC + if (mExecutableDir.find("indra") != std::string::npos) mAppRODataDir = getCurPath(); else mAppRODataDir = mExecutableDir; - */ } LLDir_Win32::~LLDir_Win32() diff --git a/indra/llwindow/llwindow.cpp b/indra/llwindow/llwindow.cpp index 6b1cabc505c..4f467be02d9 100644 --- a/indra/llwindow/llwindow.cpp +++ b/indra/llwindow/llwindow.cpp @@ -203,6 +203,11 @@ BOOL LLWindowCallbacks::handleDeviceChange(LLWindow *window) return FALSE; } +void LLWindowCallbacks::handlePingWatchdog(LLWindow *window, const char * msg) +{ + +} + S32 OSMessageBox(const std::string& text, const std::string& caption, U32 type) { // Properly hide the splash screen when displaying the message box diff --git a/indra/llwindow/llwindow.h b/indra/llwindow/llwindow.h index ec09234c835..9b1f0059207 100644 --- a/indra/llwindow/llwindow.h +++ b/indra/llwindow/llwindow.h @@ -119,6 +119,7 @@ class LLWindowCallbacks virtual void handleDataCopy(LLWindow *window, S32 data_type, void *data); virtual BOOL handleTimerEvent(LLWindow *window); virtual BOOL handleDeviceChange(LLWindow *window); + virtual void handlePingWatchdog(LLWindow *window, const char * msg); }; // Refer to llwindow_test in test/common/llwindow for usage example diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp index 1aaf18e3b6d..0f2ef525b2a 100644 --- a/indra/llwindow/llwindowwin32.cpp +++ b/indra/llwindow/llwindowwin32.cpp @@ -1575,7 +1575,9 @@ void LLWindowWin32::gatherInput() while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE) && msg_count < MAX_MESSAGE_PER_UPDATE) { + mCallbacks->handlePingWatchdog(this, "Main:TranslateGatherInput"); TranslateMessage(&msg); + mCallbacks->handlePingWatchdog(this, "Main:DispatchGatherInput"); DispatchMessage(&msg); msg_count++; @@ -1602,7 +1604,7 @@ void LLWindowWin32::gatherInput() } } */ - + mCallbacks->handlePingWatchdog(this, "Main:AsyncCallbackGatherInput"); // For async host by name support. Really hacky. if (gAsyncMsgCallback && (LL_WM_HOST_RESOLVED == msg.message)) { diff --git a/indra/lscript/lscript_compile/indra.l b/indra/lscript/lscript_compile/indra.l index 49ed6fc5eef..3e62195dc8c 100644 --- a/indra/lscript/lscript_compile/indra.l +++ b/indra/lscript/lscript_compile/indra.l @@ -611,6 +611,11 @@ extern "C" { int yyerror(const char *fmt, ...); } "TEXTURE_PLYWOOD" { yylval.sval = new char[UUID_STR_LENGTH]; strcpy(yylval.sval, "89556747-24cb-43ed-920b-47caed15465f"); return(STRING_CONSTANT); } "TEXTURE_TRANSPARENT" { yylval.sval = new char[UUID_STR_LENGTH]; strcpy(yylval.sval, "8dcd4a48-2d37-4909-9f78-f7a9eb4ef903"); return(STRING_CONSTANT); } +"TOUCH_INVALID_FACE" { count(); yylval.ival = -1; return(INTEGER_CONSTANT); } +"TOUCH_INVALID_VECTOR" { count(); return(TOUCH_INVALID_VECTOR); } +"TOUCH_INVALID_TEXCOORD" { count(); return(TOUCH_INVALID_TEXCOORD); } + + {L}({L}|{N})* { count(); yylval.sval = new char[strlen(yytext) + 1]; strcpy(yylval.sval, yytext); return(IDENTIFIER); } {N}+{E} { count(); yylval.fval = (F32)atof(yytext); return(FP_CONSTANT); } @@ -752,8 +757,8 @@ BOOL lscript_compile(const char* src_filename, const char* dst_filename, #ifdef EMERGENCY_DEBUG_PRINTOUTS fclose(compfile); #endif - fclose(yyout); } + fclose(yyout); fclose(yyin); } diff --git a/indra/lscript/lscript_compile/indra.y b/indra/lscript/lscript_compile/indra.y index d10cbfedba2..fdc240c7720 100644 --- a/indra/lscript/lscript_compile/indra.y +++ b/indra/lscript/lscript_compile/indra.y @@ -136,6 +136,9 @@ %token ZERO_VECTOR %token ZERO_ROTATION +%token TOUCH_INVALID_VECTOR +%token TOUCH_INVALID_TEXCOORD + %nonassoc LOWER_THAN_ELSE %nonassoc ELSE @@ -439,6 +442,40 @@ vector_constant $$ = new LLScriptSAVector(gLine, gColumn, sa0, sa1, sa2); gAllocationManager->addAllocation($$); } + | TOUCH_INVALID_VECTOR + { + LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f); + gAllocationManager->addAllocation(cf0); + LLScriptSAConstant *sa0 = new LLScriptSAConstant(gLine, gColumn, cf0); + gAllocationManager->addAllocation(sa0); + LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f); + gAllocationManager->addAllocation(cf1); + LLScriptSAConstant *sa1 = new LLScriptSAConstant(gLine, gColumn, cf1); + gAllocationManager->addAllocation(sa1); + LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); + gAllocationManager->addAllocation(cf2); + LLScriptSAConstant *sa2 = new LLScriptSAConstant(gLine, gColumn, cf2); + gAllocationManager->addAllocation(sa2); + $$ = new LLScriptSAVector(gLine, gColumn, sa0, sa1, sa2); + gAllocationManager->addAllocation($$); + } + | TOUCH_INVALID_TEXCOORD + { + LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, -1.f); + gAllocationManager->addAllocation(cf0); + LLScriptSAConstant *sa0 = new LLScriptSAConstant(gLine, gColumn, cf0); + gAllocationManager->addAllocation(sa0); + LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, -1.f); + gAllocationManager->addAllocation(cf1); + LLScriptSAConstant *sa1 = new LLScriptSAConstant(gLine, gColumn, cf1); + gAllocationManager->addAllocation(sa1); + LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); + gAllocationManager->addAllocation(cf2); + LLScriptSAConstant *sa2 = new LLScriptSAConstant(gLine, gColumn, cf2); + gAllocationManager->addAllocation(sa2); + $$ = new LLScriptSAVector(gLine, gColumn, sa0, sa1, sa2); + gAllocationManager->addAllocation($$); + } ; quaternion_constant @@ -1645,6 +1682,40 @@ vector_initializer $$ = new LLScriptVectorInitializer(gLine, gColumn, sa0, sa1, sa2); gAllocationManager->addAllocation($$); } + | TOUCH_INVALID_VECTOR + { + LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, 0.f); + gAllocationManager->addAllocation(cf0); + LLScriptConstantExpression *sa0 = new LLScriptConstantExpression(gLine, gColumn, cf0); + gAllocationManager->addAllocation(sa0); + LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, 0.f); + gAllocationManager->addAllocation(cf1); + LLScriptConstantExpression *sa1 = new LLScriptConstantExpression(gLine, gColumn, cf1); + gAllocationManager->addAllocation(sa1); + LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); + gAllocationManager->addAllocation(cf2); + LLScriptConstantExpression *sa2 = new LLScriptConstantExpression(gLine, gColumn, cf2); + gAllocationManager->addAllocation(sa2); + $$ = new LLScriptVectorInitializer(gLine, gColumn, sa0, sa1, sa2); + gAllocationManager->addAllocation($$); + } + | TOUCH_INVALID_TEXCOORD + { + LLScriptConstantFloat *cf0 = new LLScriptConstantFloat(gLine, gColumn, -1.f); + gAllocationManager->addAllocation(cf0); + LLScriptConstantExpression *sa0 = new LLScriptConstantExpression(gLine, gColumn, cf0); + gAllocationManager->addAllocation(sa0); + LLScriptConstantFloat *cf1 = new LLScriptConstantFloat(gLine, gColumn, -1.f); + gAllocationManager->addAllocation(cf1); + LLScriptConstantExpression *sa1 = new LLScriptConstantExpression(gLine, gColumn, cf1); + gAllocationManager->addAllocation(sa1); + LLScriptConstantFloat *cf2 = new LLScriptConstantFloat(gLine, gColumn, 0.f); + gAllocationManager->addAllocation(cf2); + LLScriptConstantExpression *sa2 = new LLScriptConstantExpression(gLine, gColumn, cf2); + gAllocationManager->addAllocation(sa2); + $$ = new LLScriptVectorInitializer(gLine, gColumn, sa0, sa1, sa2); + gAllocationManager->addAllocation($$); + } ; quaternion_initializer diff --git a/indra/newview/app_settings/keywords.ini b/indra/newview/app_settings/keywords.ini index 23c88dc4491..3679c3882c2 100644 --- a/indra/newview/app_settings/keywords.ini +++ b/indra/newview/app_settings/keywords.ini @@ -506,6 +506,10 @@ CLICK_ACTION_OPEN Used with llSetClickAction to set open as the default ac CLICK_ACTION_PLAY Used with llSetClickAction to set play as the default action when object is clicked CLICK_ACTION_OPEN_MEDIA Used with llSetClickAction to set open-media as the default action when object is clicked +TOUCH_INVALID_TEXCOORD Value returned by llDetectedTouchUV() and llDetectedTouchST() when the touch position is not valid. +TOUCH_INVALID_VECTOR Value returned by llDetectedTouchPos(), llDetectedTouchNormal(), and llDetectedTouchBinormal() when the touch position is not valid. +TOUCH_INVALID_FACE Value returned by llDetectedTouchFace() when the touch position is not valid. + # string constants [word .1, .3, .5] NULL_KEY Indicates an empty key diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 8526c5afcda..1f34bae9b54 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -2360,17 +2360,6 @@ <real>1.0</real> </array> </map> - <key>EnablePushToTalk</key> - <map> - <key>Comment</key> - <string>Must hold down a key or moouse button when talking into your microphone</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>1</integer> - </map> <key>EnableRippleWater</key> <map> <key>Comment</key> @@ -5165,7 +5154,7 @@ <key>PTTCurrentlyEnabled</key> <map> <key>Comment</key> - <string /> + <string>Use Push to Talk mode</string> <key>Persist</key> <integer>0</integer> <key>Type</key> @@ -5206,28 +5195,6 @@ <key>Value</key> <string /> </map> - <key>PerFrameHoverPick</key> - <map> - <key>Comment</key> - <string>Detect the object under the mouse continually</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <real>1</real> - </map> - <key>PerFrameHoverPickCount</key> - <map> - <key>Comment</key> - <string>Detect the object under the mouse every n frames</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>S32</string> - <key>Value</key> - <integer>1</integer> - </map> <key>PermissionsCautionEnabled</key> <map> <key>Comment</key> @@ -5277,6 +5244,28 @@ <key>Value</key> <real>0.34999999404</real> </map> + <key>PicksPerSecondMouseMoving</key> + <map> + <key>Comment</key> + <string>How often to perform hover picks while the mouse is moving (picks per second)</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>F32</string> + <key>Value</key> + <real>5.0</real> + </map> + <key>PicksPerSecondMouseStationary</key> + <map> + <key>Comment</key> + <string>How often to perform hover picks while the mouse is stationary (picks per second)</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>F32</string> + <key>Value</key> + <real>0.0</real> + </map> <key>PieMenuLineWidth</key> <map> <key>Comment</key> @@ -6885,17 +6874,6 @@ <key>Value</key> <integer>0</integer> </map> - <key>ShowDepthBuffer</key> - <map> - <key>Comment</key> - <string>Show depth buffer contents</string> - <key>Persist</key> - <integer>1</integer> - <key>Type</key> - <string>Boolean</string> - <key>Value</key> - <integer>0</integer> - </map> <key>ShowDirectory</key> <map> <key>Comment</key> diff --git a/indra/newview/gpu_table.txt b/indra/newview/gpu_table.txt index 7e7be974826..77b75e178f2 100644 --- a/indra/newview/gpu_table.txt +++ b/indra/newview/gpu_table.txt @@ -67,6 +67,12 @@ ATI Mobility Radeon 8xxx .*ATI.*Mobility.*Radeon 8.* 0 1 ATI Mobility Radeon 9800 .*ATI.*Mobility.*98.* 1 1 ATI Mobility Radeon 9700 .*ATI.*Mobility.*97.* 1 1 ATI Mobility Radeon 9600 .*ATI.*Mobility.*96.* 0 1 +ATI Mobility Radeon HD 2300 .*ATI.*Mobility.*HD.*23.* 1 1 +ATI Mobility Radeon HD 2400 .*ATI.*Mobility.*HD.*24.* 1 1 +ATI Mobility Radeon HD 2600 .*ATI.*Mobility.*HD.*26.* 3 1 +ATI Mobility Radeon HD 3400 .*ATI.*Mobility.*HD.*34.* 1 1 +ATI Mobility Radeon HD 3600 .*ATI.*Mobility.*HD.*36.* 3 1 +ATI Mobility Radeon HD 3800 .*ATI.*Mobility.*HD.*38.* 3 1 ATI Mobility Radeon X1xxx .*ATI.*Mobility.*X1.* 0 1 ATI Mobility Radeon X2xxx .*ATI.*Mobility.*X2.* 0 1 ATI Mobility Radeon X3xx .*ATI.*Mobility.*X3.* 1 1 diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 4c8ea54d8d9..8ee21b61158 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -58,6 +58,7 @@ #include "llfloatersnapshot.h" #include "llviewerwindow.h" #include "llviewerdisplay.h" +#include "llviewermedia.h" #include "llviewermessage.h" #include "llviewerobjectlist.h" #include "llworldmap.h" @@ -82,8 +83,6 @@ # include <sys/file.h> // For initMarkerFile support #endif - - #include "llnotify.h" #include "llviewerkeyboard.h" #include "lllfsthread.h" @@ -466,9 +465,6 @@ static void settings_modify() gSavedSettings.setU32("VectorizeProcessor", 0 ); gSavedSettings.setBOOL("VectorizeSkin", FALSE); #endif - - // propagate push to talk preference to current status - gSavedSettings.setBOOL("PTTCurrentlyEnabled", TRUE); //gSavedSettings.getBOOL("EnablePushToTalk")); } void LLAppViewer::initGridChoice() @@ -581,7 +577,7 @@ bool LLAppViewer::init() // into the log files during normal startup until AFTER // we run the "program crashed last time" error handler below. // - + // Need to do this initialization before we do anything else, since anything // that touches files should really go through the lldir API gDirUtilp->initAppDirs("SecondLife"); @@ -1364,6 +1360,7 @@ bool LLAppViewer::cleanup() sImageDecodeThread = NULL; gImageList.shutdown(); // shutdown again in case a callback added something + LLUIImageList::getInstance()->cleanUp(); // This should eventually be done in LLAppViewer LLImage::cleanupClass(); @@ -1405,9 +1402,11 @@ bool LLAppViewer::cleanup() LLWeb::loadURLExternal( gLaunchFileOnQuit ); } - + + LLViewerMedia::cleanupClass(); llinfos << "Goodbye" << llendflush; + // return 0; return true; } diff --git a/indra/newview/llappviewerwin32.cpp b/indra/newview/llappviewerwin32.cpp index 1d8f6a218cf..a25b86467d2 100644 --- a/indra/newview/llappviewerwin32.cpp +++ b/indra/newview/llappviewerwin32.cpp @@ -31,6 +31,10 @@ #include "llviewerprecompiledheaders.h" +#if defined(_DEBUG) +# define WINDOWS_CRT_MEM_CHECKS 1 +#endif + #include "llappviewerwin32.h" #include "llmemtype.h" @@ -127,6 +131,10 @@ int APIENTRY WINMAIN(HINSTANCE hInstance, { LLMemType mt1(LLMemType::MTYPE_STARTUP); +#if WINDOWS_CRT_MEM_CHECKS && !INCLUDE_VLD + _CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); // dump memory leaks on exit +#endif + // *FIX: global gIconResource = MAKEINTRESOURCE(IDI_LL_ICON); @@ -156,7 +164,32 @@ int APIENTRY WINMAIN(HINSTANCE hInstance, // the assumption is that the error handler is responsible for doing // app cleanup if there was a problem. // - viewer_app_ptr->cleanup(); +#if WINDOWS_CRT_MEM_CHECKS + llinfos << "CRT Checking memory:" << llendflush; + if (!_CrtCheckMemory()) + { + llwarns << "_CrtCheckMemory() failed at prior to cleanup!" << llendflush; + } + else + { + llinfos << " No corruption detected." << llendflush; + } +#endif + + viewer_app_ptr->cleanup(); + +#if WINDOWS_CRT_MEM_CHECKS + llinfos << "CRT Checking memory:" << llendflush; + if (!_CrtCheckMemory()) + { + llwarns << "_CrtCheckMemory() failed after cleanup!" << llendflush; + } + else + { + llinfos << " No corruption detected." << llendflush; + } +#endif + } delete viewer_app_ptr; viewer_app_ptr = NULL; diff --git a/indra/newview/llfloaterfriends.cpp b/indra/newview/llfloaterfriends.cpp index c5823ce0de9..2d7d2ee15d6 100644 --- a/indra/newview/llfloaterfriends.cpp +++ b/indra/newview/llfloaterfriends.cpp @@ -41,6 +41,7 @@ #include "lldir.h" #include "llagent.h" +#include "llappviewer.h" // for gLastVersionChannel #include "llfloateravatarpicker.h" #include "llviewerwindow.h" #include "llbutton.h" @@ -591,7 +592,7 @@ struct LLAddFriendData }; // static -void LLPanelFriends::callbackAddFriend(S32 option, const std::string& text, void* data) +void LLPanelFriends::callbackAddFriendWithMessage(S32 option, const std::string& text, void* data) { LLAddFriendData* add = (LLAddFriendData*)data; if (option == 0) @@ -601,6 +602,22 @@ void LLPanelFriends::callbackAddFriend(S32 option, const std::string& text, void delete add; } +// static +void LLPanelFriends::callbackAddFriend(S32 option, void* data) +{ + LLAddFriendData* add = (LLAddFriendData*)data; + if (option == 0) + { + // Servers older than 1.25 require the text of the message to be the + // calling card folder ID for the offering user. JC + LLUUID calling_card_folder_id = + gInventory.findCategoryUUIDForType(LLAssetType::AT_CALLINGCARD); + std::string message = calling_card_folder_id.asString(); + requestFriendship(add->mID, add->mName, message); + } + delete add; +} + // static void LLPanelFriends::onPickAvatar(const std::vector<std::string>& names, const std::vector<LLUUID>& ids, @@ -625,10 +642,20 @@ void LLPanelFriends::requestFriendshipDialog(const LLUUID& id, data->mID = id; data->mName = name; - // TODO: accept a line of text with this dialog LLStringUtil::format_map_t args; args["[NAME]"] = name; - gViewerWindow->alertXmlEditText("AddFriend", args, NULL, NULL, callbackAddFriend, data); + + // Look for server versions like: Second Life Server 1.24.4.95600 + if (gLastVersionChannel.find(" 1.24.") != std::string::npos) + { + // Old and busted server version, doesn't support friend + // requests with messages. + gViewerWindow->alertXml("AddFriend", args, callbackAddFriend, data); + } + else + { + gViewerWindow->alertXmlEditText("AddFriendWithMessage", args, NULL, NULL, callbackAddFriendWithMessage, data); + } } // static diff --git a/indra/newview/llfloaterfriends.h b/indra/newview/llfloaterfriends.h index c8cdce49a73..e3f3f96d00c 100644 --- a/indra/newview/llfloaterfriends.h +++ b/indra/newview/llfloaterfriends.h @@ -119,7 +119,8 @@ class LLPanelFriends : public LLPanel, public LLEventTimer // callback methods static void onSelectName(LLUICtrl* ctrl, void* user_data); - static void callbackAddFriend(S32 option, const std::string& text, void* user_data); + static void callbackAddFriendWithMessage(S32 option, const std::string& text, void* user_data); + static void callbackAddFriend(S32 option, void* user_data); static void onPickAvatar(const std::vector<std::string>& names, const std::vector<LLUUID>& ids, void* user_data); static void onMaximumSelect(void* user_data); diff --git a/indra/newview/llfloaterimagepreview.cpp b/indra/newview/llfloaterimagepreview.cpp index 32dcf3ae0a5..3d29bb32866 100644 --- a/indra/newview/llfloaterimagepreview.cpp +++ b/indra/newview/llfloaterimagepreview.cpp @@ -114,8 +114,7 @@ BOOL LLFloaterImagePreview::postBuild() mSculptedPreview = new LLImagePreviewSculpted(256, 256); mSculptedPreview->setPreviewTarget(mRawImagep, 2.0f); - if ((mRawImagep->getWidth() <= LL_IMAGE_REZ_LOSSLESS_CUTOFF) && - (mRawImagep->getHeight() <= LL_IMAGE_REZ_LOSSLESS_CUTOFF)) + if (mRawImagep->getWidth() * mRawImagep->getHeight () <= LL_IMAGE_REZ_LOSSLESS_CUTOFF * LL_IMAGE_REZ_LOSSLESS_CUTOFF) childEnable("lossless_check"); } else diff --git a/indra/newview/llfloatertopobjects.cpp b/indra/newview/llfloatertopobjects.cpp index 670541abe4b..02ea02a2915 100644 --- a/indra/newview/llfloatertopobjects.cpp +++ b/indra/newview/llfloatertopobjects.cpp @@ -157,8 +157,7 @@ void LLFloaterTopObjects::handleReply(LLMessageSystem *msg, void** data) msg->getU32Fast(_PREHASH_RequestData, _PREHASH_TotalObjectCount, total_count); msg->getU32Fast(_PREHASH_RequestData, _PREHASH_ReportType, mCurrentMode); - LLCtrlListInterface *list = childGetListInterface("objects_list"); - if (!list) return; + LLScrollListCtrl *list = getChild<LLScrollListCtrl>("objects_list"); S32 block_count = msg->getNumberOfBlocks("ReportData"); for (S32 block = 0; block < block_count; ++block) @@ -206,16 +205,16 @@ void LLFloaterTopObjects::handleReply(LLMessageSystem *msg, void** data) element["columns"][3]["column"] = "location"; element["columns"][3]["value"] = llformat("<%0.1f,%0.1f,%0.1f>", location_x, location_y, location_z); element["columns"][3]["font"] = "SANSSERIF"; - element["columns"][3]["column"] = "time"; - element["columns"][3]["value"] = formatted_time((time_t)time_stamp); - element["columns"][3]["font"] = "SANSSERIF"; + element["columns"][4]["column"] = "time"; + element["columns"][4]["value"] = formatted_time((time_t)time_stamp); + element["columns"][4]["font"] = "SANSSERIF"; if (mCurrentMode == STAT_REPORT_TOP_SCRIPTS && have_extended_data) { - element["columns"][4]["column"] = "Mono Time"; - element["columns"][4]["value"] = llformat("%0.3f", mono_score); - element["columns"][4]["font"] = "SANSSERIF"; + element["columns"][5]["column"] = "Mono Time"; + element["columns"][5]["value"] = llformat("%0.3f", mono_score); + element["columns"][5]["font"] = "SANSSERIF"; } list->addElement(element); @@ -228,13 +227,7 @@ void LLFloaterTopObjects::handleReply(LLMessageSystem *msg, void** data) if (total_count == 0 && list->getItemCount() == 0) { - LLSD element; - element["id"] = LLUUID::null; - element["columns"][0]["column"] = "name"; - element["columns"][0]["value"] = getString("none_descriptor"); - element["columns"][0]["font"] = "SANSSERIF"; - - list->addElement(element); + list->addCommentText(getString("none_descriptor")); } else { diff --git a/indra/newview/llglsandbox.cpp b/indra/newview/llglsandbox.cpp index 6b89d52b689..a021a66af2e 100644 --- a/indra/newview/llglsandbox.cpp +++ b/indra/newview/llglsandbox.cpp @@ -1111,44 +1111,3 @@ void LLViewerObjectList::renderObjectBeacons() } -void pre_show_depth_buffer() -{ - glClear(GL_STENCIL_BUFFER_BIT); - glEnable(GL_STENCIL_TEST); - glStencilFunc(GL_ALWAYS,0,0); - glStencilOp(GL_INCR,GL_INCR,GL_INCR); -} - -void post_show_depth_buffer() -{ - int xsize =500, ysize =500; - U8 *buf = new U8[xsize*ysize]; - - glReadPixels(0,0,xsize,ysize,GL_STENCIL_INDEX,GL_UNSIGNED_BYTE, buf); - - int total = 0; - int i; - for (i=0;i<xsize*ysize;i++) - { - total += buf[i]; - buf[i] <<= 3; - } - - float DC = (float)total/(float)(ysize*xsize); - int DCline = llfloor((xsize-20) * DC / 10.0f); - int stride = xsize / 10; - - int y = 2; - - for (i=0;i<DCline;i++) - { - if (i % stride == 0) i+=2; - if (i > xsize) y=6; - buf[ysize*(y+0)+i]=255; - buf[ysize*(y+1)+i]=255; - buf[ysize*(y+2)+i]=255; - } - glDrawPixels(xsize,ysize,GL_RED,GL_UNSIGNED_BYTE,buf); - - delete [] buf; -} diff --git a/indra/newview/llinventorymodel.cpp b/indra/newview/llinventorymodel.cpp index b890781ab2b..9ee3840f7fd 100644 --- a/indra/newview/llinventorymodel.cpp +++ b/indra/newview/llinventorymodel.cpp @@ -292,6 +292,28 @@ void LLInventoryModel::getDirectDescendentsOf(const LLUUID& cat_id, items = get_ptr_in_map(mParentChildItemTree, cat_id); } +// SJB: Added version to lock the arrays to catch potential logic bugs +void LLInventoryModel::lockDirectDescendentArrays(const LLUUID& cat_id, + cat_array_t*& categories, + item_array_t*& items) +{ + getDirectDescendentsOf(cat_id, categories, items); + if (categories) + { + mCategoryLock[cat_id] = true; + } + if (items) + { + mItemLock[cat_id] = true; + } +} + +void LLInventoryModel::unlockDirectDescendentArrays(const LLUUID& cat_id) +{ + mCategoryLock[cat_id] = false; + mItemLock[cat_id] = false; +} + // findCategoryUUIDForType() returns the uuid of the category that // specifies 'type' as what it defaults to containing. The category is // not necessarily only for that type. *NOTE: This will create a new @@ -619,6 +641,26 @@ U32 LLInventoryModel::updateItem(const LLViewerInventoryItem* item) return mask; } +LLInventoryModel::cat_array_t* LLInventoryModel::getUnlockedCatArray(const LLUUID& id) +{ + cat_array_t* cat_array = get_ptr_in_map(mParentChildCategoryTree, id); + if (cat_array) + { + llassert_always(mCategoryLock[id] == false); + } + return cat_array; +} + +LLInventoryModel::item_array_t* LLInventoryModel::getUnlockedItemArray(const LLUUID& id) +{ + item_array_t* item_array = get_ptr_in_map(mParentChildItemTree, id); + if (item_array) + { + llassert_always(mItemLock[id] == false); + } + return item_array; +} + // Calling this method with an inventory category will either change // an existing item with the matching id, or it will add the category. void LLInventoryModel::updateCategory(const LLViewerInventoryCategory* cat) @@ -645,12 +687,12 @@ void LLInventoryModel::updateCategory(const LLViewerInventoryCategory* cat) { // need to update the parent-child tree cat_array_t* cat_array; - cat_array = get_ptr_in_map(mParentChildCategoryTree, old_parent_id); + cat_array = getUnlockedCatArray(old_parent_id); if(cat_array) { cat_array->removeObj(old_cat); } - cat_array = get_ptr_in_map(mParentChildCategoryTree, new_parent_id); + cat_array = getUnlockedCatArray(new_parent_id); if(cat_array) { cat_array->put(old_cat); @@ -673,13 +715,15 @@ void LLInventoryModel::updateCategory(const LLViewerInventoryCategory* cat) // make sure this category is correctly referenced by it's parent. cat_array_t* cat_array; - cat_array = get_ptr_in_map(mParentChildCategoryTree, cat->getParentUUID()); + cat_array = getUnlockedCatArray(cat->getParentUUID()); if(cat_array) { cat_array->put(new_cat); } // make space in the tree for this category's children. + llassert_always(mCategoryLock[new_cat->getUUID()] == false); + llassert_always(mItemLock[new_cat->getUUID()] == false); cat_array_t* catsp = new cat_array_t; item_array_t* itemsp = new item_array_t; mParentChildCategoryTree[new_cat->getUUID()] = catsp; @@ -707,9 +751,9 @@ void LLInventoryModel::moveObject(const LLUUID& object_id, const LLUUID& cat_id) if(cat && (cat->getParentUUID() != cat_id)) { cat_array_t* cat_array; - cat_array = get_ptr_in_map(mParentChildCategoryTree, cat->getParentUUID()); + cat_array = getUnlockedCatArray(cat->getParentUUID()); if(cat_array) cat_array->removeObj(cat); - cat_array = get_ptr_in_map(mParentChildCategoryTree, cat_id); + cat_array = getUnlockedCatArray(cat_id); cat->setParent(cat_id); if(cat_array) cat_array->put(cat); addChangedMask(LLInventoryObserver::STRUCTURE, object_id); @@ -719,9 +763,9 @@ void LLInventoryModel::moveObject(const LLUUID& object_id, const LLUUID& cat_id) if(item && (item->getParentUUID() != cat_id)) { item_array_t* item_array; - item_array = get_ptr_in_map(mParentChildItemTree, item->getParentUUID()); + item_array = getUnlockedItemArray(item->getParentUUID()); if(item_array) item_array->removeObj(item); - item_array = get_ptr_in_map(mParentChildItemTree, cat_id); + item_array = getUnlockedItemArray(cat_id); item->setParent(cat_id); if(item_array) item_array->put(item); addChangedMask(LLInventoryObserver::STRUCTURE, object_id); @@ -742,25 +786,25 @@ void LLInventoryModel::deleteObject(const LLUUID& id) mCategoryMap.erase(id); mItemMap.erase(id); //mInventory.erase(id); - item_array_t* item_list = get_ptr_in_map(mParentChildItemTree, parent_id); + item_array_t* item_list = getUnlockedItemArray(parent_id); if(item_list) { LLViewerInventoryItem* item = (LLViewerInventoryItem*)((LLInventoryObject*)obj); item_list->removeObj(item); } - cat_array_t* cat_list = get_ptr_in_map(mParentChildCategoryTree, parent_id); + cat_array_t* cat_list = getUnlockedCatArray(parent_id); if(cat_list) { LLViewerInventoryCategory* cat = (LLViewerInventoryCategory*)((LLInventoryObject*)obj); cat_list->removeObj(cat); } - item_list = get_ptr_in_map(mParentChildItemTree, id); + item_list = getUnlockedItemArray(id); if(item_list) { delete item_list; mParentChildItemTree.erase(id); } - cat_list = get_ptr_in_map(mParentChildCategoryTree, id); + cat_list = getUnlockedCatArray(id); if(cat_list) { delete cat_list; @@ -1999,11 +2043,13 @@ void LLInventoryModel::buildParentChildMap() cats.put(cat); if (mParentChildCategoryTree.count(cat->getUUID()) == 0) { + llassert_always(mCategoryLock[cat->getUUID()] == false); catsp = new cat_array_t; mParentChildCategoryTree[cat->getUUID()] = catsp; } if (mParentChildItemTree.count(cat->getUUID()) == 0) { + llassert_always(mItemLock[cat->getUUID()] == false); itemsp = new item_array_t; mParentChildItemTree[cat->getUUID()] = itemsp; } @@ -2028,7 +2074,7 @@ void LLInventoryModel::buildParentChildMap() for(i = 0; i < count; ++i) { LLViewerInventoryCategory* cat = cats.get(i); - catsp = get_ptr_in_map(mParentChildCategoryTree, cat->getParentUUID()); + catsp = getUnlockedCatArray(cat->getParentUUID()); if(catsp) { catsp->put(cat); @@ -2061,7 +2107,7 @@ void LLInventoryModel::buildParentChildMap() cat->setParent(gAgent.getInventoryRootID()); } cat->updateServer(TRUE); - catsp = get_ptr_in_map(mParentChildCategoryTree, cat->getParentUUID()); + catsp = getUnlockedCatArray(cat->getParentUUID()); if(catsp) { catsp->put(cat); @@ -2097,7 +2143,7 @@ void LLInventoryModel::buildParentChildMap() { LLPointer<LLViewerInventoryItem> item; item = items.get(i); - itemsp = get_ptr_in_map(mParentChildItemTree, item->getParentUUID()); + itemsp = getUnlockedItemArray(item->getParentUUID()); if(itemsp) { itemsp->put(item); @@ -2114,7 +2160,7 @@ void LLInventoryModel::buildParentChildMap() // we update server here, the client might crash. //item->updateServer(); lost_item_ids.push_back(item->getUUID()); - itemsp = get_ptr_in_map(mParentChildItemTree, item->getParentUUID()); + itemsp = getUnlockedItemArray(item->getParentUUID()); if(itemsp) { itemsp->put(item); diff --git a/indra/newview/llinventorymodel.h b/indra/newview/llinventorymodel.h index 4889d622dc6..40dd55dda27 100644 --- a/indra/newview/llinventorymodel.h +++ b/indra/newview/llinventorymodel.h @@ -148,7 +148,13 @@ class LLInventoryModel void getDirectDescendentsOf(const LLUUID& cat_id, cat_array_t*& categories, item_array_t*& items) const; - + + // SJB: Added version to lock the arrays to catch potential logic bugs + void lockDirectDescendentArrays(const LLUUID& cat_id, + cat_array_t*& categories, + item_array_t*& items); + void unlockDirectDescendentArrays(const LLUUID& cat_id); + // Starting with the object specified, add it's descendents to the // array provided, but do not add the inventory object specified // by id. There is no guaranteed order. Neither array will be @@ -401,6 +407,10 @@ class LLInventoryModel bool messageUpdateCore(LLMessageSystem* msg, bool do_accounting); +protected: + cat_array_t* getUnlockedCatArray(const LLUUID& id); + item_array_t* getUnlockedItemArray(const LLUUID& id); + protected: // Varaibles used to track what has changed since the last notify. U32 mModifyMask; @@ -418,6 +428,9 @@ class LLInventoryModel cat_map_t mCategoryMap; item_map_t mItemMap; + std::map<LLUUID, bool> mCategoryLock; + std::map<LLUUID, bool> mItemLock; + // cache recent lookups mutable LLPointer<LLViewerInventoryItem> mLastItem; diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp index f7f46b0c30a..7a8497aa2ef 100644 --- a/indra/newview/llpanellogin.cpp +++ b/indra/newview/llpanellogin.cpp @@ -375,7 +375,6 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect, // change z sort of clickable text to be behind buttons sendChildToBack(getChildView("channel_text")); - sendChildToBack(getChildView("version_text")); sendChildToBack(getChildView("forgot_password_text")); LLLineEditor* edit = getChild<LLLineEditor>("password_edit"); @@ -418,20 +417,17 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect, setDefaultBtn("connect_btn"); - childSetAction("quit_btn", onClickQuit, this); + // childSetAction("quit_btn", onClickQuit, this); - LLTextBox* version_text = getChild<LLTextBox>("version_text"); + std::string channel = gSavedSettings.getString("VersionChannelName"); std::string version = llformat("%d.%d.%d (%d)", LL_VERSION_MAJOR, LL_VERSION_MINOR, LL_VERSION_PATCH, LL_VIEWER_BUILD ); - version_text->setText(version); - version_text->setClickedCallback(onClickVersion); - version_text->setCallbackUserData(this); - LLTextBox* channel_text = getChild<LLTextBox>("channel_text"); - channel_text->setText(gSavedSettings.getString("VersionChannelName")); + channel_text->setTextArg("[CHANNEL]", channel); + channel_text->setTextArg("[VERSION]", version); channel_text->setClickedCallback(onClickVersion); channel_text->setCallbackUserData(this); @@ -1106,6 +1102,8 @@ void LLPanelLogin::onClickNewAccount(void*) } +// *NOTE: This function is dead as of 2008 August. I left it here in case +// we suddenly decide to put the Quit button back. JC // static void LLPanelLogin::onClickQuit(void*) { diff --git a/indra/newview/llsky.h b/indra/newview/llsky.h index 35d669152ef..45dbfcfa056 100644 --- a/indra/newview/llsky.h +++ b/indra/newview/llsky.h @@ -57,7 +57,6 @@ class LLSky ~LLSky(); void init(const LLVector3 &sun_direction); - void free(); void cleanup(); diff --git a/indra/newview/llspatialpartition.cpp b/indra/newview/llspatialpartition.cpp index e9b09599e2f..7ea791d2533 100644 --- a/indra/newview/llspatialpartition.cpp +++ b/indra/newview/llspatialpartition.cpp @@ -2149,7 +2149,8 @@ void renderBoundingBox(LLDrawable* drawable) if (vobj && vobj->onActiveList()) { gGL.flush(); - glLineWidth(4.f*sinf(gFrameTimeSeconds*2.f)+1.f); + glLineWidth(4.f*(sinf(gFrameTimeSeconds*2.f)*0.25f+0.75f)); + stop_glerror(); drawBoxOutline(pos,size); gGL.flush(); glLineWidth(1.f); @@ -2347,16 +2348,19 @@ class LLOctreeRenderNonOccluded : public LLOctreeTraveler<LLDrawable> if (!mCamera || mCamera->AABBInFrustumNoFarClip(group->mBounds[0], group->mBounds[1])) { node->accept(this); + stop_glerror(); for (U32 i = 0; i < node->getChildCount(); i++) { traverse(node->getChild(i)); + stop_glerror(); } //draw tight fit bounding boxes for spatial group if (gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_OCTREE)) { renderOctree(group); + stop_glerror(); } //render visibility wireframe @@ -2368,6 +2372,7 @@ class LLOctreeRenderNonOccluded : public LLOctreeTraveler<LLDrawable> gGLLastMatrix = NULL; glLoadMatrixd(gGLModelView); renderVisibility(group, mCamera); + stop_glerror(); gGLLastMatrix = NULL; glPopMatrix(); gGL.color4f(1,1,1,1); diff --git a/indra/newview/lltexturecache.cpp b/indra/newview/lltexturecache.cpp index deb817d2ab6..3d53eaa631f 100644 --- a/indra/newview/lltexturecache.cpp +++ b/indra/newview/lltexturecache.cpp @@ -792,6 +792,14 @@ bool LLTextureCacheRemoteWorker::doWrite() //virtual bool LLTextureCacheWorker::doWork(S32 param) { + //allocate a new local apr_pool + LLAPRPool pool ; + + //save the current mFileAPRPool to avoid breaking anything. + apr_pool_t* old_pool = mCache->getFileAPRPool() ; + //make mFileAPRPool to point to the local one + mCache->setFileAPRPool(pool.getAPRPool()) ; + bool res = false; if (param == 0) // read { @@ -805,6 +813,10 @@ bool LLTextureCacheWorker::doWork(S32 param) { llassert_always(0); } + + //set mFileAPRPool back, the local one will be released automatically. + mCache->setFileAPRPool(old_pool) ; + return res; } diff --git a/indra/newview/lltexturecache.h b/indra/newview/lltexturecache.h index da7a6c3f124..f635679819a 100644 --- a/indra/newview/lltexturecache.h +++ b/indra/newview/lltexturecache.h @@ -114,6 +114,9 @@ class LLTextureCache : public LLWorkerThread std::string getTextureFileName(const LLUUID& id); void addCompleted(Responder* responder, bool success); +protected: + void setFileAPRPool(apr_pool_t* pool) { mFileAPRPool = pool ; } + private: void setDirNames(ELLPath location); void readHeaderCache(apr_pool_t* poolp = NULL); diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp index b444cb8ce62..cc6af1043d4 100644 --- a/indra/newview/lltoolpie.cpp +++ b/indra/newview/lltoolpie.cpp @@ -106,7 +106,7 @@ void LLToolPie::leftMouseCallback(const LLPickInfo& pick_info) BOOL LLToolPie::handleRightMouseDown(S32 x, S32 y, MASK mask) { // don't pick transparent so users can't "pay" transparent objects - gViewerWindow->pickAsync(x, y, mask, rightMouseCallback, FALSE); + gViewerWindow->pickAsync(x, y, mask, rightMouseCallback, FALSE, TRUE); mPieMouseButtonDown = TRUE; // don't steal focus from UI return FALSE; diff --git a/indra/newview/llurl.cpp b/indra/newview/llurl.cpp index 454dd5047e8..70cf5ab4382 100644 --- a/indra/newview/llurl.cpp +++ b/indra/newview/llurl.cpp @@ -57,7 +57,7 @@ LLURL::LLURL(const char * url) LLURL::~LLURL() { - free(); + cleanup(); } void LLURL::init(const char * url) @@ -140,7 +140,7 @@ void LLURL::init(const char * url) // llinfos << " Tag : <" << mTag << ">" << llendl; } -void LLURL::free() +void LLURL::cleanup() { } diff --git a/indra/newview/llurl.h b/indra/newview/llurl.h index 99f93b92131..8c77916aa03 100644 --- a/indra/newview/llurl.h +++ b/indra/newview/llurl.h @@ -71,7 +71,7 @@ class LLURL virtual ~LLURL(); virtual void init (const char * url); - virtual void free (); + virtual void cleanup (); bool operator==(const LLURL &rhs) const; bool operator!=(const LLURL &rhs) const; diff --git a/indra/newview/llviewercontrol.cpp b/indra/newview/llviewercontrol.cpp index a62bf9b9cf0..98413065af1 100644 --- a/indra/newview/llviewercontrol.cpp +++ b/indra/newview/llviewercontrol.cpp @@ -424,22 +424,7 @@ bool handleVoiceClientPrefsChanged(const LLSD& newvalue) { if(gVoiceClient) { - // Note: Ignore the specific event value, look up the ones we want - - gVoiceClient->setVoiceEnabled(gSavedSettings.getBOOL("EnableVoiceChat")); - gVoiceClient->setUsePTT(gSavedSettings.getBOOL("PTTCurrentlyEnabled")); - std::string keyString = gSavedSettings.getString("PushToTalkButton"); - gVoiceClient->setPTTKey(keyString); - gVoiceClient->setPTTIsToggle(gSavedSettings.getBOOL("PushToTalkToggle")); - gVoiceClient->setEarLocation(gSavedSettings.getS32("VoiceEarLocation")); - std::string serverName = gSavedSettings.getString("VivoxDebugServerName"); - gVoiceClient->setVivoxDebugServerName(serverName); - - std::string inputDevice = gSavedSettings.getString("VoiceInputAudioDevice"); - gVoiceClient->setCaptureDevice(inputDevice); - std::string outputDevice = gSavedSettings.getString("VoiceOutputAudioDevice"); - gVoiceClient->setRenderDevice(outputDevice); - gVoiceClient->setLipSyncEnabled(gSavedSettings.getBOOL("LipSyncEnabled")); + gVoiceClient->updateSettings(); } return true; } diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp index eef43af4c37..9e5b566e602 100644 --- a/indra/newview/llviewerdisplay.cpp +++ b/indra/newview/llviewerdisplay.cpp @@ -470,12 +470,6 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot) // // LLAppViewer::instance()->pingMainloopTimeout("Display:RenderSetup"); - stop_glerror(); - if (gSavedSettings.getBOOL("ShowDepthBuffer")) - { - pre_show_depth_buffer(); - } - stop_glerror(); /////////////////////////////////////// @@ -1088,11 +1082,6 @@ void render_ui_3d() // Debugging stuff goes before the UI. - if (gSavedSettings.getBOOL("ShowDepthBuffer")) - { - post_show_depth_buffer(); - } - // Coordinate axes if (gSavedSettings.getBOOL("ShowAxes")) { diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index f5d822f2e3b..ea1ef2a6a6c 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -473,6 +473,9 @@ void LLViewerMedia::initBrowser() buildMediaManagerData( init_data ); LLMediaManager::initBrowser( init_data ); delete init_data; + + // We use a custom user agent with viewer version and skin name. + LLViewerMediaImpl::updateBrowserUserAgent(); } ////////////////////////////////////////////////////////////////////////////////////////// @@ -538,9 +541,6 @@ void LLViewerMedia::buildMediaManagerData( LLMediaManagerData* init_data ) init_data->setBrowserProfileName( profile_name ); init_data->setBrowserParentWindow( gViewerWindow->getMediaWindow() ); - // We use a custom user agent with viewer version and skin name. - LLViewerMediaImpl::updateBrowserUserAgent(); - // Users can change skins while client is running, so make sure // we pick up on changes. gSavedSettings.getControl("SkinCurrent")->getSignal()->connect( diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 26d526c9889..7681e98eae9 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -146,7 +146,6 @@ #include "llinventoryview.h" #include "llkeyboard.h" #include "llpanellogin.h" -#include "llfloaterlandmark.h" #include "llmenucommands.h" #include "llmenugl.h" #include "llmorphview.h" @@ -208,9 +207,6 @@ #include "lltexlayer.h" -void init_landmark_menu(LLMenuGL* menu); -void clear_landmark_menu(LLMenuGL* menu); - void init_client_menu(LLMenuGL* menu); void init_server_menu(LLMenuGL* menu); @@ -256,7 +252,6 @@ LLPieMenu *gPieAttachment = NULL; LLPieMenu *gPieLand = NULL; // local constants -const std::string LANDMARK_MENU_NAME("Landmarks"); const std::string CLIENT_MENU_NAME("Advanced"); const std::string SERVER_MENU_NAME("Admin"); @@ -274,7 +269,6 @@ LLPieMenu* gDetachPieMenu = NULL; LLPieMenu* gDetachScreenPieMenu = NULL; LLPieMenu* gDetachBodyPartPieMenus[8]; -LLMenuGL* gLandmarkMenu = NULL; LLMenuItemCallGL* gAFKMenu = NULL; LLMenuItemCallGL* gBusyMenu = NULL; @@ -336,8 +330,6 @@ void handle_audio_status_3(void*); void handle_audio_status_4(void*); #endif void manage_landmarks(void*); -void create_new_landmark(void*); -void landmark_menu_action(void*); void reload_ui(void*); void handle_agent_stop_moving(void*); void print_packets_lost(void*); @@ -497,55 +489,6 @@ BOOL enable_region_owner(void*); void menu_toggle_attached_lights(void* user_data); void menu_toggle_attached_particles(void* user_data); -class LLLandmarkObserver : public LLInventoryObserver -{ -public: - LLLandmarkObserver(); - virtual ~LLLandmarkObserver(); - - virtual void changed(U32 mask) - { - // JC - Disabled for now - slows down client or causes crashes - // in inventory code. - // - // Also, this may not be faster than just rebuilding the menu each time. - // I believe gInventory.getObject() is not fast. - // - //const std::set<LLUUID>& changed_ids = gInventory.getChangedIDs(); - //std::set<LLUUID>::const_iterator id_it; - //BOOL need_to_rebuild_menu = FALSE; - //for(id_it = changed_ids.begin(); id_it != changed_ids.end(); ++id_it) - //{ - // LLInventoryObject* objectp = gInventory.getObject(*id_it); - // if (objectp && (objectp->getType() == LLAssetType::AT_LANDMARK || objectp->getType() == LLAssetType::AT_CATEGORY)) - // { - // need_to_rebuild_menu = TRUE; - // } - //} - //if (need_to_rebuild_menu) - //{ - // init_landmark_menu(gLandmarkMenu); - //} - } -}; - -// For debugging only, I think the inventory observer doesn't get -// called if the inventory is loaded from cache. -void build_landmark_menu(void*) -{ - init_landmark_menu(gLandmarkMenu); -} - -LLLandmarkObserver::LLLandmarkObserver() -{ - gInventory.addObserver(this); -} - -LLLandmarkObserver::~LLLandmarkObserver() -{ - gInventory.removeObserver(this); -} - class LLMenuParcelObserver : public LLParcelObserver { public: @@ -555,7 +498,6 @@ class LLMenuParcelObserver : public LLParcelObserver }; static LLMenuParcelObserver* gMenuParcelObserver = NULL; -static LLLandmarkObserver* gLandmarkObserver = NULL; LLMenuParcelObserver::LLMenuParcelObserver() { @@ -729,17 +671,6 @@ void init_menus() // TomY TODO convert these two LLMenuGL*menu; - // JC - Maybe we don't want a global landmark menu - /* - menu = new LLMenuGL(LANDMARK_MENU_NAME); - // Defer init_landmark_menu() until inventory observer reports that we actually - // have inventory. Otherwise findCategoryByUUID() will create an empty - // Landmarks folder in inventory. JC - gMenuBarView->appendMenu( menu ); - menu->updateParent(LLMenuGL::sMenuContainer); - gLandmarkMenu = menu; - */ - menu = new LLMenuGL(CLIENT_MENU_NAME); init_client_menu(menu); gMenuBarView->appendMenu( menu ); @@ -755,9 +686,6 @@ void init_menus() // Let land based option enable when parcel changes gMenuParcelObserver = new LLMenuParcelObserver(); - // Let landmarks menu update when landmarks are added/removed - gLandmarkObserver = new LLLandmarkObserver(); - // // Debug menu visiblity // @@ -775,64 +703,6 @@ void init_menus() -void init_landmark_menu(LLMenuGL* menu) -{ - if (!menu) return; - - // clear existing menu, as we might be rebuilding as result of inventory update - clear_landmark_menu(menu); - - // *TODO: Translate - menu->append(new LLMenuItemCallGL("Organize Landmarks", - &manage_landmarks, NULL)); - menu->append(new LLMenuItemCallGL("New Landmark...", - &create_new_landmark, NULL)); - menu->appendSeparator(); - - // now collect all landmarks in inventory and build menu... - LLInventoryModel::cat_array_t* cats; - LLInventoryModel::item_array_t* items; - gInventory.getDirectDescendentsOf(gInventory.findCategoryUUIDForType(LLAssetType::AT_LANDMARK), cats, items); - if(items) - { - S32 count = items->count(); - for(S32 i = 0; i < count; ++i) - { - LLInventoryItem* item = items->get(i); - std::string landmark_name = item->getName(); - LLUUID* landmark_id_ptr = new LLUUID( item->getUUID() ); - LLMenuItemCallGL* menu_item = - new LLMenuItemCallGL(landmark_name, landmark_menu_action, - NULL, NULL, landmark_id_ptr); - menu->append(menu_item); - } - } -} - -void clear_landmark_menu(LLMenuGL* menu) -{ - if (!menu) return; - - // We store the UUIDs of the landmark inventory items in the userdata - // field of the menus. Therefore when we clean up the menu we need to - // delete that data. - const LLView::child_list_t* child_list = menu->getChildList(); - LLView::child_list_const_iter_t it = child_list->begin(); - for ( ; it != child_list->end(); ++it) - { - LLView* view = *it; - LLMenuItemCallGL* menu_item = dynamic_cast<LLMenuItemCallGL*>(view); - - if (menu_item && menu_item->getMenuCallback() == landmark_menu_action) - { - void* user_data = menu_item->getUserData(); - delete (LLUUID*)user_data; - } - } - - menu->empty(); -} - void init_client_menu(LLMenuGL* menu) { LLMenuGL* sub_menu = NULL; @@ -1364,12 +1234,10 @@ void init_debug_rendering_menu(LLMenuGL* menu) sub_menu->append(new LLMenuItemCheckGL("Raycasting", &LLPipeline::toggleRenderDebug, NULL, &LLPipeline::toggleRenderDebugControl, (void*)LLPipeline::RENDER_DEBUG_RAYCAST)); + sub_menu->append(new LLMenuItemCheckGL("Sculpt", &LLPipeline::toggleRenderDebug, NULL, + &LLPipeline::toggleRenderDebugControl, + (void*)LLPipeline::RENDER_DEBUG_SCULPTED)); - sub_menu->append(new LLMenuItemCheckGL("Show Depth Buffer", - &menu_toggle_control, - NULL, - &menu_check_control, - (void*)"ShowDepthBuffer")); sub_menu->append(new LLMenuItemToggleGL("Show Select Buffer", &gDebugSelect)); sub_menu->append(new LLMenuItemCallGL("Vectorize Perf Test", &run_vectorize_perf_test)); @@ -1607,14 +1475,9 @@ static std::vector<LLPointer<view_listener_t> > sMenus; //----------------------------------------------------------------------------- void cleanup_menus() { - clear_landmark_menu(gLandmarkMenu); - delete gMenuParcelObserver; gMenuParcelObserver = NULL; - delete gLandmarkObserver; - gLandmarkObserver = NULL; - delete gPieSelf; gPieSelf = NULL; @@ -1677,6 +1540,8 @@ class LLObjectTouch : public view_listener_t LLViewerObject* object = LLSelectMgr::getInstance()->getSelection()->getFirstObject(); if (!object) return true; + LLPickInfo pick = LLToolPie::getInstance()->getPick(); + LLMessageSystem *msg = gMessageSystem; msg->newMessageFast(_PREHASH_ObjectGrab); @@ -1686,6 +1551,13 @@ class LLObjectTouch : public view_listener_t msg->nextBlockFast( _PREHASH_ObjectData); msg->addU32Fast( _PREHASH_LocalID, object->mLocalID); msg->addVector3Fast(_PREHASH_GrabOffset, LLVector3::zero ); + msg->nextBlock("SurfaceInfo"); + msg->addVector3("UVCoord", LLVector3(pick.mUVCoords)); + msg->addVector3("STCoord", LLVector3(pick.mSTCoords)); + msg->addS32Fast(_PREHASH_FaceIndex, pick.mObjectFace); + msg->addVector3("Position", pick.mIntersection); + msg->addVector3("Normal", pick.mNormal); + msg->addVector3("Binormal", pick.mBinormal); msg->sendMessage( object->getRegion()->getHost()); // *NOTE: Hope the packets arrive safely and in order or else @@ -1697,6 +1569,13 @@ class LLObjectTouch : public view_listener_t msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID()); msg->nextBlockFast(_PREHASH_ObjectData); msg->addU32Fast(_PREHASH_LocalID, object->mLocalID); + msg->nextBlock("SurfaceInfo"); + msg->addVector3("UVCoord", LLVector3(pick.mUVCoords)); + msg->addVector3("STCoord", LLVector3(pick.mSTCoords)); + msg->addS32Fast(_PREHASH_FaceIndex, pick.mObjectFace); + msg->addVector3("Position", pick.mIntersection); + msg->addVector3("Normal", pick.mNormal); + msg->addVector3("Binormal", pick.mBinormal); msg->sendMessage(object->getRegion()->getHost()); return true; @@ -3154,60 +3033,6 @@ void handle_audio_status_4(void*) } #endif -void manage_landmarks(void*) -{ - LLFloaterLandmark::showInstance(1); -} - -void create_new_landmark(void*) -{ - // Note this is temporary cut and paste of legacy functionality. - // TODO: Make this spawn a floater allowing user customize before creating the inventory object - - LLViewerRegion* agent_region = gAgent.getRegion(); - if(!agent_region) - { - llwarns << "No agent region" << llendl; - return; - } - LLParcel* agent_parcel = LLViewerParcelMgr::getInstance()->getAgentParcel(); - if (!agent_parcel) - { - llwarns << "No agent parcel" << llendl; - return; - } - if (!agent_parcel->getAllowLandmark() - && !LLViewerParcelMgr::isParcelOwnedByAgent(agent_parcel, GP_LAND_ALLOW_LANDMARK)) - { - gViewerWindow->alertXml("CannotCreateLandmarkNotOwner"); - return; - } - - LLUUID folder_id; - folder_id = gInventory.findCategoryUUIDForType(LLAssetType::AT_LANDMARK); - std::string pos_string; - gAgent.buildLocationString(pos_string); - - create_inventory_item(gAgent.getID(), gAgent.getSessionID(), - folder_id, LLTransactionID::tnull, - pos_string, pos_string, // name, desc - LLAssetType::AT_LANDMARK, - LLInventoryType::IT_LANDMARK, - NOT_WEARABLE, PERM_ALL, - NULL); -} - -void landmark_menu_action(void* userdata) -{ - LLUUID item_id = *(LLUUID*)userdata; - - LLViewerInventoryItem* itemp = gInventory.getItem(item_id); - if (itemp) - { - open_landmark(itemp, itemp->getName(), FALSE); - } -} - void reload_ui(void *) { LLUICtrlFactory::getInstance()->rebuild(); diff --git a/indra/newview/llviewerstats.cpp b/indra/newview/llviewerstats.cpp index 46fc91aa5a6..72d63085036 100644 --- a/indra/newview/llviewerstats.cpp +++ b/indra/newview/llviewerstats.cpp @@ -757,7 +757,6 @@ void send_stats() S32 window_height = gViewerWindow->getWindowDisplayHeight(); S32 window_size = (window_width * window_height) / 1024; misc["string_1"] = llformat("%d", window_size); - misc["string_1"] = llformat("%.dx%d", window_width, window_height); // misc["string_2"] = // misc["int_1"] = LLFloaterDirectory::sOldSearchCount; // Steve: 1.18.6 // misc["int_2"] = LLFloaterDirectory::sNewSearchCount; // Steve: 1.18.6 diff --git a/indra/newview/llviewerwindow.h b/indra/newview/llviewerwindow.h index 58d947787eb..821e306145a 100644 --- a/indra/newview/llviewerwindow.h +++ b/indra/newview/llviewerwindow.h @@ -174,7 +174,7 @@ class LLViewerWindow : public LLWindowCallbacks /*virtual*/ void handleDataCopy(LLWindow *window, S32 data_type, void *data); /*virtual*/ BOOL handleTimerEvent(LLWindow *window); /*virtual*/ BOOL handleDeviceChange(LLWindow *window); - + /*virtual*/ void handlePingWatchdog(LLWindow *window, const char * msg); // @@ -240,6 +240,7 @@ class LLViewerWindow : public LLWindowCallbacks void setCursor( ECursorType c ); void showCursor(); void hideCursor(); + BOOL getCursorHidden() { return mCursorHidden; } void moveCursorToCenter(); // move to center of window void setShowProgress(const BOOL show); @@ -402,10 +403,12 @@ class LLViewerWindow : public LLWindowCallbacks BOOL mSuppressToolbox; // sometimes hide the toolbox, despite // having a camera tool selected BOOL mHideCursorPermanent; // true during drags, mouselook + BOOL mCursorHidden; LLPickInfo mLastPick; LLPickInfo mHoverPick; std::vector<LLPickInfo> mPicks; LLRect mPickScreenRegion; // area of frame buffer for rendering pick frames (generally follows mouse to avoid going offscreen) + LLTimer mPickTimer; // timer for scheduling n picks per second std::string mOverlayTitle; // Used for special titles such as "Second Life - Special E3 2003 Beta" diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index d5d7056ef72..0ccba521fa3 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -6269,10 +6269,6 @@ void LLVOAvatar::sitOnObject(LLViewerObject *sit_object) mDrawable->mXform.setPosition(rel_pos); mDrawable->mXform.setRotation(mDrawable->getWorldRotation() * inv_obj_rot); - //in case the viewerobject is not updated in time - mDrawable->getVObj()->setPosition(sit_object->getWorldPosition()) ; - mDrawable->getVObj()->setRotation(sit_object->getWorldRotation()) ; - gPipeline.markMoved(mDrawable, TRUE); mIsSitting = TRUE; mRoot.getXform()->setParent(&sit_object->mDrawable->mXform); // LLVOAvatar::sitOnObject @@ -6333,10 +6329,6 @@ void LLVOAvatar::getOffObject() mDrawable->mXform.setPosition(cur_position_world); mDrawable->mXform.setRotation(cur_rotation_world); - //in case the viewerobject is not updated from sim in time - mDrawable->getVObj()->setPosition(cur_position_world); - mDrawable->getVObj()->setRotation(cur_rotation_world); - gPipeline.markMoved(mDrawable, TRUE); mIsSitting = FALSE; @@ -8894,6 +8886,11 @@ U32 LLVOAvatar::getVisibilityRank() void LLVOAvatar::setVisibilityRank(U32 rank) { + if (mDrawable.isNull() || mDrawable->isDead()) + { //do nothing + return; + } + BOOL stale = gFrameTimeSeconds - mLastFadeTime > 10.f; //only raise visibility rank or trigger a fade out every 10 seconds diff --git a/indra/newview/llvoiceclient.cpp b/indra/newview/llvoiceclient.cpp index 3cf0eb839da..8b1eba11a01 100644 --- a/indra/newview/llvoiceclient.cpp +++ b/indra/newview/llvoiceclient.cpp @@ -839,19 +839,12 @@ LLVoiceClient::LLVoiceClient() mCaptureDeviceDirty = false; mRenderDeviceDirty = false; - // Load initial state from prefs. - mVoiceEnabled = gSavedSettings.getBOOL("EnableVoiceChat"); - mUsePTT = TRUE; //gSavedSettings.getBOOL("EnablePushToTalk"); - std::string keyString = gSavedSettings.getString("PushToTalkButton"); - setPTTKey(keyString); - mPTTIsToggle = gSavedSettings.getBOOL("PushToTalkToggle"); - mEarLocation = gSavedSettings.getS32("VoiceEarLocation"); - setVoiceVolume(gSavedSettings.getBOOL("MuteVoice") ? 0.f : gSavedSettings.getF32("AudioLevelVoice")); - std::string captureDevice = gSavedSettings.getString("VoiceInputAudioDevice"); - setCaptureDevice(captureDevice); - std::string renderDevice = gSavedSettings.getString("VoiceOutputAudioDevice"); - setRenderDevice(renderDevice); - mLipSyncEnabled = gSavedSettings.getBOOL("LipSyncEnabled"); + // Use default values for everything then call updateSettings() after preferences are loaded + mVoiceEnabled = false; + mUsePTT = true; + mPTTIsToggle = false; + mEarLocation = 0; + mLipSyncEnabled = false; mTuningMode = false; mTuningEnergy = 0.0f; @@ -895,12 +888,11 @@ LLVoiceClient::~LLVoiceClient() //---------------------------------------------- - - void LLVoiceClient::init(LLPumpIO *pump) { // constructor will set up gVoiceClient LLVoiceClient::getInstance()->mPump = pump; + LLVoiceClient::getInstance()->updateSettings(); } void LLVoiceClient::terminate() @@ -923,6 +915,25 @@ void LLVoiceClient::terminate() } } +//--------------------------------------------------- + +void LLVoiceClient::updateSettings() +{ + setVoiceEnabled(gSavedSettings.getBOOL("EnableVoiceChat")); + setUsePTT(gSavedSettings.getBOOL("PTTCurrentlyEnabled")); + std::string keyString = gSavedSettings.getString("PushToTalkButton"); + setPTTKey(keyString); + setPTTIsToggle(gSavedSettings.getBOOL("PushToTalkToggle")); + setEarLocation(gSavedSettings.getS32("VoiceEarLocation")); + std::string serverName = gSavedSettings.getString("VivoxDebugServerName"); + setVivoxDebugServerName(serverName); + + std::string inputDevice = gSavedSettings.getString("VoiceInputAudioDevice"); + setCaptureDevice(inputDevice); + std::string outputDevice = gSavedSettings.getString("VoiceOutputAudioDevice"); + setRenderDevice(outputDevice); + setLipSyncEnabled(gSavedSettings.getBOOL("LipSyncEnabled")); +} ///////////////////////////// // utility functions diff --git a/indra/newview/llvoiceclient.h b/indra/newview/llvoiceclient.h index 2e1efce6fbb..c1f54d09f12 100644 --- a/indra/newview/llvoiceclient.h +++ b/indra/newview/llvoiceclient.h @@ -99,7 +99,9 @@ class LLVoiceClient: public LLSingleton<LLVoiceClient> serviceTypeC // one-to-one and small group chat }; static F32 OVERDRIVEN_POWER_LEVEL; - + + void updateSettings(); // call after loading settings and whenever they change + ///////////////////////////// // session control messages void connect(); diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index c6a7e9e28de..74af22dbc95 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -68,7 +68,8 @@ const S32 MIN_QUIET_FRAMES_COALESCE = 30; const F32 FORCE_SIMPLE_RENDER_AREA = 512.f; const F32 FORCE_CULL_AREA = 8.f; -const S32 SCULPT_REZ = 64; +// sadly - we can't lower sculptie rez below b/c residents have a LOT of content that depends on the 128 +const S32 SCULPT_REZ = 128; BOOL gAnimateTextures = TRUE; extern BOOL gHideSelectedObjects; @@ -530,7 +531,13 @@ void LLVOVolume::updateTextures() gPipeline.markRebuild(mDrawable, LLDrawable::REBUILD_VOLUME, FALSE); mSculptChanged = TRUE; } - + + if (gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_SCULPTED)) + { + setDebugText(llformat("T%d C%d V%d\n%dx%d", + texture_discard, current_discard, getVolume()->getSculptLevel(), + mSculptTexture->getHeight(), mSculptTexture->getWidth())); + } } diff --git a/indra/newview/llxmlrpctransaction.cpp b/indra/newview/llxmlrpctransaction.cpp index 9f1d8abca79..d9c6b6c58aa 100644 --- a/indra/newview/llxmlrpctransaction.cpp +++ b/indra/newview/llxmlrpctransaction.cpp @@ -134,7 +134,7 @@ void LLXMLRPCValue::appendDouble(const char* id, double v) XMLRPC_AddValueToVector(mV, XMLRPC_CreateValueDouble(id, v)); } -void LLXMLRPCValue::free() +void LLXMLRPCValue::cleanup() { XMLRPC_CleanupValue(mV); mV = NULL; diff --git a/indra/newview/llxmlrpctransaction.h b/indra/newview/llxmlrpctransaction.h index 0fc89e78133..d703f07d8bc 100644 --- a/indra/newview/llxmlrpctransaction.h +++ b/indra/newview/llxmlrpctransaction.h @@ -74,7 +74,7 @@ class LLXMLRPCValue void appendDouble(const char*, double); void appendValue(const char*, LLXMLRPCValue&); - void free(); + void cleanup(); // only call this on the top level created value XMLRPC_VALUE getValue() const; diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index f3168be46c2..7dd9ab5e1e4 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -4520,6 +4520,7 @@ void LLPipeline::renderBloom(BOOL for_snapshot) return; } + LLVertexBuffer::unbind(); LLGLState::checkStates(); LLGLState::checkTextureChannels(); diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h index a6f76df47ae..4ba6f39456b 100644 --- a/indra/newview/pipeline.h +++ b/indra/newview/pipeline.h @@ -340,7 +340,8 @@ class LLPipeline RENDER_DEBUG_LIGHTS = 0x100000, RENDER_DEBUG_BATCH_SIZE = 0x200000, RENDER_DEBUG_RAYCAST = 0x400000, - RENDER_DEBUG_SHAME = 0x800000 + RENDER_DEBUG_SHAME = 0x800000, + RENDER_DEBUG_SCULPTED = 0x1000000 }; public: diff --git a/indra/newview/skins/default/xui/de/floater_about.xml b/indra/newview/skins/default/xui/de/floater_about.xml index 6490d8b5a2d..9107b3ae8a5 100644 --- a/indra/newview/skins/default/xui/de/floater_about.xml +++ b/indra/newview/skins/default/xui/de/floater_about.xml @@ -3,30 +3,30 @@ <text_editor name="credits_editor"> Second Life wird Ihnen präsentiert von Philip, Tessa, Andrew, Cory, Ben, Bunny, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Hunter, Ian, Jeff, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, BillTodd, Ryan, Zach, Sarah, Nova, Otakon, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, DanceStar, Jeska, Hungry, Torley, Kona, Callum, Charity, Ventrella, Jack, Uncle, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Monroe, David, Tess, Lizzie, Patsy, Pony, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, James, Katie, Dawn, Katt, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn und vielen anderen. - Vielen Dank den folgenden Einwohnern, die uns geholfen haben, dies zur bisher besten Version zu machen: aaron23 decuir, Abra Miles, absolute balderdash, adelle fitzgerald, Aeron Kohime, Aki Shichiroji, Alger Meads, Alissa Sabre, AlwaysIcey Mapholisto, Arawn Spitteler, Aren Mandala, Arianna Wrigglesworth, Bagushii Kohime, Balpien Hammerer, Blinking2342 Blinker, byakuya runo, Capucchy Streeter, Chandra Jun, Coyote Pace, Crusher Soderstrom, Cummere Mayo, cyberrosa Rossini, Dael Ra, danana dodonpa, Darek Deluca, Davec Horsforth, django yifu, draco crane, Dre Dagostino, Ephyu Reino, etan quan, Fenrix Murakami, Fledhyris Proudhon, Fred Wardhani, Frederich Courier, garth fairchang, Gellan Glenelg, Geraldine Giha, GOLAN Eilde, gonzo joubert, Hachiro Yokosuka, Hampton Hax, harleywood guru, Hevenz Vansant, imnotgoing sideways, Jaden Giles, Jeanette Janus, Karl Dorance, keaton Akina, Khashai Steinbeck, KiPSOFT Tuqiri, kirstenlee Cinquetti, Kitty Barnett, Laurent Vesta, Lazure Ryba, Lima Vesperia, Linzi Bingyi, Lisa Lowe, LuDon Ninetails, Mark Rosenbaum, McCabe Maxsted, Michi Lumin, Midi Aeon, ml0rtd kit, Mo Eriksen, Morice Flanagan, Mysterion Aeon, Nad Gough, norgan torok, Pygar Bu, Qie Niangao, rachel corleone, Rado Arado, roberto salubrius, Royer Pessoa, samia bechir, Sasha Nurmi, Sean Heying, Selkit Diller, Shadow Pidgeon, simon kline, Smokie Ember, Soap Clawtooth, Strife Onizuka, Tal Chernov, Talan Hyun, tangletwigs fairymeadow, Tanya Spinotti, Tayra Dagostino, Teebone Aeon, Theremes Langdon, Thraxis Epsilon, tucor Capalini, Vasko Hawker, VenusMari Zapedzki, Vex Streeter, Viktoria Dovgal, Vincent Nacon, Viridian Exonar, Vivienne Schell, WarKirby Magojiro, Wilton Lundquist, Yukinoroh Kamachi, Zyzzy Zarf +Vielen Dank den folgenden Einwohnern, die uns geholfen haben, dies zur bisher besten Version zu machen:aaron23 decuir, Abra Miles, absolute balderdash, adelle fitzgerald, Aeron Kohime, Aki Shichiroji, Alger Meads, Alissa Sabre, AlwaysIcey Mapholisto, Arawn Spitteler, Aren Mandala, Arianna Wrigglesworth, Bagushii Kohime, Balpien Hammerer, Blinking2342 Blinker, byakuya runo, Capucchy Streeter, Chandra Jun, Coyote Pace, Crusher Soderstrom, Cummere Mayo, cyberrosa Rossini, Dael Ra, danana dodonpa, Darek Deluca, Davec Horsforth, django yifu, draco crane, Dre Dagostino, Ephyu Reino, etan quan, Fenrix Murakami, Fledhyris Proudhon, Fred Wardhani, Frederich Courier, garth fairchang, Gellan Glenelg, Geraldine Giha, GOLAN Eilde, gonzo joubert, Hachiro Yokosuka, Hampton Hax, harleywood guru, Hevenz Vansant, imnotgoing sideways, Jaden Giles, Jeanette Janus, Karl Dorance, keaton Akina, Khashai Steinbeck, KiPSOFT Tuqiri, kirstenlee Cinquetti, Kitty Barnett, Laurent Vesta, Lazure Ryba, Lima Vesperia, Linzi Bingyi, Lisa Lowe, LuDon Ninetails, Mark Rosenbaum, McCabe Maxsted, Michi Lumin, Midi Aeon, ml0rtd kit, Mo Eriksen, Morice Flanagan, Mysterion Aeon, Nad Gough, norgan torok, Pygar Bu, Qie Niangao, rachel corleone, Rado Arado, roberto salubrius, Royer Pessoa, samia bechir, Sasha Nurmi, Sean Heying, Selkit Diller, Shadow Pidgeon, simon kline, Smokie Ember, Soap Clawtooth, Strife Onizuka, Tal Chernov, Talan Hyun, tangletwigs fairymeadow, Tanya Spinotti, Tayra Dagostino, Teebone Aeon, Theremes Langdon, Thraxis Epsilon, tucor Capalini, Vasko Hawker, VenusMari Zapedzki, Vex Streeter, Viktoria Dovgal, Vincent Nacon, Viridian Exonar, Vivienne Schell, WarKirby Magojiro, Wilton Lundquist, Yukinoroh Kamachi, Zyzzy Zarf - 3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion - APR Copyright (C) 2000-2004 The Apache Software Foundation - cURL Copyright (C) 1996-2002, Daniel Stenberg, (daniel@haxx.se) - expat Copyright (C) 1998, 1999, 2000 Thai Open Source Software Center Ltd. - FreeType Copyright (C) 1996-2002, The FreeType Project (www.freetype.org). - GL Copyright (C) 1999-2004 Brian Paul. - Havok.com(TM) Copyright (C) 1999-2001, Telekinesys Research Limited. - jpeg2000 Copyright (C) 2001, David Taubman, The University of New South Wales (UNSW) - jpeglib Copyright (C) 1991-1998, Thomas G. Lane. - ogg/vorbis Copyright (C) 2001, Xiphophorus - OpenSSL Copyright (C) 1998-2002 The OpenSSL Project. - SDL Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga - SSLeay Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - xmlrpc-epi Copyright (C) 2000 Epinions, Inc. - zlib Copyright (C) 1995-2002 Jean-loup Gailly und Mark Adler. +3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion +APR Copyright (C) 2000-2004 The Apache Software Foundation +cURL Copyright (C) 1996-2002, Daniel Stenberg, (daniel@haxx.se) +expat Copyright (C) 1998, 1999, 2000 Thai Open Source Software Center Ltd. +FreeType Copyright (C) 1996-2002, The FreeType Project (www.freetype.org). +GL Copyright (C) 1999-2004 Brian Paul. +Havok.com(TM) Copyright (C) 1999-2001, Telekinesys Research Limited. +jpeg2000 Copyright (C) 2001, David Taubman, The University of New South Wales (UNSW) +jpeglib Copyright (C) 1991-1998, Thomas G. Lane. +ogg/vorbis Copyright (C) 2001, Xiphophorus +OpenSSL Copyright (C) 1998-2002 The OpenSSL Project. +SDL Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga +SSLeay Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +xmlrpc-epi Copyright (C) 2000 Epinions, Inc. +zlib Copyright (C) 1995-2002 Jean-loup Gailly und Mark Adler. - Alle Rechte vorbehalten. Details siehe licenses.txt. +Alle Rechte vorbehalten.Details siehe licenses.txt. - Voice-Chat-Audiocoding: Polycom(R) Siren14(TM) (ITU-T Empf. G.722.1 Anhang C) +Voice-Chat-Audiocoding:Polycom(R) Siren14(TM) (ITU-T Empf.G.722.1 Anhang C) - What happens to a dream deferred? --Langston Hughes +Was geschieht, wenn Träume aufgeschoben werden?- Langston Hughes </text_editor> <text name="you_are_at"> Sie befinden sich in [POSITION] 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 52cd7a2a6da..b75eeba248e 100644 --- a/indra/newview/skins/default/xui/de/floater_about_land.xml +++ b/indra/newview/skins/default/xui/de/floater_about_land.xml @@ -113,6 +113,10 @@ <text name="sale_pending_text"> (Wird verkauft) </text> + <string name="no_selection_text"> + Keine Parzelle ausgewählt. +Öffnen Sie "Welt" > "Land-Info" oder wählen Sie eine andere Parzelle aus, um Informationen darüber anzuzeigen. + </string> </panel> <panel label="Vertrag" name="land_covenant_panel"> <text type="string" length="1" name="covenant_timestamp_text"> @@ -192,27 +196,33 @@ <text left="204" name="owner_objects_text" width="48"> [COUNT] </text> - <button label="Anzeigen" label_selected="Anzeigen" name="ShowOwner" right="-135" width="60" /> + <button label="Anzeigen" label_selected="Anzeigen" name="ShowOwner" right="-135" + width="60" /> <button label="Zurückgeben..." label_selected="Zurückgeben..." name="ReturnOwner..." - right="-10" tool_tip="Objekte an ihre Eigentümer zurückgeben." width="119" /> + right="-10" tool_tip="Objekte an ihre Eigentümer zurückgeben." + width="119" /> <text left="14" name="Set to group:" width="200"> Der Gruppe übereignen: </text> <text left="204" name="group_objects_text" width="48"> [COUNT] </text> - <button label="Anzeigen" label_selected="Anzeigen" name="ShowGroup" right="-135" width="60" /> + <button label="Anzeigen" label_selected="Anzeigen" name="ShowGroup" right="-135" + width="60" /> <button label="Zurückgeben..." label_selected="Zurückgeben..." name="ReturnGroup..." - right="-10" tool_tip="Objekte an ihre Eigentümer zurückgeben." width="119" /> + right="-10" tool_tip="Objekte an ihre Eigentümer zurückgeben." + width="119" /> <text left="14" name="Owned by others:" width="128"> Im Eigentum anderer: </text> <text left="204" name="other_objects_text" width="48"> [COUNT] </text> - <button label="Anzeigen" label_selected="Anzeigen" name="ShowOther" right="-135" width="60" /> + <button label="Anzeigen" label_selected="Anzeigen" name="ShowOther" right="-135" + width="60" /> <button label="Zurückgeben..." label_selected="Zurückgeben..." name="ReturnOther..." - right="-10" tool_tip="Objekte an ihre Eigentümer zurückgeben." width="119" /> + right="-10" tool_tip="Objekte an ihre Eigentümer zurückgeben." + width="119" /> <text left="14" name="Selected / sat upon:" width="140"> Ausgewählt/gesessen auf: </text> diff --git a/indra/newview/skins/default/xui/de/floater_im.xml b/indra/newview/skins/default/xui/de/floater_im.xml index 4507ee08fd9..e62ff2ae217 100644 --- a/indra/newview/skins/default/xui/de/floater_im.xml +++ b/indra/newview/skins/default/xui/de/floater_im.xml @@ -7,7 +7,7 @@ [FIRST] [LAST] ist offline. </text> <string name="muted_message"> - Einwohner ist stummgeschaltet. + Sie haben diesen Einwohner stummgeschaltet.Wenn Sie ihm eine Nachricht senden, wird die Stummschaltung automatisch aufgehoben. </string> <text name="generic_request_error"> Fehler bei Anfrage, bitte versuchen Sie es später. diff --git a/indra/newview/skins/default/xui/de/floater_live_lsleditor.xml b/indra/newview/skins/default/xui/de/floater_live_lsleditor.xml index 7b656f549e2..8d499bc3003 100644 --- a/indra/newview/skins/default/xui/de/floater_live_lsleditor.xml +++ b/indra/newview/skins/default/xui/de/floater_live_lsleditor.xml @@ -2,6 +2,7 @@ <floater name="script ed float" title="Skript: Neues Skript"> <button label="Zurücksetzen" label_selected="Zurücksetzen" name="Reset" /> <check_box label="Läuft" name="running" /> + <check_box label="Mono" name="mono" /> <text name="not_allowed"> Sie können dieses Skript nicht anzeigen. </text> diff --git a/indra/newview/skins/default/xui/de/floater_mem_leaking.xml b/indra/newview/skins/default/xui/de/floater_mem_leaking.xml new file mode 100644 index 00000000000..4fe3058dfe6 --- /dev/null +++ b/indra/newview/skins/default/xui/de/floater_mem_leaking.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="MemLeak" title="Speicherverlust-Simulation"> + <spinner label="Verlustgeschwindigkeit (Bytes pro Frame):" name="leak_speed" /> + <spinner label="Max. Speicherverlust (MB):" name="max_leak" /> + <text name="total_leaked_label"> + Aktueller Speicherverlust:[SIZE] KB + </text> + <text name="note_label_1"> + [NOTE1] + </text> + <text name="note_label_2"> + [NOTE2] + </text> + <button label="Start" name="start_btn" /> + <button label="Stopp" name="stop_btn" /> + <button label="Freigeben" name="release_btn" /> + <button label="Schließen" name="close_btn" /> +</floater> diff --git a/indra/newview/skins/default/xui/de/floater_postcard.xml b/indra/newview/skins/default/xui/de/floater_postcard.xml index 0168d549433..639a8ffdd1c 100644 --- a/indra/newview/skins/default/xui/de/floater_postcard.xml +++ b/indra/newview/skins/default/xui/de/floater_postcard.xml @@ -1,21 +1,21 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<floater name="Postcard" title="Postkarte senden"> +<floater name="Postcard" title="Foto per E-Mail senden"> <text name="to_label"> E-Mail des Empfängers: </text> - <line_editor left="145" name="to_form" width="125"/> + <line_editor left="145" name="to_form" width="125" /> <text name="from_label"> Ihre E-Mail: </text> - <line_editor left="145" name="from_form" width="125"/> + <line_editor left="145" name="from_form" width="125" /> <text name="name_label"> Ihr Name: </text> - <line_editor left="145" name="name_form" width="125"/> + <line_editor left="145" name="name_form" width="125" /> <text name="subject_label"> Betreff: </text> - <line_editor label="Betreff hier eingeben." name="subject_form" left="145" width="125"/> + <line_editor label="Betreff hier eingeben." left="145" name="subject_form" width="125" /> <text name="msg_label"> Nachricht: </text> @@ -27,9 +27,8 @@ <check_box label="Ab-18-Inhalt" name="mature_check" tool_tip="Diese Postkarte enthält nicht jugendfreie Inhalte." /> <button label="?" name="publish_help_btn" /> - <text name="fine_print" > - Wenn sich der Empfänger Ihrer Postkarte bei SL anmeldet, erhalten Sie einen -Empfehlungsbonus. + <text name="fine_print"> + Wenn sich der Empfänger bei SL anmeldet, erhalten Sie einen Empfehlungsbonus. </text> <button label="Abbrechen" name="cancel_btn" /> <button label="Senden" name="send_btn" /> @@ -39,4 +38,7 @@ Empfehlungsbonus. <text name="default_message"> Sehen Sie hier! </text> + <string name="upload_message"> + Wird gesendet... + </string> </floater> diff --git a/indra/newview/skins/default/xui/de/floater_report_abuse.xml b/indra/newview/skins/default/xui/de/floater_report_abuse.xml index 2c92e70681b..a262c170175 100644 --- a/indra/newview/skins/default/xui/de/floater_report_abuse.xml +++ b/indra/newview/skins/default/xui/de/floater_report_abuse.xml @@ -43,6 +43,99 @@ dann auf das Objekt: <combo_item name="Selectcategory"> Kategorie auswählen </combo_item> + <combo_item name="Select_category"> + Kategorie auswählen + </combo_item> + <combo_item name="Age__Age_play"> + Alter> Age-Play + </combo_item> + <combo_item name="Age__Adult_resident_on_Teen_Second_Life"> + Alter> Erwachsener Einwohner in Teen Second Life + </combo_item> + <combo_item name="Age__Underage_resident_on_Adult_Second_Life"> + Alter > Minderjähriger Einwohner in Adult Second Life + </combo_item> + <combo_item name="Assault__Combat_sandbox___unsafe_area"> + Angriff> Kampf-Sandbox / unsichere Region + </combo_item> + <combo_item name="Assault__Safe_area"> + Angriff> Sichere Region + </combo_item> + <combo_item name="Assault__Weapons_testing_sandbox"> + Angriff > Sandbox für Waffentest + </combo_item> + <combo_item name="Copyright_or_intellectual_property_violation"> + Urheberrechtsverletzung + </combo_item> + <combo_item name="Commerce__Failure_to_deliver_product_or_service"> + Handel > Produkt nicht geliefer oder Dienstleistung nicht erbracht + </combo_item> + <combo_item name="Disclosure__First_Life_information"> + Offenlegung > Private Benutzerdaten + </combo_item> + <combo_item name="Disclosure__Remotely_monitoring chat"> + Offenlegung > Abhören eines Chats aus der Ferne + </combo_item> + <combo_item name="Disclosure__Second_Life_information_chat_IMs"> + Offenlegung > Second Life-Informationen/Chat/IMs + </combo_item> + <combo_item name="Disturbing_the_peace__Unfair_use_of_region_resources"> + Ruhestörung > Unfaire Nutzung von Regionsressourcen + </combo_item> + <combo_item name="Disturbing_the_peace__Excessive_scripted_objects"> + Ruhestörung > Exzessive Nutzung geskripteter Objekte + </combo_item> + <combo_item name="Disturbing_the_peace__Object_littering"> + Ruhestörung > Wildes Erzeugen von Objekten + </combo_item> + <combo_item name="Disturbing_the_peace__Repetitive_spam"> + Ruhestörung > Ständige Spam-Wiederholung + </combo_item> + <combo_item name="Disturbing_the_peace__Unwanted_advert_spam"> + Ruhestörung > Unerwünschte Spam-Werbung + </combo_item> + <combo_item name="Fraud__L$"> + Betrug > L$ + </combo_item> + <combo_item name="Fraud__Land"> + Betrug> Land + </combo_item> + <combo_item name="Fraud__Pyramid_scheme_or_chain_letter"> + Betrug > Schneeballsystem oder Kettenbrief + </combo_item> + <combo_item name="Fraud__US$"> + Betrug > US$ + </combo_item> + <combo_item name="Harassment__Advert_farms___visual_spam"> + Belästigung > Werbefarmen / visueller Spam + </combo_item> + <combo_item name="Harassment__Defaming_individuals_or_groups"> + Belästigung > Diffamieren von Einzelpersonen/Gruppen + </combo_item> + <combo_item name="Harassment__Impeding_movement"> + Belästigung > Bewegungseinschränkung + </combo_item> + <combo_item name="Harassment__Sexual_harassment"> + Belästigung > Sexuelle Belästigung + </combo_item> + <combo_item name="Harassment__Solicting_inciting_others_to_violate_ToS"> + Belästigung > Anstiften Dritter zur Missachtung der Nutzungsbedingungen + </combo_item> + <combo_item name="Harassment__Verbal_abuse"> + Belästigung > Beschimpfung + </combo_item> + <combo_item name="Indecency__Broadly_offensive_content_or_conduct"> + Unanständigkeit > Anstößige Inhalte oder Handlungen in der Öffentlichkeit + </combo_item> + <combo_item name="Indecency__Broadly_visible_mature_content"> + Unanständigkeit > Nicht jugendfreier Inhalt in der Öffentlichkeit + </combo_item> + <combo_item name="Indecency__Inappropriate_avatar_name"> + Unanständigkeit > Anstößiger Avatarname + </combo_item> + <combo_item name="Indecency__Mature_content_in_PG_region"> + Unanständigkeit > Nicht jugendfreier Inhalt in "Jugendfrei"-Region + </combo_item> <combo_item name="Intolerance"> Intoleranz </combo_item> @@ -64,6 +157,24 @@ dann auf das Objekt: <combo_item name="Parcel"> Parzelle </combo_item> + <combo_item name="Land__Abuse_of_sandbox_resources"> + Land > Missbrauch der Sandbox-Ressourcen + </combo_item> + <combo_item name="Land__Encroachment__Objects_textures"> + Land > Unbefugte Nutzung > Objekte/Texturen + </combo_item> + <combo_item name="Land__Encroachment__Particles"> + Land > Unbefugte Nutzung > Partikel + </combo_item> + <combo_item name="Land__Encroachment__Trees_plants"> + Land > Unbefugte Nutzung > Bäume/Pflanzen + </combo_item> + <combo_item name="Trademark_violation"> + Markenrechtsverletzung + </combo_item> + <combo_item name="Wagering_gambling"> + Wetten/Glücksspiel + </combo_item> <combo_item name="Other"> Sonstige </combo_item> @@ -73,6 +184,8 @@ dann auf das Objekt: </text> <button label="Einwohner auswählen" label_selected="" name="select_abuser" tool_tip="Den Namen des Beschuldigten aus einer Liste wählen" /> + <check_box label="Name des Täters ist nicht bekannt" name="omit_abuser_name" + tool_tip="Wählen Sie diese Option, wenn Ihnen der Name des Täters unbekannt ist" /> <text name="abuser_name_title2"> Ort des Missbrauchs: </text> diff --git a/indra/newview/skins/default/xui/de/floater_snapshot.xml b/indra/newview/skins/default/xui/de/floater_snapshot.xml index 70d09ecc278..38eb7137051 100644 --- a/indra/newview/skins/default/xui/de/floater_snapshot.xml +++ b/indra/newview/skins/default/xui/de/floater_snapshot.xml @@ -1,23 +1,26 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater name="Snapshot" title="Foto-Vorschau"> <text name="type_label"> - Was möchten Sie tun? + Zweck des Fotos </text> <radio_group label="Fototyp" name="snapshot_type_radio"> <radio_item name="postcard"> - Postkarte senden + Per E-Mail senden </radio_item> <radio_item name="texture"> - Foto hochladen + Im Inventar speichern (L$10) </radio_item> <radio_item name="local"> - Foto auf Festplatte speichern + Auf Festplatte speichern </radio_item> </radio_group> <button label="Mehr >>" name="more_btn" tool_tip="Erweiterte Optionen" /> <button label="<< Weniger" name="less_btn" tool_tip="Erweiterte Optionen" /> <text name="type_label2"> - Welche Bildgröße benötigen Sie? + Größe + </text> + <text name="format_label"> + Format </text> <combo_box label="Auflösung" name="postcard_size_combo"> <combo_item name="640x480"> @@ -79,6 +82,17 @@ Benutzerdefiniert </combo_item> </combo_box> + <combo_box label="Format" name="local_format_combo"> + <combo_item name="PNG"> + PNG + </combo_item> + <combo_item name="JPEG"> + JPEG + </combo_item> + <combo_item name="BMP"> + BMP + </combo_item> + </combo_box> <spinner label="Breite" name="snapshot_width" /> <spinner label="Höhe" name="snapshot_height" /> <slider label="Bildqualität" name="image_quality_slider" /> @@ -105,10 +119,10 @@ <check_box label="Seitenverhältnis beibehalten" name="keep_aspect_check" /> <check_box label="Frame einfrieren (Vollbildvorschau)" name="freeze_frame_check" /> <button label="Foto aktualisieren" name="new_snapshot_btn" /> - <check_box label="Automatisches Foto" name="auto_snapshot_check" /> - <button label="Hochladen (10 L$)" name="upload_btn" /> + <check_box label="Automatisch aktualisieren" name="auto_snapshot_check" /> + <button label="Speichern (L$10)" name="upload_btn" /> <button label="Senden" name="send_btn" /> - <button label="Speichern" name="save_btn" /> + <button label="Speichern" name="save_btn" tool_tip="Bild als Datei speichern" /> <button label="Abbrechen" name="discard_btn" /> <text name="unknown"> unbekannt diff --git a/indra/newview/skins/default/xui/de/floater_tools.xml b/indra/newview/skins/default/xui/de/floater_tools.xml index 8edb0d4cadc..03401cee9cf 100644 --- a/indra/newview/skins/default/xui/de/floater_tools.xml +++ b/indra/newview/skins/default/xui/de/floater_tools.xml @@ -79,6 +79,9 @@ Groß </combo_item> </combo_box> + <text name="Strength:"> + Stärke: + </text> <button label="Auf Auswahl anwenden" label_selected="Auf Auswahl anwenden" name="button apply to selection" tool_tip="Ausgewähltes Land ändern" /> <check_box label="Eigentümer anzeigen" name="checkbox show owners" /> @@ -142,6 +145,9 @@ <text name="Price: L$"> Preis: L$ </text> + <text name="Cost"> + Preis:L$ + </text> <radio_group name="sale type"> <radio_item name="Original"> Original @@ -218,6 +224,21 @@ <text name="text modify warning"> Gesamtes Objekt muss gewählt werden, um Berechtigungen festzulegen. </text> + <string name="Cost Default"> + Preis:L$ + </string> + <string name="Cost Total"> + Summe:L$ + </string> + <string name="Cost Per Unit"> + Stückpreis:L$ + </string> + <string name="Cost Mixed"> + Mischpreis + </string> + <string name="Sale Mixed"> + Mischverkauf + </string> </panel> <panel label="Objekt" name="Object"> <text name="select_single"> @@ -376,6 +397,10 @@ </text> <texture_picker label="Textur für gestaltetes Primitiv" name="sculpt texture control" tool_tip="Klicken Sie hier, um ein Bild auszuwählen" /> + <check_box label="Spiegeln" name="sculpt mirror control" + tool_tip="Geformtes Primitiv entlang der X-Achse spiegeln." /> + <check_box label="Wenden" name="sculpt invert control" + tool_tip="Dreht die Normalen des geformten Primitivs von innen nach außen." /> <text name="label sculpt type"> Naht </text> diff --git a/indra/newview/skins/default/xui/de/floater_top_objects.xml b/indra/newview/skins/default/xui/de/floater_top_objects.xml index e13ccfe0bce..d7abf5c62d2 100644 --- a/indra/newview/skins/default/xui/de/floater_top_objects.xml +++ b/indra/newview/skins/default/xui/de/floater_top_objects.xml @@ -8,19 +8,20 @@ <column label="Name" name="name" /> <column label="Owner" name="owner" /> <column label="Location" name="location" /> + <column label="Uhrzeit" name="time" /> </scroll_list> <line_editor bg_readonly_color="clear" bottom_delta="3" enabled="false" follows="left|bottom|right" font="SansSerifSmall" height="20" left="80" name="id_editor" text_readonly_color="white" width="244" /> - <text name="id_text"> + <text name="id_text"> Objekt-ID: </text> <button bottom_delta="0" follows="bottom|right" height="20" label="Beacon anzeigen" name="show_beacon_btn" right="-10" width="110" /> - <line_editor bg_readonly_color="clear" bottom_delta="3" enabled="false" + <line_editor bg_readonly_color="clear" bottom_delta="3" enabled="false" follows="left|bottom|right" font="SansSerifSmall" height="20" left="80" name="object_name_editor" text_readonly_color="white" width="244" /> - <text name="obj_name_text"> + <text name="obj_name_text"> Objektname: </text> <button bottom_delta="0" follows="bottom|right" height="20" label="Filter" @@ -28,19 +29,19 @@ <line_editor bg_readonly_color="clear" bottom_delta="3" enabled="true" follows="left|bottom|right" font="SansSerifSmall" height="20" left="106" name="owner_name_editor" text_readonly_color="white" width="218" /> - <text name="owner_name_text"> + <text name="owner_name_text"> Eigentümername: </text> <button bottom_delta="0" follows="bottom|right" height="20" label="Filter" name="filter_owner_btn" right="-10" width="110" /> - <button bottom="35" follows="bottom|left" height="20" label="Auswahl zurückgeben" left="10" - name="return_selected_btn" width="134" /> - <button bottom="35" follows="bottom|left" height="20" label="Alle zurückgeben" left="150" - name="return_all_btn" width="134" /> + <button bottom="35" follows="bottom|left" height="20" label="Auswahl zurückgeben" + left="10" name="return_selected_btn" width="134" /> + <button bottom="35" follows="bottom|left" height="20" label="Alle zurückgeben" + left="150" name="return_all_btn" width="134" /> <button bottom="10" follows="bottom|left" height="20" label="Auswahl deaktivieren" left="10" name="disable_selected_btn" width="134" /> - <button bottom="10" follows="bottom|left" height="20" label="Alle deaktivieren" left="150" - name="disable_all_btn" width="134" /> + <button bottom="10" follows="bottom|left" height="20" label="Alle deaktivieren" + left="150" name="disable_all_btn" width="134" /> <button bottom_delta="0" follows="bottom|right" height="20" label="Aktualisieren" name="refresh_btn" right="-10" width="110" /> <text name="top_scripts_title"> diff --git a/indra/newview/skins/default/xui/de/floater_tos.xml b/indra/newview/skins/default/xui/de/floater_tos.xml index de582203bca..bb797551e4a 100644 --- a/indra/newview/skins/default/xui/de/floater_tos.xml +++ b/indra/newview/skins/default/xui/de/floater_tos.xml @@ -13,6 +13,7 @@ <text name="tos_title"> Nutzungsvereinbarung </text> + <check_box label="Ich stimme den Nutzungsbedingungen zu" name="agree_chk" /> <text name="tos_heading"> Lesen Sie die folgenden Nutzungsbedingungen sorgfältig durch. Sie müssen dieser Vereinbarung zustimmen, um Second Life benutzen zu können. diff --git a/indra/newview/skins/default/xui/de/menu_viewer.xml b/indra/newview/skins/default/xui/de/menu_viewer.xml index c7d20e76190..0934a28105c 100644 --- a/indra/newview/skins/default/xui/de/menu_viewer.xml +++ b/indra/newview/skins/default/xui/de/menu_viewer.xml @@ -142,6 +142,7 @@ <menu_item_call label="Als abwesend anzeigen" name="Set Away" /> <menu_item_call label="Als beschäftigt anzeigen" name="Set Busy" /> <menu_item_call label="Alle Animationen stoppen" name="Stop All Animations" /> + <menu_item_call label="Tasten freigeben" name="Release Keys" /> <menu_item_separator label="-----------" name="separator4" /> <menu_item_call label="Kontostatistik..." name="Account History..." /> <menu_item_call label="Mein Konto verwalten..." name="Manage My Account..." /> @@ -208,12 +209,15 @@ <menu_item_separator label="-----------" name="separator6" /> <menu_item_call label="Skriptwarnung/Fehlerfenster anzeigen" name="Show Script Warning/Error Window" /> - <menu_item_call label="Skripts in Auswahl neu kompilieren" - name="Recompile Scripts in Selection" /> - <menu_item_call label="Skripts zurücksetzen ausgewählte" name="Reset Scripts in Selection" /> - <menu_item_call label="Skripts so einstellen, dass sie in Auswahl ausgeführt werden" + <menu_item_call label="Skripte in Auswahl neu kompilieren" + name="Recompile Scripts in Selection"> + <menu_item_call label="Mono" name="Mono" /> + <menu_item_call label="LSL" name="LSL" /> + </menu_item_call> + <menu_item_call label="Skripte in Auswahl zurücksetzen" name="Reset Scripts in Selection" /> + <menu_item_call label="Skripte in Auswahl so einstellen, dass sie ausgeführt werden" name="Set Scripts to Running in Selection" /> - <menu_item_call label="Skripts so einstellen, dass sie in Auswahl nicht ausgeführt werden" + <menu_item_call label="Skripte in Auswahl so einstellen, dass sie nicht ausgeführt werden" name="Set Scripts to Not Running in Selection" /> </menu> <menu label="Hilfe" name="Help"> diff --git a/indra/newview/skins/default/xui/de/mime_types.xml b/indra/newview/skins/default/xui/de/mime_types.xml index 03fd660a6fd..57b074e77af 100644 --- a/indra/newview/skins/default/xui/de/mime_types.xml +++ b/indra/newview/skins/default/xui/de/mime_types.xml @@ -59,12 +59,12 @@ </scheme> <mimetype name="blank"> <label name="blank_label"> - - Keine - + - Keine - </label> </mimetype> <mimetype name="none/none"> <label name="none/none_label"> - - Keine - + - Keine - </label> </mimetype> <mimetype name="audio/*"> @@ -112,6 +112,11 @@ Rich Text (RTF) </label> </mimetype> + <mimetype name="application/smil"> + <label name="application/smil_label"> + Synchronized Multimedia Integration Language (SMIL) + </label> + </mimetype> <mimetype name="application/xhtml+xml"> <label name="application/xhtml+xml_label"> Webseite (XHTML) @@ -222,4 +227,4 @@ Video (AVI) </label> </mimetype> -</mimetypes> \ No newline at end of file +</mimetypes> diff --git a/indra/newview/skins/default/xui/de/panel_login.xml b/indra/newview/skins/default/xui/de/panel_login.xml index ac087443e19..b024f7a121d 100644 --- a/indra/newview/skins/default/xui/de/panel_login.xml +++ b/indra/newview/skins/default/xui/de/panel_login.xml @@ -30,11 +30,14 @@ <button label="Neues Konto..." label_selected="Neues Konto..." name="new_account_btn" /> <button label="Einstellungen..." label_selected="Einstellungen..." name="preferences_btn" /> - <button label="Verbinden" label_selected="Verbinden" name="connect_btn" /> + <button label="Second Life betreten" label_selected="Verbinden" name="connect_btn" /> <button label="Beenden" label_selected="Beenden" name="quit_btn" /> <text name="version_text"> 1.23.4 (5) </text> + <text name="create_new_account_text"> + Neues Konto erstellen. + </text> <text name="channel_text"> [Viewer Channel Name] </text> diff --git a/indra/newview/skins/default/xui/de/panel_preferences_chat.xml b/indra/newview/skins/default/xui/de/panel_preferences_chat.xml index 036b916a4c1..63120d330d2 100644 --- a/indra/newview/skins/default/xui/de/panel_preferences_chat.xml +++ b/indra/newview/skins/default/xui/de/panel_preferences_chat.xml @@ -17,6 +17,8 @@ <text type="string" length="1" name="text_box2"> Chat-Farbe: </text> + <color_swatch label="Sie" name="user" /> + <color_swatch label="Andere" name="agent" /> <color_swatch label="IM" name="im" /> <color_swatch label="System" name="system" /> <color_swatch label="Chat" name="users" /> @@ -47,6 +49,7 @@ <check_box label="Pfeiltasten bewegen immer den Avatar beim Chatten" name="arrow_keys_move_avatar_check" /> <check_box label="Zeitstempel in Chat anzeigen" name="show_timestamps_check" /> + <check_box label="Tipp-Animation abspielen" name="play_typing_animation" /> <text type="string" length="1" name="text_box7"> Blasen-Chat: </text> @@ -57,5 +60,5 @@ </text> <check_box label="Skriptfehler und Warnungen als normalen Chat anzeigen" name="script_errors_as_chat" /> - <color_swatch label="Farbe" name="script_error" /> + <color_swatch label="Fehler" name="script_error" /> </panel> diff --git a/indra/newview/skins/default/xui/de/panel_preferences_general.xml b/indra/newview/skins/default/xui/de/panel_preferences_general.xml index 26e8459b493..fbf57426e04 100644 --- a/indra/newview/skins/default/xui/de/panel_preferences_general.xml +++ b/indra/newview/skins/default/xui/de/panel_preferences_general.xml @@ -119,4 +119,6 @@ Español (Spanisch) - Beta </combo_item> </combo_box> + <check_box label="Objekten Sprache mitteilen" name="language_is_public" + tool_tip="In-Welt-Objekten wird Ihre bevorzugte Spracheinstellung mitgeteilt." /> </panel> diff --git a/indra/newview/skins/default/xui/de/panel_region_debug.xml b/indra/newview/skins/default/xui/de/panel_region_debug.xml index e31754da7fe..1d77eac6651 100644 --- a/indra/newview/skins/default/xui/de/panel_region_debug.xml +++ b/indra/newview/skins/default/xui/de/panel_region_debug.xml @@ -16,11 +16,23 @@ tool_tip="Physik in dieser Region deaktivieren" /> <button label="?" name="disable_physics_help" /> <button label="Ãœbernehmen" name="apply_btn" /> - <button label="Avatar wählen..." name="choose_avatar_btn" /> + <line_editor name="target_avatar_name"> + (keiner) + </line_editor> + <button label="Auswählen..." name="choose_avatar_btn" /> <button label="Skriptobjekte des Avatars auf fremdem Land zurückgeben" name="return_scripted_other_land_btn" /> <button label="ALLE Skriptobjekte des Avatars zurückgeben" name="return_scripted_all_btn" /> + <check_box label="Nur Objekte mit Skripten zurückgeben" name="return_scripts" + tool_tip="Es werden nur die Objekte zurückgegeben, die über Skripte verfügen." /> + <check_box label="Nur Objekte auf dem Land eines anderen Einwohners zurückgeben" + name="return_other_land" + tool_tip="Es werden nur die Objekte zurückgegeben, die sich auf dem Land eines anderen Einwohners befinden" /> + <check_box label="Objekte in jeder Region dieses Grundstücks zurückgeben" + name="return_estate_wide" + tool_tip="Es werden die Objekte in allen Regionen dieses Grundstücks zurückgegeben" /> + <button label="Zurückgeben" name="return_btn" /> <button label="Top-Kollisionsobjekte..." name="top_colliders_btn" tool_tip="Liste der Objekte mit den meisten potenziellen Kollisionen" /> <button label="?" name="top_colliders_help" /> diff --git a/indra/newview/skins/default/xui/de/panel_region_estate.xml b/indra/newview/skins/default/xui/de/panel_region_estate.xml index 6dd4be0ad72..94d7d18514c 100644 --- a/indra/newview/skins/default/xui/de/panel_region_estate.xml +++ b/indra/newview/skins/default/xui/de/panel_region_estate.xml @@ -24,6 +24,12 @@ tool_tip="Einwohner ohne Altersprüfung verbannen. Weitere Informationen finden Sie auf support.secondlife.com." /> <check_box label="Voice-Chat erlauben" name="voice_chat_check" /> <button label="?" name="voice_chat_help" /> + <text name="abuse_email_text"> + E-Mail-Adresse für Missbrauchsmeldungen: + </text> + <string name="email_unsupported"> + Funktion nicht unterstützt + </string> <button label=" ?" name="abuse_email_address_help" /> <button label="?" name="estate_manager_help" /> <button label="Hinzufügen..." name="add_estate_manager_btn" /> diff --git a/indra/newview/skins/default/xui/de/role_actions.xml b/indra/newview/skins/default/xui/de/role_actions.xml index c46fa0d0f98..26042bd773d 100644 --- a/indra/newview/skins/default/xui/de/role_actions.xml +++ b/indra/newview/skins/default/xui/de/role_actions.xml @@ -144,7 +144,7 @@ name="land gardening" /> </action_set> <action_set - description="Diese Fähigkeiten ermöglichen es, gruppeneigene Objekte zu übertragen, zu bearbeiten und zu verkaufen. Änderungen werden unter 'Auswahl-Tool' > 'Bearbeiten' auf der Registerkarte 'Allgemein' vorgenommen. Klicken Sie mit rechts auf ein Objekt und wählen Sie 'Bearbeiten', um seine Einstellungen anzuzeigen." + description="Diese Fähigkeiten ermöglichen es, gruppeneigene Objekte zu übertragen, zu bearbeiten und zu verkaufen. Änderungen werden unter 'Auswahl-Tool' > 'Bearbeiten' auf der Registerkarte 'Allgemein' vorgenommen. Klicken Sie mit rechts auf ein Objekt und wählen Sie 'Bearbeiten', um seine Einstellungen anzuzeigen." name="Object Management"> <action description="Objekte an Gruppe übertragen" longdescription="Objekte an eine Gruppe übertragen können Sie unter 'Auswahl-Tool' > 'Bearbeiten' auf der Registerkarte 'Allgemein'." @@ -184,4 +184,17 @@ longdescription="Mitglieder in einer Rolle mit dieser Fähigkeit können in der Gruppeninfo unter 'Anfragen' über Anfragen abstimmen." name="proposal vote" /> </action_set> + <action_set + description="Diese Fähigkeiten ermöglichen es, den Zugang zu Gruppen-Chat und Gruppen-Voice-Chat zu steuern." + name="Chat"> + <action description="Gruppen-Chat beitreten" + longdescription="Mitglieder in einer Rolle mit dieser Fähigkeit können Gruppen-Chat und Gruppen-Voice-Chat beitreten." + name="join group chat" /> + <action description="Gruppen-Voice-Chat beitreten" + longdescription="Mitglieder in einer Rolle mit dieser Fähigkeit können Gruppen-Voice-Chat beitreten.HINWEIS:Sie benötigen die Fähigkeit 'Gruppen-Chat beitreten', um Zugang zu dieser Voice-Chat-Sitzung zu erhalten." + name="join voice chat" /> + <action description="Gruppen-Chat moderieren" + longdescription="Mitglieder in einer Rolle mit dieser Fähigkeit können den Zugang zu und die Teilnahme an Gruppen-Chat- und Voice-Chat-Sitzungen steuern." + name="moderate group chat" /> + </action_set> </role_actions> diff --git a/indra/newview/skins/default/xui/de/strings.xml b/indra/newview/skins/default/xui/de/strings.xml index be64d7f3581..6a9a9cce6af 100644 --- a/indra/newview/skins/default/xui/de/strings.xml +++ b/indra/newview/skins/default/xui/de/strings.xml @@ -18,6 +18,9 @@ <string name="LoginInitializingBrowser"> Integrierter Webbrowser wird initialisiert... </string> + <string name="LoginInitializingMultimedia"> + Multimedia wird initialisiert... + </string> <string name="LoginVerifyingCache"> Cache-Dateien werden überprüft (dauert 60-90 Sekunden)... </string> @@ -48,6 +51,9 @@ <string name="LoginDownloadingClothing"> Kleidung wird geladen... </string> + <string name="AgentLostConnection"> + In dieser Region kann es zu Problemen kommen. Bitte überprüfen Sie Ihre Internetverbindung. + </string> <string name="TooltipPerson"> Person </string> @@ -120,9 +126,15 @@ <string name="TooltipLand"> Land: </string> + <string name="TooltipMustSingleDrop"> + Sie können nur ein einzelnes Objekt hierher ziehen + </string> <string name="RetrievingData"> Laden... </string> + <string name="ReleaseNotes"> + Versionshinweise + </string> <string name="LoadingData"> Wird geladen... </string> @@ -387,4 +399,16 @@ <string name="anim_yes_head"> Ja </string> + <string name="texture_loading"> + Wird geladen... + </string> + <string name="worldmap_offline"> + Offline + </string> + <string name="whisper"> + Flüstert: + </string> + <string name="shout"> + Ruft: + </string> </strings> diff --git a/indra/newview/skins/default/xui/ja/floater_about.xml b/indra/newview/skins/default/xui/ja/floater_about.xml index 57faea08c22..6f6ec42802d 100644 --- a/indra/newview/skins/default/xui/ja/floater_about.xml +++ b/indra/newview/skins/default/xui/ja/floater_about.xml @@ -1,32 +1,32 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater name="floater_about" title="Second Lifeã«ã¤ã„ã¦"> <text_editor name="credits_editor"> - Second Life ã¯ã€ Philip〠Tessa〠Andrew〠Cory〠Ben〠Bunny〠Char〠Charlie〠Colin〠Dan〠Daniel〠Doug〠Eric〠Hamlet〠Haney〠Hunter〠Ian〠Jeff〠Jim〠John〠Lee〠Mark〠Peter〠Phoenix〠Richard〠Robin〠Xenon〠Steve〠Tanya〠Eddie〠Frank〠Bruce〠Aaron〠Alice〠Bob〠Debra〠Eileen〠Helen〠Janet〠Louie〠Leviathania〠Stefan〠Ray〠Kevin〠Tom〠Mikeb〠MikeT〠Burgess〠Elena〠Tracy〠BillTodd〠Ryan〠Zach〠Sarah〠Nova〠Otakon〠Tim〠Stephanie〠Michael〠Evan〠Nicolas〠Catherine〠Rachelle〠Dave〠Holly〠Bub〠Kelly〠Magellan〠Ramzi〠Don〠Sabin〠Jill〠Rheya〠DanceStar〠Jeska〠Hungry〠Torley〠Kona〠Callum〠Charity〠Ventrella〠Jack〠Uncle〠Vektor〠Iris〠Chris〠Nicole〠Mick〠Reuben〠Blue〠Babbage〠Yedwab〠Deana〠Lauren〠Brent〠Pathfinder〠Chadrick〠Altruima〠Jesse〠Monroe〠David〠Tess〠Lizzie〠Patsy〠Pony〠Isaac〠Lawrence〠Cyn〠Bo〠Gia〠Annette〠Marius〠Tbone〠Jonathan〠Karen〠Ginsu〠Yuko〠Makiko〠Thomas〠Harry〠Seth〠Alexei〠Brian〠Guy〠Runitai〠Ethan〠Data〠Cornelius〠Kenny〠Swiss〠Zero〠Natria〠Wendy〠Stephen〠Teeple〠Thumper〠Lucy〠Dee〠Mia〠Liana〠Warren〠Branka〠Aura〠beez〠Milo〠Hermia〠Red〠Thrax〠Joe〠Sally〠Magenta〠Paul〠Jose〠Rejean〠Henrik〠Lexie〠Amber〠Logan〠Xan〠Nora〠Morpheus〠Donovan〠Leyla〠MichaelFrancis〠Beast〠Cube〠Bucky〠Joshua〠Stryfe〠Harmony〠Teresa〠Claudia〠Walker〠Glenn〠Fritz〠Fordak〠June〠Cleopetra〠Jean〠Ivy〠Betsy〠Roosevelt〠Spike〠Ken〠Which〠Tofu〠Chiyo〠Rob〠Zee〠dustin〠George〠Del〠Matthew〠Cat〠Jacqui〠Lightfoot〠Adrian〠Viola〠Alfred〠Noel〠Irfan〠Sunil〠Yool〠Rika〠Jane〠Xtreme〠Frontier〠a2〠Neo〠Siobhan〠Yoz〠Justin〠Elle〠Qarl〠Benjamin〠Isabel〠Gulliver〠Everett〠Christopher〠Izzy〠Stephany〠Garry〠Sejong〠Sean〠Tobin〠Iridium〠Meta〠Anthony〠Jeremy〠JP〠Jake〠Maurice〠Madhavi〠Leopard〠Kyle〠Joon〠Kari〠Bert〠Belinda〠Jon〠Kristi〠Bridie〠Pramod〠KJ〠Socrates〠Maria〠Ivan〠Aric〠Yamasaki〠Adreanne〠Jay〠MitchK〠Ceren〠Coco〠Durl〠Jenny〠Periapse〠Kartic〠Storrs〠Lotte〠Sandy〠Colossus〠Zen〠BigPapi〠Brad〠Pastrami〠Kurz〠Mani〠Neuro〠Jaime〠MJ〠Rowan〠Sgt〠Elvis〠Gecko〠Samuel〠Sardonyx〠Leo〠Bryan〠Niko〠Soft〠Poppy〠Rachel〠Aki〠Angelo〠Banzai〠Alexa〠Sue〠CeeLo〠Bender〠CG〠Gillian〠Pelle〠Nick〠Echo〠Zara〠Christine〠Shamiran〠Emma〠Blake〠Keiko〠Plexus〠Joppa〠Sidewinder〠Erica〠Ashlei〠Twilight〠Kristen〠Brett〠Q〠Enus〠Simon〠Bevis〠Kraft〠Kip〠Chandler〠Ron〠LauraP〠Ram〠KyleJM〠Scouse〠Prospero〠Melissa〠Marty〠Nat〠Hamilton〠Kend〠Lordan〠Jimmy〠Kosmo〠Seraph〠Green〠Ekim〠Wiggo〠JT〠Rome〠Doris〠Miz〠Benoc〠Whump〠Trinity〠Patch〠Kate〠TJ〠Bao〠Joohwan〠Christy〠Sofia〠Matias〠Cogsworth〠Johan〠Oreh〠Cheah〠Angela〠Brandy〠Mango〠Lan〠Aleks〠Gloria〠Heidy〠Mitchell〠Space〠Colton〠Bambers〠Einstein〠Maggie〠Malbers〠Rose〠Winnie〠Stella〠Milton〠Rothman〠Niall〠Marin〠Allison〠James〠Katie〠Dawn〠Katt〠Kalpana〠Judy〠Andrea〠Ambroff〠Infinity〠Gail〠Rico〠Raymond〠Yi〠William〠Christa〠M〠Teagan〠Scout〠Molly〠Dante〠Corr〠Dynamike〠Usi〠Kaylee〠Lil〠Danica〠Sascha〠Kelv〠Jacob〠Nya〠Rodney〠Brandon〠Elsie〠Blondin〠Grant〠Katrin〠Nyx〠Gabriel〠Locklainn〠Claire〠Devin〠Minerva〠Monty〠Austin〠Bradford〠Si〠Keira〠H〠Caitlin〠Dita〠Makai〠Jenn ã¨ã€ãã®ä»–多数ã®äººé”ã«ã‚ˆã£ã¦ä½œæˆã•ã‚Œã¾ã—ãŸã€‚ + Second Lifeã¯ã€Philipã€Tessaã€Andrewã€Coryã€Benã€Bunnyã€Charã€Charlieã€Colinã€Danã€Danielã€Dougã€Ericã€Hamletã€Haneyã€Hunterã€Ianã€Jeffã€Jimã€Johnã€Leeã€Markã€Peterã€Phoenixã€Richardã€Robinã€Xenonã€Steveã€Tanyaã€Eddieã€Frankã€Bruceã€Aaronã€Aliceã€Bobã€Debraã€Eileenã€Helenã€Janetã€Louieã€Leviathaniaã€Stefanã€Rayã€Kevinã€Tomã€Mikebã€MikeTã€Burgessã€Elenaã€Tracyã€BillToddã€Ryanã€Zachã€Sarahã€Novaã€Otakonã€Timã€Stephanieã€Michaelã€Evanã€Nicolasã€Catherineã€Rachelleã€Daveã€Hollyã€Bubã€Kellyã€Magellanã€Ramziã€Donã€Sabinã€Jillã€Rheyaã€DanceStarã€Jeskaã€Hungryã€Torleyã€Konaã€Callumã€Charityã€Ventrellaã€Jackã€Uncleã€Vektorã€Irisã€Chrisã€Nicoleã€Mickã€Reubenã€Blueã€Babbageã€Yedwabã€Deanaã€Laurenã€Brentã€Pathfinderã€Chadrickã€Altruimaã€Jesseã€Monroeã€Davidã€Tessã€Lizzieã€Patsyã€Ponyã€Isaacã€Lawrenceã€Cynã€Boã€Giaã€Annetteã€Mariusã€Tboneã€Jonathanã€Karenã€Ginsuã€Yukoã€Makikoã€Thomasã€Harryã€Sethã€Alexeiã€Brianã€Guyã€Runitaiã€Ethanã€Dataã€Corneliusã€Kennyã€Swissã€Zeroã€Natriaã€Wendyã€Stephenã€Teepleã€Thumperã€Lucyã€Deeã€Miaã€Lianaã€Warrenã€Brankaã€Auraã€beezã€Miloã€Hermiaã€Redã€Thraxã€Joeã€Sallyã€Magentaã€Paulã€Joseã€Rejeanã€Henrikã€Lexieã€Amberã€Loganã€Xanã€Noraã€Morpheusã€Donovanã€Leylaã€MichaelFrancisã€Beastã€Cubeã€Buckyã€Joshuaã€Stryfeã€Harmonyã€Teresaã€Claudiaã€Walkerã€Glennã€Fritzã€Fordakã€Juneã€Cleopetraã€Jeanã€Ivyã€Betsyã€Rooseveltã€Spikeã€Kenã€Whichã€Tofuã€Chiyoã€Robã€Zeeã€dustinã€Georgeã€Delã€Matthewã€Catã€Jacquiã€Lightfootã€Adrianã€Violaã€Alfredã€Noelã€Irfanã€Sunilã€Yoolã€Rikaã€Janeã€Xtremeã€Frontierã€a2ã€Neoã€Siobhanã€Yozã€Justinã€Elleã€Qarlã€Benjaminã€Isabelã€Gulliverã€Everettã€Christopherã€Izzyã€Stephanyã€Garryã€Sejongã€Seanã€Tobinã€Iridiumã€Metaã€Anthonyã€Jeremyã€JPã€Jakeã€Mauriceã€Madhaviã€Leopardã€Kyleã€Joonã€Kariã€Bertã€Belindaã€Jonã€Kristiã€Bridieã€Pramodã€KJã€Socratesã€Mariaã€Ivanã€Aricã€Yamasakiã€Adreanneã€Jayã€MitchKã€Cerenã€Cocoã€Durlã€Jennyã€Periapseã€Karticã€Storrsã€Lotteã€Sandyã€Colossusã€Zenã€BigPapiã€Bradã€Pastramiã€Kurzã€Maniã€Neuroã€Jaimeã€MJã€Rowanã€Sgtã€Elvisã€Geckoã€Samuelã€Sardonyxã€Leoã€Bryanã€Nikoã€Softã€Poppyã€Rachelã€Akiã€Angeloã€Banzaiã€Alexaã€Sueã€CeeLoã€Benderã€CGã€Gillianã€Pelleã€Nickã€Echoã€Zaraã€Christineã€Shamiranã€Emmaã€Blakeã€Keikoã€Plexusã€Joppaã€Sidewinderã€Ericaã€Ashleiã€Twilightã€Kristenã€Brettã€Qã€Enusã€Simonã€Bevisã€Kraftã€Kipã€Chandlerã€Ronã€LauraPã€Ramã€KyleJMã€Scouseã€Prosperoã€Melissaã€Martyã€Natã€Hamiltonã€Kendã€Lordanã€Jimmyã€Kosmoã€Seraphã€Greenã€Ekimã€Wiggoã€JTã€Romeã€Dorisã€Mizã€Benocã€Whumpã€Trinityã€Patchã€Kateã€TJã€Baoã€Joohwanã€Christyã€Sofiaã€Matiasã€Cogsworthã€Johanã€Orehã€Cheahã€Angelaã€Brandyã€Mangoã€Lanã€Aleksã€Gloriaã€Heidyã€Mitchellã€Spaceã€Coltonã€Bambersã€Einsteinã€Maggieã€Malbersã€Roseã€Winnieã€Stellaã€Miltonã€Rothmanã€Niallã€Marinã€Allisonã€Jamesã€Katieã€Dawnã€Kattã€Kalpanaã€Judyã€Andreaã€Ambroffã€Infinityã€Gailã€Ricoã€Raymondã€Yiã€Williamã€Christaã€Mã€Teaganã€Scoutã€Mollyã€Danteã€Corrã€Dynamikeã€Usiã€Kayleeã€Lilã€Danicaã€Saschaã€Kelvã€Jacobã€Nyaã€Rodneyã€Brandonã€Elsieã€Blondinã€Grantã€Katrinã€Nyxã€Gabrielã€Locklainnã€Claireã€Devinã€Minervaã€Montyã€Austinã€Bradfordã€Siã€Keiraã€Hã€Caitlinã€Ditaã€Makaiã€Jennã¨ã€ãã®ä»–多数ã®äººé”ã«ã‚ˆã£ã¦ä½œæˆã•ã‚Œã¾ã—ãŸã€‚ -ã“ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’ã“ã‚Œã¾ã§ã§æœ€é«˜ã®ã‚‚ã®ã«ãªã‚‹ã‚ˆã†ã”å”力をã„ãŸã ã„ãŸä»¥ä¸‹ã®ä½äººã®çš†æ§˜ã«æ·±ãæ„Ÿè¬ã„ãŸã—ã¾ã™ã€‚aaron23 decuir〠Abra Miles〠absolute balderdash〠adelle fitzgerald〠Aeron Kohime〠Aki Shichiroji〠Alger Meads〠Alissa Sabre〠AlwaysIcey Mapholisto〠Arawn Spitteler〠Aren Mandala〠Arianna Wrigglesworth〠Bagushii Kohime〠Balpien Hammerer〠Blinking2342 Blinker〠byakuya runo〠Capucchy Streeter〠Chandra Jun〠Coyote Pace〠Crusher Soderstrom〠Cummere Mayo〠cyberrosa Rossini〠Dael Ra〠danana dodonpa〠Darek Deluca〠Davec Horsforth〠django yifu〠draco crane〠Dre Dagostino〠Ephyu Reino〠etan quan〠Fenrix Murakami〠Fledhyris Proudhon〠Fred Wardhani〠Frederich Courier〠garth fairchang〠Gellan Glenelg〠Geraldine Giha〠GOLAN Eilde〠gonzo joubert〠Hachiro Yokosuka〠Hampton Hax〠harleywood guru〠Hevenz Vansant〠imnotgoing sideways〠Jaden Giles〠Jeanette Janus〠Karl Dorance〠keaton Akina〠Khashai Steinbeck〠KiPSOFT Tuqiri〠kirstenlee Cinquetti〠Kitty Barnett〠Laurent Vesta〠Lazure Ryba〠Lima Vesperia〠Linzi Bingyi〠Lisa Lowe〠LuDon Ninetails〠Mark Rosenbaum〠McCabe Maxsted〠Michi Lumin〠Midi Aeon〠ml0rtd kit〠Mo Eriksen〠Morice Flanagan〠Mysterion Aeon〠Nad Gough〠norgan torok〠Pygar Bu〠Qie Niangao〠rachel corleone〠Rado Arado〠roberto salubrius〠Royer Pessoa〠samia bechir〠Sasha Nurmi〠Sean Heying〠Selkit Diller〠Shadow Pidgeon〠simon kline〠Smokie Ember〠Soap Clawtooth〠Strife Onizuka〠Tal Chernov〠Talan Hyun〠tangletwigs fairymeadow〠Tanya Spinotti〠Tayra Dagostino〠Teebone Aeon〠Theremes Langdon〠Thraxis Epsilon〠tucor Capalini〠Vasko Hawker〠VenusMari Zapedzki〠Vex Streeter〠Viktoria Dovgal〠Vincent Nacon〠Viridian Exonar〠Vivienne Schell〠WarKirby Magojiro〠Wilton Lundquist〠Yukinoroh Kamachi〠Zyzzy Zarf + ã“ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’ã“ã‚Œã¾ã§ã§æœ€é«˜ã®ã‚‚ã®ã«ãªã‚‹ã‚ˆã†ã”å”力をã„ãŸã ã„ãŸä»¥ä¸‹ã®ä½äººã®çš†æ§˜ã«æ·±ãæ„Ÿè¬ã„ãŸã—ã¾ã™ã€‚ aaron23 decuirã€Abra Milesã€absolute balderdashã€adelle fitzgeraldã€Aeron Kohimeã€Aki Shichirojiã€Alger Meadsã€Alissa Sabreã€AlwaysIcey Mapholistoã€Arawn Spittelerã€Aren Mandalaã€Arianna Wrigglesworthã€Bagushii Kohimeã€Balpien Hammererã€Blinking2342 Blinkerã€byakuya runoã€Capucchy Streeterã€Chandra Junã€Coyote Paceã€Crusher Soderstromã€Cummere Mayoã€cyberrosa Rossiniã€Dael Raã€danana dodonpaã€Darek Delucaã€Davec Horsforthã€django yifuã€draco craneã€Dre Dagostinoã€Ephyu Reinoã€etan quanã€Fenrix Murakamiã€Fledhyris Proudhonã€Fred Wardhaniã€Frederich Courierã€garth fairchangã€Gellan Glenelgã€Geraldine Gihaã€GOLAN Eildeã€gonzo joubertã€Hachiro Yokosukaã€Hampton Haxã€harleywood guruã€Hevenz Vansantã€imnotgoing sidewaysã€Jaden Gilesã€Jeanette Janusã€Karl Doranceã€keaton Akinaã€Khashai Steinbeckã€KiPSOFT Tuqiriã€kirstenlee Cinquettiã€Kitty Barnettã€Laurent Vestaã€Lazure Rybaã€Lima Vesperiaã€Linzi Bingyiã€Lisa Loweã€LuDon Ninetailsã€Mark Rosenbaumã€McCabe Maxstedã€Michi Luminã€Midi Aeonã€ml0rtd kitã€Mo Eriksenã€Morice Flanaganã€Mysterion Aeonã€Nad Goughã€norgan torokã€Pygar Buã€Qie Niangaoã€rachel corleoneã€Rado Aradoã€roberto salubriusã€Royer Pessoaã€samia bechirã€Sasha Nurmiã€Sean Heyingã€Selkit Dillerã€Shadow Pidgeonã€simon klineã€Smokie Emberã€Soap Clawtoothã€Strife Onizukaã€Tal Chernovã€Talan Hyunã€tangletwigs fairymeadowã€Tanya Spinottiã€Tayra Dagostinoã€Teebone Aeonã€Theremes Langdonã€Thraxis Epsilonã€tucor Capaliniã€Vasko Hawkerã€VenusMari Zapedzkiã€Vex Streeterã€Viktoria Dovgalã€Vincent Naconã€Viridian Exonarã€Vivienne Schellã€WarKirby Magojiroã€Wilton Lundquistã€Yukinoroh Kamachiã€Zyzzy Zarf -3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion -APR Copyright (C) 2000-2004 The Apache Software Foundation -cURL Copyright (C) 1996-2002, Daniel Stenberg, (daniel@haxx.se) -expat Copyright (C) 1998, 1999, 2000 Thai Open Source Software Center Ltd. -FreeType Copyright (C) 1996-2002, The FreeType Project (www.freetype.org). -GL Copyright (C) 1999-2004 Brian Paul. -Havok.com(TM) Copyright (C) 1999-2001, Telekinesys Research Limited. -jpeg2000 Copyright (C) 2001, David Taubman, The University of New South Wales (UNSW) -jpeglib Copyright (C) 1991-1998, Thomas G. Lane. -ogg/vorbis Copyright (C) 2001, Xiphophorus -OpenSSL Copyright (C) 1998-2002 The OpenSSL Project. -SDL Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga -SSLeay Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) -xmlrpc-epi Copyright (C) 2000 Epinions, Inc. -zlib Copyright (C) 1995-2002 Jean-loup Gailly and Mark Adler. + 3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion + APR Copyright (C) 2000-2004 The Apache Software Foundation + cURL Copyright (C) 1996-2002, Daniel Stenberg, (daniel@haxx.se) + expat Copyright (C) 1998, 1999, 2000 Thai Open Source Software Center Ltd. + FreeType Copyright (C) 1996-2002, The FreeType Project (www.freetype.org). + GL Copyright (C) 1999-2004 Brian Paul. + Havok.com(TM) Copyright (C) 1999-2001, Telekinesys Research Limited. + jpeg2000 Copyright (C) 2001, David Taubman, The University of New South Wales (UNSW) + jpeglib Copyright (C) 1991-1998, Thomas G. Lane. + ogg/vorbis Copyright (C) 2001, Xiphophorus + OpenSSL Copyright (C) 1998-2002 The OpenSSL Project. + SDL Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga + SSLeay Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) + xmlrpc-epi Copyright (C) 2000 Epinions, Inc. + zlib Copyright (C) 1995-2002 Jean-loup Gailly and Mark Adler. -ç„¡æ–複写・転載をç¦ã˜ã¾ã™ã€‚詳細ã¯licenses.txtã‚’å‚ç…§ã—ã¦ãã ã•ã„。 + ç„¡æ–転写ã€è¤‡è£½ã€è»¢è¼‰ã‚’ç¦ã˜ã¾ã™ã€‚ 詳細ã¯licenses.txtã‚’å‚ç…§ã—ã¦ãã ã•ã„。 -Voice chat Audio coding:Polycom(R) Siren14(TM) (ITU-T Rec.G.722.1 Annex C) + Voice chat Audio coding: Polycom(R) Siren14(TM) (ITU-T Rec. G.722.1 Annex C) -ã—ã‚ã‚ã›ã¯ã‚ã£ãŸã‹ã„å犬-- ãƒãƒ£ãƒ¼ãƒ«ã‚ºãƒ»M・シュルツ + 後回ã—ã«ã•ã‚ŒãŸå¤¢ã¯ã©ã†ãªã‚‹ã®? --ラングストン・ヒューズ </text_editor> <text name="you_are_at"> [POSITION]ä¸ 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 cbefed47609..adc85df627c 100644 --- a/indra/newview/skins/default/xui/ja/floater_about_land.xml +++ b/indra/newview/skins/default/xui/ja/floater_about_land.xml @@ -115,6 +115,10 @@ <text name="sale_pending_text"> (購入審査ä¸) </text> + <string name="no_selection_text"> + 区画ãŒé¸å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。 +[世界]メニュー>[åœŸåœ°æƒ…å ±]ã«é€²ã‚€ã‹ã€åˆ¥ã®åŒºç”»ã‚’é¸æŠžã—ã¦ã€è©³ç´°ã‚’表示ã—ã¾ã™ã€‚ + </string> </panel> <panel label="約款" name="land_covenant_panel"> <text type="string" length="1" name="covenant_timestamp_text"> diff --git a/indra/newview/skins/default/xui/ja/floater_im.xml b/indra/newview/skins/default/xui/ja/floater_im.xml index 1be8e7b60ae..4887beefd68 100644 --- a/indra/newview/skins/default/xui/ja/floater_im.xml +++ b/indra/newview/skins/default/xui/ja/floater_im.xml @@ -7,7 +7,7 @@ [FIRST] [LAST]ã¯ã‚ªãƒ•ãƒ©ã‚¤ãƒ³ã§ã™ã€‚ </text> <string name="muted_message"> - ä½äººã¯ãƒŸãƒ¥ãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã™ã€‚ + ã‚ãªãŸã¯ã“ã®ä½äººã‚’ミュートã—ã¦ã„ã¾ã™ã€‚ メッセージをé€ä¿¡ã™ã‚‹ã¨ã€ãƒŸãƒ¥ãƒ¼ãƒˆã¯è‡ªå‹•çš„ã«è§£é™¤ã•ã‚Œã¾ã™ã€‚ </string> <text name="generic_request_error"> è¦æ±‚ä¸ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚後ã§ã‚‚ã†ä¸€åº¦è©¦ã—ã¦ãã ã•ã„。 diff --git a/indra/newview/skins/default/xui/ja/floater_live_lsleditor.xml b/indra/newview/skins/default/xui/ja/floater_live_lsleditor.xml index b7ce98cf2d6..d28c673be56 100644 --- a/indra/newview/skins/default/xui/ja/floater_live_lsleditor.xml +++ b/indra/newview/skins/default/xui/ja/floater_live_lsleditor.xml @@ -2,6 +2,7 @@ <floater name="script ed float" title="スクリプト:新ã—ã„スクリプト"> <button label="リセット" label_selected="リセット" name="Reset" /> <check_box label="実行ä¸" name="running" /> + <check_box label="モノ" name="mono" /> <text name="not_allowed"> ã‚ãªãŸã¯ã“ã®ã‚¹ã‚¯ãƒªãƒ—トを見るã“ã¨ãŒã§ãã¾ã›ã‚“。 </text> diff --git a/indra/newview/skins/default/xui/ja/floater_mem_leaking.xml b/indra/newview/skins/default/xui/ja/floater_mem_leaking.xml new file mode 100644 index 00000000000..bdec7e5e630 --- /dev/null +++ b/indra/newview/skins/default/xui/ja/floater_mem_leaking.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater name="MemLeak" title="メモリ・リーク・シミュレーション"> + <spinner label="リークスピード(1フレームã”ã¨ã®ãƒã‚¤ãƒˆæ•°):" + name="leak_speed" /> + <spinner label="リークã—ãŸæœ€å¤§ãƒ¡ãƒ¢ãƒªæ•°(MB):" name="max_leak" /> + <text name="total_leaked_label"> + ç¾åœ¨ã®ãƒªãƒ¼ã‚¯ãƒ¡ãƒ¢ãƒªã‚µã‚¤ã‚ºï¼š [SIZE] KB + </text> + <text name="note_label_1"> + [NOTE1] + </text> + <text name="note_label_2"> + [NOTE2] + </text> + <button label="開始" name="start_btn" /> + <button label="åœæ¢" name="stop_btn" /> + <button label="解放" name="release_btn" /> + <button label="é–‰ã˜ã‚‹" name="close_btn" /> +</floater> diff --git a/indra/newview/skins/default/xui/ja/floater_postcard.xml b/indra/newview/skins/default/xui/ja/floater_postcard.xml index eb318f6a8ca..1689ec74f46 100644 --- a/indra/newview/skins/default/xui/ja/floater_postcard.xml +++ b/indra/newview/skins/default/xui/ja/floater_postcard.xml @@ -1,37 +1,37 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<floater name="Postcard" title="ãƒã‚¹ãƒˆã‚«ãƒ¼ãƒ‰ã‚’é€ã‚‹"> +<floater name="Postcard" title="スナップショットを電åメールã§é€ä¿¡"> <text name="to_label"> ä½äººã®é›»åメール: </text> - <line_editor left="145" name="to_form" width="125"/> + <line_editor left="145" name="to_form" width="125" /> <text name="from_label"> ã‚ãªãŸã®Eメール: </text> - <line_editor left="145" name="from_form" width="125"/> + <line_editor left="145" name="from_form" width="125" /> <text name="name_label"> ã‚ãªãŸã®åå‰ï¼š </text> - <line_editor left="145" name="name_form" width="125"/> + <line_editor left="145" name="name_form" width="125" /> <text name="subject_label"> 件å: </text> - <line_editor label="件åã‚’ã“ã“ã«ã‚¿ã‚¤ãƒ—。" name="subject_form" left="145" width="125" /> + <line_editor label="件åã‚’ã“ã“ã«ã‚¿ã‚¤ãƒ—。" left="145" name="subject_form" + width="125" /> <text name="msg_label"> メッセージ: </text> - <text_editor name="msg_form" height="110" bottom_delta="-120"> + <text_editor bottom_delta="-120" height="110" name="msg_form"> メッセージをã“ã“ã«ã‚¿ã‚¤ãƒ—。 </text_editor> <check_box label="ウェブ上ã§å…¬é–‹" name="allow_publish_check" tool_tip="ã“ã®ãƒã‚¹ãƒˆã‚«ãƒ¼ãƒ‰ã‚’ウェブ上ã§å…¬é–‹ã—ã¾ã™ã€‚" /> <check_box label="æˆäººå‘ã‘コンテンツ" name="mature_check" tool_tip="ã“ã®ãƒã‚¹ãƒˆã‚«ãƒ¼ãƒ‰ã«ã¯æˆäººå‘ã‘内容ãŒå«ã¾ã‚Œã¾ã™ã€‚" /> - <button label="?" name="publish_help_btn" left="300" /> + <button label="?" left="300" name="publish_help_btn" /> <text name="fine_print"> - ã‚ãªãŸã®ãƒã‚¹ãƒˆã‚«ãƒ¼ãƒ‰ã®å—信者ãŒSLã«å‚åŠ ã™ã‚‹ã¨ã€ã‚ãªãŸã¯ç´¹ä»‹ãƒœãƒ¼ãƒŠã‚¹ã‚’å— -ã‘å–ã‚Šã¾ã™ã€‚ + ã‚ãªãŸã®å—信者ãŒSLã«å‚åŠ ã™ã‚‹ã¨ã€ã‚ãªãŸã¯ç´¹ä»‹ãƒœãƒ¼ãƒŠã‚¹ã‚’å—ã‘å–ã‚Œã¾ã™ </text> - <button label="å–り消ã—" name="cancel_btn" bottom_delta="-52" /> + <button bottom_delta="-52" label="å–り消ã—" name="cancel_btn" /> <button label="é€ä¿¡" name="send_btn" /> <text name="default_subject"> Second Life ã‹ã‚‰ã®ãƒã‚¹ãƒˆã‚«ãƒ¼ãƒ‰ã€‚ @@ -39,4 +39,7 @@ <text name="default_message"> ã“ã‚Œã¯çµ¶å¯¾ãƒã‚§ãƒƒã‚¯ï¼ </text> + <string name="upload_message"> + é€ä¿¡ä¸... + </string> </floater> diff --git a/indra/newview/skins/default/xui/ja/floater_report_abuse.xml b/indra/newview/skins/default/xui/ja/floater_report_abuse.xml index e87b7797d34..052e560661d 100644 --- a/indra/newview/skins/default/xui/ja/floater_report_abuse.xml +++ b/indra/newview/skins/default/xui/ja/floater_report_abuse.xml @@ -42,8 +42,101 @@ <combo_item name="Selectcategory"> カテゴリーをé¸æŠž </combo_item> + <combo_item name="Select_category"> + カテゴリーをé¸æŠž + </combo_item> + <combo_item name="Age__Age_play"> + å¹´é½¢>å¹´é½¢å½è¨¼ + </combo_item> + <combo_item name="Age__Adult_resident_on_Teen_Second_Life"> + å¹´é½¢>æˆäººã®ä½äººãŒTeen Second Life上ã«ã„ã‚‹ + </combo_item> + <combo_item name="Age__Underage_resident_on_Adult_Second_Life"> + å¹´é½¢>未æˆå¹´ã®ä½äººãŒAdult Second Life上ã«ã„ã‚‹ + </combo_item> + <combo_item name="Assault__Combat_sandbox___unsafe_area"> + 攻撃>コンãƒãƒƒãƒˆãƒ»ã‚µãƒ³ãƒ‰ãƒœãƒƒã‚¯ã‚¹/å±é™ºãªã‚¨ãƒªã‚¢ + </combo_item> + <combo_item name="Assault__Safe_area"> + 攻撃>安全ãªã‚¨ãƒªã‚¢ + </combo_item> + <combo_item name="Assault__Weapons_testing_sandbox"> + 攻撃>æ¦å™¨ãƒ†ã‚¹ãƒˆç”¨ã‚µãƒ³ãƒ‰ãƒœãƒƒã‚¯ã‚¹ + </combo_item> + <combo_item name="Copyright_or_intellectual_property_violation"> + 著作権ã¾ãŸã¯çŸ¥çš„所有権ã«é–¢ã™ã‚‹é•å + </combo_item> + <combo_item name="Commerce__Failure_to_deliver_product_or_service"> + 商å–引>製å“ã¾ãŸã¯ã‚µãƒ¼ãƒ“スã®æä¾›ãŒè¡Œã‚ã‚Œãªã„ + </combo_item> + <combo_item name="Disclosure__First_Life_information"> + 開示>1st Lifeã®æƒ…å ± + </combo_item> + <combo_item name="Disclosure__Remotely_monitoring chat"> + 開示>離れãŸã¨ã“ã‚ã‹ã‚‰ãƒãƒ£ãƒƒãƒˆã‚’モニターã—ã¦ã„ã‚‹ + </combo_item> + <combo_item name="Disclosure__Second_Life_information_chat_IMs"> + 開示>Second Lifeã®æƒ…å ±/ãƒãƒ£ãƒƒãƒˆ/IM + </combo_item> + <combo_item name="Disturbing_the_peace__Unfair_use_of_region_resources"> + å¹³ç©ã‚’ä¹±ã™è¡Œç‚º>地域リソースã®ä½¿ç”¨ãŒä¸å…¬å¹³ + </combo_item> + <combo_item name="Disturbing_the_peace__Excessive_scripted_objects"> + å¹³ç©ã‚’ä¹±ã™è¡Œç‚º>スクリプト・オブジェクトã®ä¹±ç”¨ + </combo_item> + <combo_item name="Disturbing_the_peace__Object_littering"> + å¹³ç©ã‚’ä¹±ã™è¡Œç‚º>オブジェクトã®æ¨ã¦ç½®ã + </combo_item> + <combo_item name="Disturbing_the_peace__Repetitive_spam"> + å¹³ç©ã‚’ä¹±ã™è¡Œç‚º>ç¹°ã‚Šè¿”ã—スパム+ </combo_item> + <combo_item name="Disturbing_the_peace__Unwanted_advert_spam"> + å¹³ç©ã‚’ä¹±ã™è¡Œç‚º>ä¸è¦ãªåºƒå‘Šã‚¹ãƒ‘ム+ </combo_item> + <combo_item name="Fraud__L$"> + è©æ¬º> L$ + </combo_item> + <combo_item name="Fraud__Land"> + è©æ¬º>土地 + </combo_item> + <combo_item name="Fraud__Pyramid_scheme_or_chain_letter"> + è©æ¬º>マルãƒå•†æ³•ã¾ãŸã¯ãƒã‚§ãƒ¼ãƒ³ãƒ»ãƒ¡ãƒ¼ãƒ« + </combo_item> + <combo_item name="Fraud__US$"> + è©æ¬º> US$ + </combo_item> + <combo_item name="Harassment__Advert_farms___visual_spam"> + å«ŒãŒã‚‰ã›>広告委託/視覚的ãªã‚¹ãƒ‘ム+ </combo_item> + <combo_item name="Harassment__Defaming_individuals_or_groups"> + å«ŒãŒã‚‰ã›>個人ã¾ãŸã¯ã‚°ãƒ«ãƒ¼ãƒ—ã®ä¸å‚· + </combo_item> + <combo_item name="Harassment__Impeding_movement"> + å«ŒãŒã‚‰ã›>移動ã®å¦¨å®³ + </combo_item> + <combo_item name="Harassment__Sexual_harassment"> + å«ŒãŒã‚‰ã›>性的ãªå«ŒãŒã‚‰ã› + </combo_item> + <combo_item name="Harassment__Solicting_inciting_others_to_violate_ToS"> + å«ŒãŒã‚‰ã›>利用è¦ç´„(ToS)ã«é•åã™ã‚‹è¡Œç‚ºã‚’è¡Œã†ã‚ˆã†ä»–者を勧誘/扇動 + </combo_item> + <combo_item name="Harassment__Verbal_abuse"> + å«ŒãŒã‚‰ã›>暴言 + </combo_item> + <combo_item name="Indecency__Broadly_offensive_content_or_conduct"> + ã‚ã„ã›ã¤>è‘—ã—ãä¸å¿«ã§ã‚ã‚‹ã¨è¦‹ãªã•ã‚Œã‚‹ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã¾ãŸã¯è¡Œç‚º + </combo_item> + <combo_item name="Indecency__Broadly_visible_mature_content"> + ã‚ã„ã›ã¤>ã‚ã‹ã‚‰ã•ã¾ã«è¦‹ã›ã¤ã‘られるæˆäººå‘ã‘ã¨è¦‹ãªã•ã‚Œã‚‹ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ + </combo_item> + <combo_item name="Indecency__Inappropriate_avatar_name"> + ã‚ã„ã›ã¤>ä¸é©åˆ‡ãªã‚¢ãƒã‚¿ãƒ¼å + </combo_item> + <combo_item name="Indecency__Mature_content_in_PG_region"> + ã‚ã„ã›ã¤>PG地域ã§æˆäººå‘ã‘ã¨è¦‹ãªã•ã‚Œã‚‹ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ + </combo_item> <combo_item name="Intolerance"> - éžè¨±å®¹ + ä¸å¯›å®¹ </combo_item> <combo_item name="Harassment"> å«ŒãŒã‚‰ã› @@ -63,6 +156,24 @@ <combo_item name="Parcel"> 区画 </combo_item> + <combo_item name="Land__Abuse_of_sandbox_resources"> + 土地>サンドボックス・リソースã®ä¹±ç”¨ + </combo_item> + <combo_item name="Land__Encroachment__Objects_textures"> + 土地>ä¸æ³•ä¾µå…¥>オブジェクト/テクスãƒãƒ£ãƒ¼ + </combo_item> + <combo_item name="Land__Encroachment__Particles"> + 土地>ä¸æ³•ä¾µå…¥>パーティクル + </combo_item> + <combo_item name="Land__Encroachment__Trees_plants"> + 土地>ä¸æ³•ä¾µå…¥>樹木/æ¤ç‰© + </combo_item> + <combo_item name="Trademark_violation"> + 商標権ã®ä¾µå®³ + </combo_item> + <combo_item name="Wagering_gambling"> + è³ã‘/ギャンブル + </combo_item> <combo_item name="Other"> ãã®ä»– </combo_item> @@ -72,6 +183,8 @@ </text> <button label="ä½äººã‚’é¸æŠž" label_selected="" name="select_abuser" tool_tip="å«ŒãŒã‚‰ã›ã‚’ã—ãŸäººã®åå‰ã‚’リストã‹ã‚‰é¸æŠžã—ã¦ãã ã•ã„。" /> + <check_box label="å«ŒãŒã‚‰ã›ã‚’ã—ãŸäººã®åå‰ãŒä¸æ˜Ž" name="omit_abuser_name" + tool_tip="å«ŒãŒã‚‰ã›ã‚’ã—ãŸäººã®åå‰ã‚’æä¾›ã§ããªã„ã‹ã«ã¤ã„ã¦ã€ã“れを確èª" /> <text name="abuser_name_title2"> å«ŒãŒã‚‰ã›ã®èµ·ããŸå ´æ‰€ï¼š </text> diff --git a/indra/newview/skins/default/xui/ja/floater_snapshot.xml b/indra/newview/skins/default/xui/ja/floater_snapshot.xml index 694ea4e5069..57cd2d47c62 100644 --- a/indra/newview/skins/default/xui/ja/floater_snapshot.xml +++ b/indra/newview/skins/default/xui/ja/floater_snapshot.xml @@ -1,23 +1,26 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <floater name="Snapshot" title="プレビュー"> <text name="type_label"> - 何をã—ãŸã„ã§ã™ã‹ï¼Ÿ + スナップショットã®é€ã‚Šå…ˆ </text> <radio_group label="スナップショット・タイプ" name="snapshot_type_radio"> <radio_item name="postcard"> - ãƒã‚¹ãƒˆã‚«ãƒ¼ãƒ‰é€ä¿¡ + é›»åメールã§é€ä¿¡ </radio_item> <radio_item name="texture"> - アップãƒãƒ¼ãƒ‰ + æŒã¡ç‰©ã«ä¿å˜(L$10) </radio_item> <radio_item name="local"> - ãƒãƒ¼ãƒ‰ãƒ»ãƒ‰ãƒ©ã‚¤ãƒ–ã«ä¿å˜ + ãƒãƒ¼ãƒ‰ãƒ‡ã‚£ã‚¹ã‚¯ã«ä¿å˜ </radio_item> </radio_group> <button label="全表示 >>" name="more_btn" tool_tip="高度ãªã‚ªãƒ—ション" /> <button label="<< 簡易" name="less_btn" tool_tip="高度ãªã‚ªãƒ—ション" /> <text name="type_label2"> - ã©ã‚“ãªå¤§ãã•ã®ç”»åƒãŒå¿…è¦ã§ã™ã‹ï¼Ÿ + サイズ + </text> + <text name="format_label"> + フォーマット </text> <combo_box label="解åƒåº¦" name="postcard_size_combo"> <combo_item name="640x480"> @@ -79,6 +82,17 @@ カスタム</combo_item> </combo_box> + <combo_box label="フォーマット" name="local_format_combo"> + <combo_item name="PNG"> + PNG + </combo_item> + <combo_item name="JPEG"> + JPEG + </combo_item> + <combo_item name="BMP"> + BMP + </combo_item> + </combo_box> <spinner label="å¹…" name="snapshot_width" /> <spinner label="高ã•" name="snapshot_height" /> <slider label="画質" name="image_quality_slider" /> @@ -105,10 +119,10 @@ <check_box label="比率ã®åˆ¶é™" name="keep_aspect_check" /> <check_box label="フレームをフリーズ(全画é¢ï¼‰" name="freeze_frame_check" /> <button label="スナップショットを更新" name="new_snapshot_btn" /> - <check_box label="自動スナップショット" name="auto_snapshot_check" /> - <button label="アップロードL$10" name="upload_btn" /> + <check_box label="自動更新" name="auto_snapshot_check" /> + <button label="ä¿å˜(L$10)" name="upload_btn" /> <button label="é€ä¿¡" name="send_btn" /> - <button label="ä¿å˜" name="save_btn" /> + <button label="ä¿å˜" name="save_btn" tool_tip="ç”»åƒã‚’ファイルã«ä¿å˜" /> <button label="ã‚ャンセル" name="discard_btn" /> <text name="unknown"> 未知 diff --git a/indra/newview/skins/default/xui/ja/floater_tools.xml b/indra/newview/skins/default/xui/ja/floater_tools.xml index 3ec14a7cd0c..e755b7c267d 100644 --- a/indra/newview/skins/default/xui/ja/floater_tools.xml +++ b/indra/newview/skins/default/xui/ja/floater_tools.xml @@ -89,6 +89,9 @@ 大 </combo_item> </combo_box> + <text name="Strength:"> + 強度: + </text> <button label="é¸æŠžå¯¾è±¡ã«é©ç”¨" label_selected="é¸æŠžå¯¾è±¡ã«é©ç”¨" name="button apply to selection" tool_tip="é¸æŠžã—ãŸåœŸåœ°ã‚’ä¿®æ£" /> <check_box label="オーナーを表示" left="140" name="checkbox show owners" /> @@ -153,6 +156,9 @@ <text name="Price: L$"> 料金:L$ </text> + <text name="Cost"> + ä¾¡æ ¼ï¼š L$ + </text> <radio_group left="30" name="sale type"> <radio_item name="Original"> オリジナル @@ -229,6 +235,21 @@ <text name="text modify warning"> 権é™ã‚’è¨å®šã™ã‚‹ã«ã¯ã€ã‚ªãƒ–ジェクト全体をé¸æŠžã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚ </text> + <string name="Cost Default"> + ä¾¡æ ¼ï¼š L$ + </string> + <string name="Cost Total"> + åˆè¨ˆä¾¡æ ¼: L$ + </string> + <string name="Cost Per Unit"> + å˜ä¾¡ï¼š L$ + </string> + <string name="Cost Mixed"> + æ··åˆä¾¡æ ¼ + </string> + <string name="Sale Mixed"> + æ··åˆè²©å£² + </string> </panel> <panel label="オブジェクト" name="Object"> <text name="select_single"> @@ -385,6 +406,10 @@ </text> <texture_picker label="変形テクスãƒãƒ£ãƒ¼" name="sculpt texture control" tool_tip="クリックã—ã¦å†™çœŸã‚’é¸æŠžã—ã¦ãã ã•ã„。" /> + <check_box label="ミラー" name="sculpt mirror control" + tool_tip="スカルプトã•ã‚ŒãŸãƒ—リムをX軸上ã§å転" /> + <check_box label="è£è¿”ã—" name="sculpt invert control" + tool_tip="スカルプトã•ã‚ŒãŸãƒ—リムã®ãƒŽãƒ¼ãƒžãƒ«ã‚’逆転ã•ã›ã€è£è¿”ã—ã«è¡¨ç¤º" /> <text name="label sculpt type"> 縫ã„ç›®ã®ã‚¿ã‚¤ãƒ— </text> diff --git a/indra/newview/skins/default/xui/ja/floater_top_objects.xml b/indra/newview/skins/default/xui/ja/floater_top_objects.xml index 879e2d8f64b..819a7159327 100644 --- a/indra/newview/skins/default/xui/ja/floater_top_objects.xml +++ b/indra/newview/skins/default/xui/ja/floater_top_objects.xml @@ -8,6 +8,7 @@ <column label="åå‰" name="name" /> <column label="所有者" name="owner" /> <column label="ãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³" name="location" /> + <column label="時間" name="time" /> </scroll_list> <text name="id_text"> 物体ID: diff --git a/indra/newview/skins/default/xui/ja/floater_tos.xml b/indra/newview/skins/default/xui/ja/floater_tos.xml index ee01a2b2d26..31e3a240459 100644 --- a/indra/newview/skins/default/xui/ja/floater_tos.xml +++ b/indra/newview/skins/default/xui/ja/floater_tos.xml @@ -13,6 +13,7 @@ <text name="tos_title"> 利用è¦ç´„ </text> + <check_box label="利用è¦ç´„ã«åŒæ„ã—ã¾ã™" name="agree_chk" /> <text name="tos_heading"> 以下ã®åˆ©ç”¨è¦ç´„を注æ„æ·±ããŠèªã¿ãã ã•ã„。 SecondLifeã¸ãƒã‚°ã‚¤ãƒ³ã™ã‚‹ã«ã¯ã€ è¦ç´„ã«åŒæ„ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。 diff --git a/indra/newview/skins/default/xui/ja/menu_viewer.xml b/indra/newview/skins/default/xui/ja/menu_viewer.xml index 278e43ff235..ef68d38717b 100644 --- a/indra/newview/skins/default/xui/ja/menu_viewer.xml +++ b/indra/newview/skins/default/xui/ja/menu_viewer.xml @@ -146,6 +146,7 @@ <menu_item_call label="退å¸ä¸ã«è¨å®š" name="Set Away" /> <menu_item_call label="ビジーã«è¨å®š" name="Set Busy" /> <menu_item_call label="アニメーションをã™ã¹ã¦åœæ¢" name="Stop All Animations" /> + <menu_item_call label="ã‚ーを解除" name="Release Keys" /> <menu_item_separator label="-----------" name="separator4" /> <menu_item_call label="å£åº§å±¥æ´..." name="Account History..." /> <menu_item_call label="自分ã®å£åº§ã®ç®¡ç†..." name="Manage My Account..." /> @@ -216,7 +217,10 @@ <menu_item_call label="スクリプトè¦å‘Šï¼ã‚¨ãƒ©ãƒ¼ãƒ»ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã‚’表示" name="Show Script Warning/Error Window" /> <menu_item_call label="é¸æŠžã—ãŸã‚¹ã‚¯ãƒªãƒ—トをå†ã‚³ãƒ³ãƒ‘イル" - name="Recompile Scripts in Selection" /> + name="Recompile Scripts in Selection"> + <menu_item_call label="モノ" name="Mono" /> + <menu_item_call label="LSL" name="LSL" /> + </menu_item_call> <menu_item_call label="é¸æŠžã—ãŸã‚¹ã‚¯ãƒªãƒ—トをリセット" name="Reset Scripts in Selection" /> <menu_item_call label="é¸æŠžã—ãŸã‚¹ã‚¯ãƒªãƒ—トを起動ã™ã‚‹" diff --git a/indra/newview/skins/default/xui/ja/mime_types.xml b/indra/newview/skins/default/xui/ja/mime_types.xml index 9bebc7cd8ff..3d5f43a8055 100644 --- a/indra/newview/skins/default/xui/ja/mime_types.xml +++ b/indra/newview/skins/default/xui/ja/mime_types.xml @@ -112,6 +112,11 @@ リッãƒãƒ»ãƒ†ã‚スト (RTF) </label> </mimetype> + <mimetype name="application/smil"> + <label name="application/smil_label"> + åŒæœŸãƒžãƒ«ãƒãƒ¡ãƒ‡ã‚£ã‚¢çµ±åˆè¨€èªž(SMIL) + </label> + </mimetype> <mimetype name="application/xhtml+xml"> <label name="application/xhtml+xml_label"> ウェブ・ページ (XHTML) @@ -222,4 +227,4 @@ ムービー (AVI) </label> </mimetype> -</mimetypes> \ No newline at end of file +</mimetypes> diff --git a/indra/newview/skins/default/xui/ja/panel_login.xml b/indra/newview/skins/default/xui/ja/panel_login.xml index f908a1fc470..c3b95f61b94 100644 --- a/indra/newview/skins/default/xui/ja/panel_login.xml +++ b/indra/newview/skins/default/xui/ja/panel_login.xml @@ -30,11 +30,14 @@ <button label="æ–°è¦ã‚¢ã‚«ã‚¦ãƒ³ãƒˆ..." label_selected="æ–°è¦ã‚¢ã‚«ã‚¦ãƒ³ãƒˆ..." name="new_account_btn" /> <button label="環境è¨å®š..." label_selected="環境è¨å®š..." name="preferences_btn" /> - <button label="接続" label_selected="接続" name="connect_btn" /> + <button label="Second Lifeã«å…¥ã‚‹" label_selected="接続" name="connect_btn" /> <button label="終了" label_selected="終了" name="quit_btn" /> <text name="version_text"> 1.23.4 (5) </text> + <text name="create_new_account_text"> + æ–°ã—ã„アカウントを作æˆã—ã¾ã™ã€‚ + </text> <text name="channel_text"> [Viewer Channel Name] </text> diff --git a/indra/newview/skins/default/xui/ja/panel_preferences_chat.xml b/indra/newview/skins/default/xui/ja/panel_preferences_chat.xml index 12f009f4e5d..d4f5a6bba43 100644 --- a/indra/newview/skins/default/xui/ja/panel_preferences_chat.xml +++ b/indra/newview/skins/default/xui/ja/panel_preferences_chat.xml @@ -17,6 +17,8 @@ <text type="string" length="1" name="text_box2"> ãƒãƒ£ãƒƒãƒˆãƒ»ã‚«ãƒ©ãƒ¼ï¼š </text> + <color_swatch label="è²´æ–¹" name="user" /> + <color_swatch label="ãã®ä»–" name="agent" /> <color_swatch label="IM" name="im" /> <color_swatch label="システム" name="system" /> <color_swatch label="ãƒãƒ£ãƒƒãƒˆ" name="users" /> @@ -47,6 +49,8 @@ name="arrow_keys_move_avatar_check" /> <check_box label="ãƒãƒ£ãƒƒãƒˆã«ã‚¿ã‚¤ãƒ スタンプを表示" name="show_timestamps_check" /> + <check_box label="タイピング動作ã®ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã‚’å†ç”Ÿ" + name="play_typing_animation" /> <text type="string" length="1" name="text_box7"> ãƒãƒ£ãƒƒãƒˆã®å¹ã出ã—: </text> @@ -57,5 +61,5 @@ </text> <check_box label="スクリプト・エラーã¨è¦å‘Šã‚’ãƒãƒ£ãƒƒãƒˆåŒæ§˜ã«è¡¨ç¤º" name="script_errors_as_chat" /> - <color_swatch label="色" name="script_error" /> + <color_swatch label="エラー" name="script_error" /> </panel> diff --git a/indra/newview/skins/default/xui/ja/panel_preferences_general.xml b/indra/newview/skins/default/xui/ja/panel_preferences_general.xml index 213d1ed8346..afa74afde5a 100644 --- a/indra/newview/skins/default/xui/ja/panel_preferences_general.xml +++ b/indra/newview/skins/default/xui/ja/panel_preferences_general.xml @@ -126,4 +126,6 @@ Español (スペイン語) – ベータ </combo_item> </combo_box> + <check_box label="言語をオブジェクトã¨å…±æœ‰" name="language_is_public" + tool_tip="優先言語をインワールドã®ã‚ªãƒ–ジェクトãŒèªè˜ã™ã‚‹" /> </panel> diff --git a/indra/newview/skins/default/xui/ja/panel_region_debug.xml b/indra/newview/skins/default/xui/ja/panel_region_debug.xml index 321c261aaa2..5a3a33496eb 100644 --- a/indra/newview/skins/default/xui/ja/panel_region_debug.xml +++ b/indra/newview/skins/default/xui/ja/panel_region_debug.xml @@ -16,12 +16,25 @@ tool_tip="ã“ã®åœ°åŸŸã®ç‰©ç†ä½œç”¨ã‚’ã™ã¹ã¦ç„¡åŠ¹åŒ–" /> <button label="?" name="disable_physics_help" /> <button label="é©ç”¨" name="apply_btn" /> - <button label="ã‚¢ãƒã‚¿ãƒ¼ã‚’é¸æŠž..." name="choose_avatar_btn" /> + <line_editor name="target_avatar_name"> + (ãªã—) + </line_editor> + <button label="é¸æŠž..." name="choose_avatar_btn" /> <button label="人ã®åœŸåœ°ã®ã‚¢ãƒã‚¿ãƒ¼ãƒ»ã‚¹ã‚¯ãƒªãƒ—ト・オブジェクトを返å´" name="return_scripted_other_land_btn" /> <button label="ã‚¢ãƒã‚¿ãƒ¼ã®ã‚¹ã‚¯ãƒªãƒ—ト・オブジェクトをã™ã¹ã¦è¿”å´" name="return_scripted_all_btn" /> + <check_box label="スクリプトã®ã‚るオブジェクトã®ã¿ã‚’è¿”å´" + name="return_scripts" + tool_tip="スクリプトãŒã‚るオブジェクトã®ã¿ã‚’è¿”å´" /> + <check_box label="他人ã®åœŸåœ°ã«ã‚るオブジェクトã®ã¿ã‚’è¿”å´" + name="return_other_land" + tool_tip="他人ã«å±žã™ã‚‹åœŸåœ°ã«ã‚るオブジェクトã®ã¿ã‚’è¿”å´" /> + <check_box label="ã“ã®ä¸å‹•ç”£ã®å„地域ã®ã‚ªãƒ–ジェクトを返å´" + name="return_estate_wide" + tool_tip="ã“ã®ä¸å‹•ç”£ã«å«ã¾ã‚Œã¦ã„ã‚‹ã™ã¹ã¦ã®åœ°åŸŸã®ã‚ªãƒ–ジェクトを返å´" /> + <button label="è¿”å´" name="return_btn" /> <button label="上部コライダーå–å¾—" name="top_colliders_btn" tool_tip="è¡çªã™ã‚‹å¯èƒ½æ€§ãŒæœ€ã‚‚高ã„オブジェクトã®ãƒªã‚¹ãƒˆ" /> <button label="?" name="top_colliders_help" /> diff --git a/indra/newview/skins/default/xui/ja/panel_region_estate.xml b/indra/newview/skins/default/xui/ja/panel_region_estate.xml index d2fd70ee543..26b3432e1f6 100644 --- a/indra/newview/skins/default/xui/ja/panel_region_estate.xml +++ b/indra/newview/skins/default/xui/ja/panel_region_estate.xml @@ -24,6 +24,12 @@ tool_tip="年齢確èªã‚’済ã¾ã›ã¦ã„ãªã„ä½äººã‚’排除ã™ã‚‹è©³ç´°ã«ã¤ã„ã¦ã¯ã€support.secondlife.comã‚’å‚ç…§ã—ã¦ãã ã•ã„。" /> <check_box label="ボイスãƒãƒ£ãƒƒãƒˆã‚’許å¯" name="voice_chat_check" /> <button label="?" name="voice_chat_help" /> + <text name="abuse_email_text"> + å«ŒãŒã‚‰ã›ã«é–¢ã™ã‚‹ãƒ¡ãƒ¼ãƒ«å…ˆ: + </text> + <string name="email_unsupported"> + サãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ãªã„機能 + </string> <button label="?" name="abuse_email_address_help" /> <text name="estate_manager_label"> ä¸å‹•ç”£ãƒžãƒãƒ¼ã‚¸ãƒ£ãƒ¼ï¼š diff --git a/indra/newview/skins/default/xui/ja/role_actions.xml b/indra/newview/skins/default/xui/ja/role_actions.xml index c0c98b31595..2ad66072b03 100644 --- a/indra/newview/skins/default/xui/ja/role_actions.xml +++ b/indra/newview/skins/default/xui/ja/role_actions.xml @@ -5,13 +5,13 @@ name="Membership"> <action description="ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã«äººã‚’招待" longdescription="グループã«äººã‚’招待ã™ã‚‹ã«ã¯ã€[メンãƒãƒ¼ã¨å½¹å‰²]タブ>[メンãƒãƒ¼]サブタブã®[æ–°ã—ã„人を招待...]ボタンを使ã„ã¾ã™ã€‚" - name="member invite" value="1" /> + name="member invite" value="1" /> <action description="メンãƒãƒ¼ã‚’ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã‹ã‚‰è¿½æ”¾" longdescription="メンãƒãƒ¼ã‚’ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã‹ã‚‰è¿½æ”¾ã™ã‚‹ã«ã¯ã€[メンãƒãƒ¼ã¨å½¹å‰²]タブ > [役割]サブタブã®[グループã‹ã‚‰è¿½æ”¾]を使ã„ã¾ã™ã€‚ オーナーã¯ã€ä»–ã®ã‚ªãƒ¼ãƒŠãƒ¼ä»¥å¤–ã®ä»»æ„ã®ãƒ¡ãƒ³ãƒãƒ¼ã‚’追放ã§ãã¾ã™ã€‚ オーナーã§ãªã„ユーザーãŒã‚°ãƒ«ãƒ¼ãƒ—ã‹ã‚‰ãƒ¡ãƒ³ãƒãƒ¼ã‚’追放ã§ãã‚‹ã®ã¯ã€ãã®ãƒ¡ãƒ³ãƒãƒ¼ãŒã€Œå…¨å“¡ã€ã®å½¹å‰²ã«ã®ã¿æ‰€å±žã—ã¦ãŠã‚Šã€ä»–ã®å½¹å‰²ã«æ‰€å±žã—ã¦ã„ãªã„å ´åˆã ã‘ã§ã™ã€‚ 役割ã‹ã‚‰ãƒ¡ãƒ³ãƒãƒ¼ã‚’除外ã™ã‚‹ã«ã¯ã€ã€Œå½¹å‰²ã‹ã‚‰ãƒ¡ãƒ³ãƒãƒ¼ã‚’除外ã€èƒ½åŠ›ã‚’有ã—ã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚" - name="member eject" value="2" /> + name="member eject" value="2" /> <action description="[会員募集]ã«åˆ‡ã‚Šæ›¿ãˆã€[入会費]を変更。" longdescription="招待状ãªã—ã«æ–°ãƒ¡ãƒ³ãƒãƒ¼ãŒåŠ å…¥ã§ãるよã†ã«[会員募集]ã«åˆ‡ã‚Šæ›¿ãˆã€[一般]タブã®[グループ環境è¨å®š]セクションã‹ã‚‰[入会費]を変更ã—ã¾ã™ã€‚" - name="member options" value="3" /> + name="member options" value="3" /> </action_set> <action_set description="ã“れらã®èƒ½åŠ›ã«ã¯ã€ã‚°ãƒ«ãƒ¼ãƒ—内ã®å½¹å‰²ã‚’è¿½åŠ ã€å‰Šé™¤ã€å¤‰æ›´ã—ã€å½¹å‰²ã«ãƒ¡ãƒ³ãƒãƒ¼ã‚’è¿½åŠ ã€å‰Šé™¤ã—ã€ã•ã‚‰ã«å½¹å‰²ã¸èƒ½åŠ›ã‚’割り当ã¦ã‚‹æ¨©é™ãŒå«ã¾ã‚Œã¾ã™ã€‚" @@ -181,4 +181,25 @@ longdescription="ã“ã®èƒ½åŠ›ã‚’æŒã¤å½¹å‰²ã®ãƒ¡ãƒ³ãƒãƒ¼ã¯ã€ã‚°ãƒ«ãƒ¼ãƒ—æƒ…å ±ï¼žæ案タブã§æ案ã«æŠ•ç¥¨ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚" name="proposal vote" value="45" /> </action_set> + <action_set + description=" +ã“れらã®ã‚¢ãƒ“リティã«ã¯ã€ã‚°ãƒ«ãƒ¼ãƒ—・ãƒãƒ£ãƒƒãƒˆãƒ»ã‚»ãƒƒã‚·ãƒ§ãƒ³ã‚„グループ・ボイス・ãƒãƒ£ãƒƒãƒˆã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã®è¨±å¯ã‚„制é™ã®æ¨©é™ãŒå«ã¾ã‚Œã¾ã™ã€‚ +" + name="Chat"> + <action description="グループ・ãƒãƒ£ãƒƒãƒˆã«å‚åŠ ã™ã‚‹" + longdescription=" +ã“ã®ã‚¢ãƒ“リティをæŒã¤å½¹å‰²ã®ãƒ¡ãƒ³ãƒãƒ¼ã¯ã€ã‚°ãƒ«ãƒ¼ãƒ—・ãƒãƒ£ãƒƒãƒˆãƒ»ã‚»ãƒƒã‚·ãƒ§ãƒ³ã«ãƒ†ã‚ストãŠã‚ˆã³ãƒœã‚¤ã‚¹ã§å‚åŠ ã§ãã¾ã™ã€‚ +" + name="join group chat" /> + <action description="グループ・ボイス・ãƒãƒ£ãƒƒãƒˆã«å‚åŠ ã™ã‚‹" + longdescription=" +ã“ã®ã‚¢ãƒ“リティをæŒã¤å½¹å‰²ã®ãƒ¡ãƒ³ãƒãƒ¼ã¯ã€ã‚°ãƒ«ãƒ¼ãƒ—・ボイス・ãƒãƒ£ãƒƒãƒˆãƒ»ã‚»ãƒƒã‚·ãƒ§ãƒ³ã«å‚åŠ ã§ãã¾ã™ã€‚ 注: ボイス・ãƒãƒ£ãƒƒãƒˆãƒ»ã‚»ãƒƒã‚·ãƒ§ãƒ³ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã«ã¯ã€ã‚°ãƒ«ãƒ¼ãƒ—・ãƒãƒ£ãƒƒãƒˆã«å‚åŠ ã™ã‚‹ã‚¢ãƒ“リティãŒå¿…è¦ã§ã™ã€‚ +" + name="join voice chat" /> + <action description="グループ・ãƒãƒ£ãƒƒãƒˆã‚’管ç†ã™ã‚‹" + longdescription=" +ã“ã®ã‚¢ãƒ“リティをæŒã¤å½¹å‰²ã®ãƒ¡ãƒ³ãƒãƒ¼ã¯ã€ã‚°ãƒ«ãƒ¼ãƒ—・ボイス・ãƒãƒ£ãƒƒãƒˆãƒ»ã‚»ãƒƒã‚·ãƒ§ãƒ³ãŠã‚ˆã³ã‚°ãƒ«ãƒ¼ãƒ—・テã‚スト・ãƒãƒ£ãƒƒãƒˆãƒ»ã‚»ãƒƒã‚·ãƒ§ãƒ³ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚„å‚åŠ ã‚’ã‚³ãƒ³ãƒˆãƒãƒ¼ãƒ«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ +" + name="moderate group chat" /> + </action_set> </role_actions> diff --git a/indra/newview/skins/default/xui/ja/strings.xml b/indra/newview/skins/default/xui/ja/strings.xml index 700f6bd4401..8ff99144c6e 100644 --- a/indra/newview/skins/default/xui/ja/strings.xml +++ b/indra/newview/skins/default/xui/ja/strings.xml @@ -18,6 +18,9 @@ <string name="LoginInitializingBrowser"> 埋ã‚è¾¼ã¿WebブラウザをåˆæœŸåŒ–ã—ã¦ã„ã¾ã™... </string> + <string name="LoginInitializingMultimedia"> + マルãƒãƒ¡ãƒ‡ã‚£ã‚¢ã‚’åˆæœŸåŒ–ã—ã¦ã„ã¾ã™... + </string> <string name="LoginVerifyingCache"> ã‚ャッシュ・ファイルを検証ã—ã¦ã„ã¾ã™(所è¦æ™‚é–“ã¯60~90秒)... </string> @@ -48,6 +51,9 @@ <string name="LoginDownloadingClothing"> æœã‚’ダウンãƒãƒ¼ãƒ‰ã—ã¦ã„ã¾ã™... </string> + <string name="AgentLostConnection"> + ã“ã®åœ°åŸŸã«ã¯ã€å•é¡ŒãŒç™ºç”Ÿã—ã¦ã„ã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ インターãƒãƒƒãƒˆæŽ¥ç¶šã‚’確èªã—ã¦ãã ã•ã„。 + </string> <string name="TooltipPerson"> 人 </string> @@ -120,9 +126,15 @@ <string name="TooltipLand"> 土地: </string> + <string name="TooltipMustSingleDrop"> + 1ã¤ã®ã‚¢ã‚¤ãƒ†ãƒ ã®ã¿ã‚’ã“ã“ã«ãƒ‰ãƒ©ãƒƒã‚°ã§ãã¾ã™ + </string> <string name="RetrievingData"> 検索ä¸... </string> + <string name="ReleaseNotes"> + リリースノート + </string> <string name="LoadingData"> ãƒãƒ¼ãƒ‰ä¸... </string> @@ -387,4 +399,16 @@ <string name="anim_yes_head"> é ·ã </string> + <string name="texture_loading"> + ãƒãƒ¼ãƒ‰ä¸... + </string> + <string name="worldmap_offline"> + オフライン + </string> + <string name="whisper"> + ã•ã•ã‚„ã: + </string> + <string name="shout"> + å«ã¶: + </string> </strings> diff --git a/indra/win_crash_logger/llcrashloggerwindows.cpp b/indra/win_crash_logger/llcrashloggerwindows.cpp index 40dbc3bbd06..beec31a0083 100644 --- a/indra/win_crash_logger/llcrashloggerwindows.cpp +++ b/indra/win_crash_logger/llcrashloggerwindows.cpp @@ -29,6 +29,8 @@ * $/LicenseInfo$ */ +#include "linden_common.h" + #include "stdafx.h" #include "resource.h" #include "llcrashloggerwindows.h" diff --git a/indra/win_crash_logger/llcrashloggerwindows.h b/indra/win_crash_logger/llcrashloggerwindows.h index 45c3b4772bd..e3120138ce3 100644 --- a/indra/win_crash_logger/llcrashloggerwindows.h +++ b/indra/win_crash_logger/llcrashloggerwindows.h @@ -32,7 +32,6 @@ #ifndef LLCRASHLOGGERWINDOWS_H #define LLCRASHLOGGERWINDOWS_H -#include "linden_common.h" #include "llcrashlogger.h" #include "windows.h" #include "llstring.h" diff --git a/indra/win_crash_logger/win_crash_logger.cpp b/indra/win_crash_logger/win_crash_logger.cpp index c6b4ff1c34d..8f339d66610 100644 --- a/indra/win_crash_logger/win_crash_logger.cpp +++ b/indra/win_crash_logger/win_crash_logger.cpp @@ -33,6 +33,8 @@ // // Must be first include, precompiled headers. +#include "linden_common.h" + #include "stdafx.h" #include <stdlib.h> -- GitLab