parent
642cdd9572
commit
da94c0eaa2
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
//
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ public:
|
|||
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;
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
|
|
|
|||
|
|
@ -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 ()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,6 @@ public:
|
|||
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 */
|
||||
|
|
|
|||
|
|
@ -59,11 +59,11 @@ LLPacketRing::LLPacketRing () :
|
|||
///////////////////////////////////////////////////////////
|
||||
LLPacketRing::~LLPacketRing ()
|
||||
{
|
||||
free();
|
||||
cleanup();
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
void LLPacketRing::free ()
|
||||
void LLPacketRing::cleanup ()
|
||||
{
|
||||
LLPacketBuffer *packetp;
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ public:
|
|||
LLPacketRing();
|
||||
~LLPacketRing();
|
||||
|
||||
void free();
|
||||
void cleanup();
|
||||
|
||||
void dropPackets(U32);
|
||||
void setDropPercentage (F32 percent_to_drop);
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -176,7 +176,8 @@ public:
|
|||
|
||||
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();
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -377,7 +377,8 @@ std::string LLDir::getExpandedFilename(ELLPath location, const std::string& subd
|
|||
|
||||
case LL_PATH_EXECUTABLE:
|
||||
prefix = getExecutableDir();
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
llassert(0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -119,6 +119,7 @@ public:
|
|||
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
|
||||
|
|
|
|||
|
|
@ -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))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -119,7 +119,8 @@ private:
|
|||
|
||||
// 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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -148,7 +148,13 @@ public:
|
|||
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 @@ protected:
|
|||
|
||||
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 @@ protected:
|
|||
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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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*)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -57,7 +57,6 @@ public:
|
|||
~LLSky();
|
||||
|
||||
void init(const LLVector3 &sun_direction);
|
||||
void free();
|
||||
|
||||
void cleanup();
|
||||
|
||||
|
|
|
|||
|
|
@ -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 @@ public:
|
|||
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 @@ public:
|
|||
gGLLastMatrix = NULL;
|
||||
glLoadMatrixd(gGLModelView);
|
||||
renderVisibility(group, mCamera);
|
||||
stop_glerror();
|
||||
gGLLastMatrix = NULL;
|
||||
glPopMatrix();
|
||||
gGL.color4f(1,1,1,1);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -114,6 +114,9 @@ protected:
|
|||
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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ public:
|
|||
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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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"))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -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 @@ public:
|
|||
};
|
||||
|
||||
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();
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -174,7 +174,7 @@ public:
|
|||
/*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 @@ public:
|
|||
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 @@ protected:
|
|||
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"
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ public:
|
|||
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;
|
||||
|
|
|
|||
|
|
@ -4520,6 +4520,7 @@ void LLPipeline::renderBloom(BOOL for_snapshot)
|
|||
return;
|
||||
}
|
||||
|
||||
LLVertexBuffer::unbind();
|
||||
LLGLState::checkStates();
|
||||
LLGLState::checkTextureChannels();
|
||||
|
||||
|
|
|
|||
|
|
@ -340,7 +340,8 @@ public:
|
|||
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:
|
||||
|
|
|
|||
|
|
@ -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]
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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">
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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">
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
</mimetypes>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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" />
|
||||
|
|
|
|||
|
|
@ -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" />
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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]中
|
||||
|
|
|
|||
|
|
@ -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">
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
[FIRST] [LAST]はオフラインです。
|
||||
</text>
|
||||
<string name="muted_message">
|
||||
住人はミュートされています。
|
||||
あなたはこの住人をミュートしています。 メッセージを送信すると、ミュートは自動的に解除されます。
|
||||
</string>
|
||||
<text name="generic_request_error">
|
||||
要求中にエラーが発生しました。後でもう一度試してください。
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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">
|
||||
未知
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
<text name="tos_title">
|
||||
利用規約
|
||||
</text>
|
||||
<check_box label="利用規約に同意します" name="agree_chk" />
|
||||
<text name="tos_heading">
|
||||
以下の利用規約を注意深くお読みください。 SecondLifeへログインするには、
|
||||
規約に同意しなければなりません。
|
||||
|
|
|
|||
|
|
@ -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="選択したスクリプトを起動する"
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
</mimetypes>
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue