This commit is contained in:
unknown
2011-11-07 18:29:23 -05:00
247 changed files with 14864 additions and 363 deletions

View File

@@ -1,4 +0,0 @@
This is a modified version of openal-soft from GIT (56cc03860378e2758370b773b2a6f1b4e086b49a).
The modified source which this was built from is available here:
http://viewer-source-downloads.s3.amazonaws.com/install_pkgs/openal-soft-linden-56cc03860378e2758370b773b2a6f1b4e086b49a.tar.bz2

View File

@@ -1,10 +1,10 @@
# -*- cmake -*-
include(Prebuilt)
if (NOT STANDALONE)
if (NOT (STANDALONE OR DARWIN))
use_prebuilt_binary(glext)
# possible glh_linear should have its own .cmake file instead
#use_prebuilt_binary(glh_linear)
# actually... not any longer, it's now in git -SG
set(GLEXT_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include)
endif (NOT STANDALONE)
endif ()

View File

@@ -153,10 +153,10 @@ const char LAND_LAYER_CODE = 'L';
const char WATER_LAYER_CODE = 'W';
const char WIND_LAYER_CODE = '7';
const char CLOUD_LAYER_CODE = '8';
// Extended land layer for Aurora Sim
// Extended land layer for Aurora Sim
const char AURORA_LAND_LAYER_CODE = 'M';
const char AURORA_WATER_LAYER_CODE = 'X';
const char AURORA_WIND_LAYER_CODE = '9';
const char AURORA_WATER_LAYER_CODE = 'X';
const char AURORA_WIND_LAYER_CODE = '9';
const char AURORA_CLOUD_LAYER_CODE = ':';
// keys

View File

@@ -90,7 +90,7 @@ int LLPluginInstance::load(std::string &plugin_file)
#if LL_LINUX && defined(LL_STANDALONE)
void *dso_handle = dlopen(plugin_file.c_str(), RTLD_NOW | RTLD_GLOBAL);
int result = (!dso_handle)?APR_EDSOOPEN:apr_os_dso_handle_put(&mDSOHandle,
dso_handle, AIAPRRootPool::get()());
dso_handle, LLAPRRootPool::get()());
#else
int result = apr_dso_load(&mDSOHandle,
plugin_file.c_str(),

View File

@@ -277,6 +277,14 @@ LLPluginSharedMemoryPlatformImpl::~LLPluginSharedMemoryPlatformImpl()
bool LLPluginSharedMemory::map(void)
{
llassert(mSize);
if (!mSize)
{
LL_DEBUGS("Plugin") << "Tried to mmap zero length" << LL_ENDL;
return false;
}
llassert(mImpl->mSharedMemoryFD != -1);
llassert(fcntl(mImpl->mSharedMemoryFD, F_GETFL) != -1);
mMappedAddress = ::mmap(NULL, mSize, PROT_READ | PROT_WRITE, MAP_SHARED, mImpl->mSharedMemoryFD, 0);
if(mMappedAddress == NULL)
{

View File

@@ -68,6 +68,7 @@ BOOL gGLActive = FALSE;
std::ofstream gFailLog;
#if !LL_DARWIN //Darwin doesn't load extensions that way! -SG
void* gl_get_proc_address(const char *pStr)
{
void* pPtr = (void*)GLH_EXT_GET_PROC_ADDRESS(pStr);
@@ -77,6 +78,7 @@ void* gl_get_proc_address(const char *pStr)
}
#undef GLH_EXT_GET_PROC_ADDRESS
#define GLH_EXT_GET_PROC_ADDRESS(p) gl_get_proc_address(p)
#endif //!LL_DARWIN
void ll_init_fail_log(std::string filename)
{

View File

@@ -58,6 +58,7 @@ using std::string;
GLhandleARB LLGLSLShader::sCurBoundShader = 0;
LLGLSLShader* LLGLSLShader::sCurBoundShaderPtr = NULL;
S32 LLGLSLShader::sIndexedTextureChannels = 0;
bool LLGLSLShader::sNoFixedFunction = false;
//UI shader -- declared here so llui_libtest will link properly

View File

@@ -77,6 +77,7 @@ public:
static GLhandleARB sCurBoundShader;
static LLGLSLShader* sCurBoundShaderPtr;
static S32 sIndexedTextureChannels;
static bool sNoFixedFunction;
void unload();

View File

@@ -36,6 +36,8 @@
#include "llfile.h"
#include "llrender.h"
#include "llcontrol.h" //for LLCachedControl
#include "lldir.h" //for gDirUtilp
#if LL_DARWIN
#include "OpenGL/OpenGL.h"
@@ -250,7 +252,7 @@ BOOL LLShaderMgr::attachShaderFeatures(LLGLSLShader * shader)
return FALSE;
}
}
shader->mFeatures.mIndexedTextureChannels = gGLManager.mNumTextureImageUnits-1;
shader->mFeatures.mIndexedTextureChannels = llmax(LLGLSLShader::sIndexedTextureChannels-1, 1);
}
}
@@ -289,7 +291,7 @@ BOOL LLShaderMgr::attachShaderFeatures(LLGLSLShader * shader)
return FALSE;
}
}
shader->mFeatures.mIndexedTextureChannels = gGLManager.mNumTextureImageUnits-1;
shader->mFeatures.mIndexedTextureChannels = llmax(LLGLSLShader::sIndexedTextureChannels-1, 1);
}
}
}
@@ -313,7 +315,7 @@ BOOL LLShaderMgr::attachShaderFeatures(LLGLSLShader * shader)
{
return FALSE;
}
shader->mFeatures.mIndexedTextureChannels = gGLManager.mNumTextureImageUnits-1;
shader->mFeatures.mIndexedTextureChannels = llmax(LLGLSLShader::sIndexedTextureChannels-1, 1);
}
}
else if (features->hasWaterFog)
@@ -345,7 +347,7 @@ BOOL LLShaderMgr::attachShaderFeatures(LLGLSLShader * shader)
{
return FALSE;
}
shader->mFeatures.mIndexedTextureChannels = gGLManager.mNumTextureImageUnits-1;
shader->mFeatures.mIndexedTextureChannels = llmax(LLGLSLShader::sIndexedTextureChannels-1, 1);
}
}
@@ -364,7 +366,7 @@ BOOL LLShaderMgr::attachShaderFeatures(LLGLSLShader * shader)
{
return FALSE;
}
shader->mFeatures.mIndexedTextureChannels = gGLManager.mNumTextureImageUnits-1;
shader->mFeatures.mIndexedTextureChannels = llmax(LLGLSLShader::sIndexedTextureChannels-1, 1);
}
}
@@ -404,7 +406,7 @@ BOOL LLShaderMgr::attachShaderFeatures(LLGLSLShader * shader)
return FALSE;
}
}
shader->mFeatures.mIndexedTextureChannels = gGLManager.mNumTextureImageUnits-1;
shader->mFeatures.mIndexedTextureChannels = llmax(LLGLSLShader::sIndexedTextureChannels-1, 1);
}
}
}
@@ -428,7 +430,7 @@ BOOL LLShaderMgr::attachShaderFeatures(LLGLSLShader * shader)
{
return FALSE;
}
shader->mFeatures.mIndexedTextureChannels = gGLManager.mNumTextureImageUnits-1;
shader->mFeatures.mIndexedTextureChannels = llmax(LLGLSLShader::sIndexedTextureChannels-1, 1);
}
}
@@ -447,7 +449,7 @@ BOOL LLShaderMgr::attachShaderFeatures(LLGLSLShader * shader)
{
return FALSE;
}
shader->mFeatures.mIndexedTextureChannels = gGLManager.mNumTextureImageUnits-1;
shader->mFeatures.mIndexedTextureChannels = llmax(LLGLSLShader::sIndexedTextureChannels-1, 1);
}
}
}
@@ -606,7 +608,8 @@ GLhandleARB LLShaderMgr::loadShaderFile(const std::string& filename, S32 & shade
text[count++] = strdup(decl.c_str());
}
text[count++] = strdup("varying float vary_texture_index;\n");
if(texture_index_channels != 1)
text[count++] = strdup("varying float vary_texture_index;\n");
text[count++] = strdup("vec4 diffuseLookup(vec2 texcoord)\n");
text[count++] = strdup("{\n");
@@ -701,6 +704,8 @@ GLhandleARB LLShaderMgr::loadShaderFile(const std::string& filename, S32 & shade
}
}
std::string error_str;
if (error == GL_NO_ERROR)
{
//check for errors
@@ -714,6 +719,7 @@ GLhandleARB LLShaderMgr::loadShaderFile(const std::string& filename, S32 & shade
//an error occured, print log
LL_WARNS("ShaderLoading") << "GLSL Compilation Error: (" << error << ") in " << filename << LL_ENDL;
dumpObjectLog(ret);
error_str = get_object_log(ret);
std::stringstream ostr;
//dump shader source for debugging
@@ -732,6 +738,32 @@ GLhandleARB LLShaderMgr::loadShaderFile(const std::string& filename, S32 & shade
{
ret = 0;
}
static const LLCachedControl<bool> dump_raw_shaders("ShyotlDumpRawShaders",false);
if(dump_raw_shaders || ret)
{
std::stringstream ostr;
for (GLuint i = 0; i < count; i++)
{
ostr << text[i];
}
std::string delim = gDirUtilp->getDirDelimiter();
std::string shader_name = filename.substr(filename.find_last_of("/")+1); //shader_name.glsl
shader_name = shader_name.substr(0,shader_name.find_last_of(".")); //shader_name
std::string maindir = gDirUtilp->getExpandedFilename(LL_PATH_LOGS,"shader_dump"+delim);
//mkdir is NOT recursive. Step through the folders one by one.
LLFile::mkdir(maindir); //..Roaming/SecondLife/logs/shader_dump/
LLFile::mkdir(maindir+="class" + llformat("%i",gpu_class) + delim); //..shader_dump/class1/
LLFile::mkdir(maindir+=filename.substr(0,filename.find_last_of("/")+1)); //..shader_dump/class1/windlight/
LLAPRFile file(maindir + shader_name + (ret ? "" : llformat("_FAILED(%i)",error)) + ".glsl", LL_APR_W);
file.write(ostr.str().c_str(),ostr.str().length());
if(!error_str.empty())
{
LLAPRFile file2(maindir + shader_name + "_ERROR" + ".txt", LL_APR_W);
file.write(error_str.c_str(),error_str.length());
}
}
stop_glerror();
//free memory

View File

@@ -474,42 +474,7 @@
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>ShyotlRenderVBOStrideMode</key>
<map>
<key>Comment</key>
<string>0 = Standard behavior
1 = Force strided VBOs
2 = Force unstrided(dense) VBOs</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>U32</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>ShyotlUseLegacyRenderPath</key>
<map>
<key>Comment</key>
<string>Use deprecated pre-3.x OpenGL api calls.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>ShyotlUseLegacyTextureBatching</key>
<map>
<key>Comment</key>
<string>Disable usage of extra samplers in shaders. Decreases batch sizes, however also reduces branching in shaders drastcially.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
</map>
<key>ResetFocusOnSelfClick</key>
<map>
<key>Comment</key>

View File

@@ -168,5 +168,84 @@
<key>Value</key>
<real>10.0</real>
</map>
<key>ShyotlRenderVBOStrideMode</key>
<map>
<key>Comment</key>
<string>0 = Standard behavior
1 = Force strided VBOs
2 = Force unstrided(dense) VBOs</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>U32</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>ShyotlUseLegacyRenderPath</key>
<map>
<key>Comment</key>
<string>Use deprecated pre-3.x OpenGL api calls.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>ShyotlUseLegacyTextureBatching</key>
<map>
<key>Comment</key>
<string>Disable usage of extra samplers in shaders. Decreases batch sizes, however also reduces branching in shaders drastically.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>ShyotlUseLegacyDynamicTexture</key>
<map>
<key>Comment</key>
<string>Disable shader path when rendering dynamic textures.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>ShyotlUseLegacyTextureBaking</key>
<map>
<key>Comment</key>
<string>Disable shader path when generating baked textures.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>1</integer>
</map>
<key>ShyotlDumpRawShaders</key>
<map>
<key>Comment</key>
<string>Dump shader data being passed to glShaderSourceARB.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>ShyotlDrawOrphanAttachments</key>
<map>
<key>Comment</key>
<string>Render attachments lacking an 'alive' owner.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
</map>
</llsd>

View File

@@ -11,6 +11,6 @@ void main()
//transform vertex
gl_Position = gl_ModelViewProjectionMatrix*gl_Vertex;
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
gl_TexCoord[1] = gl_TextureMatrix[1] * gl_MultiTexCoord1;
gl_TexCoord[1] = gl_TextureMatrix[0] * gl_MultiTexCoord1;
gl_FrontColor = gl_Color;
}

View File

@@ -4,28 +4,28 @@
uniform sampler2DRect RenderTexture;
uniform int horizontalPass;
uniform float offset[2] = float[2]( 1.3846153846, 3.2307692308 );
uniform float weight[3] = float[3]( 0.2270270270, 0.3162162162, 0.0702702703 );
vec2 offset = vec2( 1.3846153846, 3.2307692308 );
vec3 weight = vec3( 0.2270270270, 0.3162162162, 0.0702702703 );
void main(void)
{
vec4 color = texture2DRect(RenderTexture, gl_TexCoord[0].st)*weight[0];
vec4 color = texture2DRect(RenderTexture, gl_TexCoord[0].st)*weight.x;
if(horizontalPass == 1)
{
color += weight[1] * texture2DRect(RenderTexture, vec2(gl_TexCoord[0].x+offset[0],gl_TexCoord[0].y));
color += weight[1] * texture2DRect(RenderTexture, vec2(gl_TexCoord[0].x-offset[0],gl_TexCoord[0].y));
color += weight[2] * texture2DRect(RenderTexture, vec2(gl_TexCoord[0].x+offset[1],gl_TexCoord[0].y));
color += weight[2] * texture2DRect(RenderTexture, vec2(gl_TexCoord[0].x-offset[1],gl_TexCoord[0].y));
color += weight.y * texture2DRect(RenderTexture, vec2(gl_TexCoord[0].x+offset.x,gl_TexCoord[0].y));
color += weight.y * texture2DRect(RenderTexture, vec2(gl_TexCoord[0].x-offset.x,gl_TexCoord[0].y));
color += weight.z * texture2DRect(RenderTexture, vec2(gl_TexCoord[0].x+offset.y,gl_TexCoord[0].y));
color += weight.z * texture2DRect(RenderTexture, vec2(gl_TexCoord[0].x-offset.y,gl_TexCoord[0].y));
}
else
{
color += weight[1] * texture2DRect(RenderTexture, vec2(gl_TexCoord[0].x,gl_TexCoord[0].y+offset[0]));
color += weight[1] * texture2DRect(RenderTexture, vec2(gl_TexCoord[0].x,gl_TexCoord[0].y-offset[0]));
color += weight[2] * texture2DRect(RenderTexture, vec2(gl_TexCoord[0].x,gl_TexCoord[0].y+offset[1]));
color += weight[2] * texture2DRect(RenderTexture, vec2(gl_TexCoord[0].x,gl_TexCoord[0].y-offset[1]));
color += weight.y * texture2DRect(RenderTexture, vec2(gl_TexCoord[0].x,gl_TexCoord[0].y+offset.x));
color += weight.y * texture2DRect(RenderTexture, vec2(gl_TexCoord[0].x,gl_TexCoord[0].y-offset.x));
color += weight.z * texture2DRect(RenderTexture, vec2(gl_TexCoord[0].x,gl_TexCoord[0].y+offset.y));
color += weight.z * texture2DRect(RenderTexture, vec2(gl_TexCoord[0].x,gl_TexCoord[0].y-offset.y));
}
gl_FragColor = color;
}
}

View File

@@ -327,6 +327,7 @@ int HippoRestRequest::getBlocking(const std::string &url, std::string *result)
curl_easy_setopt(curlp, CURLOPT_NOSIGNAL, 1); // don't use SIGALRM for timeouts
curl_easy_setopt(curlp, CURLOPT_TIMEOUT, 5); // seconds
curl_easy_setopt(curlp, CURLOPT_CAINFO, gDirUtilp->getCAFile().c_str());
curl_easy_setopt(curlp, CURLOPT_WRITEFUNCTION, curlWrite);
curl_easy_setopt(curlp, CURLOPT_WRITEDATA, result);

View File

@@ -265,6 +265,9 @@ void LLAgent::init()
// LLDebugVarMessageBox::show("Camera Lag", &CAMERA_FOCUS_HALF_LIFE, 0.5f, 0.01f);
*mEffectColor = gSavedSettings.getColor4("EffectColor");
gSavedSettings.getControl("PreferredMaturity")->getValidateSignal()->connect(boost::bind(&LLAgent::validateMaturity, this, _2));
gSavedSettings.getControl("PreferredMaturity")->getSignal()->connect(boost::bind(&LLAgent::handleMaturity, this, _2));
mInitialized = TRUE;
}
@@ -2377,6 +2380,15 @@ const LLAgentAccess& LLAgent::getAgentAccess()
return *mAgentAccess;
}
bool LLAgent::validateMaturity(const LLSD& newvalue)
{
return mAgentAccess->canSetMaturity(newvalue.asInteger());
}
void LLAgent::handleMaturity(const LLSD& newvalue)
{
sendMaturityPreferenceToServer(newvalue.asInteger());
}
void LLAgent::buildFullname(std::string& name) const
{

View File

@@ -661,6 +661,10 @@ public:
static int convertTextToMaturity(char text);
bool sendMaturityPreferenceToServer(int preferredMaturity); // ! "U8" instead of "int"?
// Maturity callbacks for PreferredMaturity control variable
void handleMaturity(const LLSD& newvalue);
bool validateMaturity(const LLSD& newvalue);
/** Access

View File

@@ -172,6 +172,7 @@ int LLAgentAccess::convertTextToMaturity(char text)
void LLAgentAccess::setMaturity(char text)
{
mAccess = LLAgentAccess::convertTextToMaturity(text);
llinfos << "Setting agent maturity to " << text << " " << (int)mAccess << llendl;
U32 preferred_access = mSavedSettings.getU32("PreferredMaturity");
while (!canSetMaturity(preferred_access))
{

View File

@@ -1130,6 +1130,9 @@ void LLAgentWearables::makeNewOutfit(
if( old_wearable )
{
LLViewerInventoryItem* item = gInventory.getItem(getWearableItemID((LLWearableType::EType)index));
llassert(item);
if (!item)
continue;
if (fUseOutfits)
{
std::string strOrdering = llformat("@%d", item->getWearableType() * 100);

View File

@@ -259,8 +259,8 @@ void LLDrawPoolAlpha::render(S32 pass)
}
}
LLGLDepthTest depth(GL_TRUE, LLDrawPoolWater::sSkipScreenCopy ||
(deferred_render && pass == 1) ? GL_TRUE : GL_FALSE);
LLGLDepthTest depth(GL_TRUE, (LLDrawPoolWater::sSkipScreenCopy ||
(deferred_render && pass == 1)) ? GL_TRUE : GL_FALSE);
if (deferred_render && pass == 1)
{

View File

@@ -793,8 +793,7 @@ void LLDrawPoolBump::endBump(U32 pass)
else
{
// Disable texture blending on unit 1
gGL.getTexUnit(1)->activate();
gGL.getTexUnit(1)->disable();
gGL.getTexUnit(1)->disable();
gGL.getTexUnit(1)->setTextureBlendType(LLTexUnit::TB_MULT);
// Disable texture blending on unit 0
@@ -1375,11 +1374,16 @@ void LLDrawPoolBump::pushBatch(LLDrawInfo& params, U32 mask, BOOL texture, BOOL
}
else
{
gGL.getTexUnit(1)->activate();
if (!gPipeline.canUseVertexShaders())
{
gGL.getTexUnit(1)->activate();
glMatrixMode(GL_TEXTURE);
glLoadMatrixf((GLfloat*) params.mTextureMatrix->mMatrix);
}
gGL.getTexUnit(0)->activate();
glMatrixMode(GL_TEXTURE);
glLoadMatrixf((GLfloat*) params.mTextureMatrix->mMatrix);
gPipeline.mTextureMatrixOps++;
gGL.getTexUnit(0)->activate();
}
glLoadMatrixf((GLfloat*) params.mTextureMatrix->mMatrix);
@@ -1416,9 +1420,14 @@ void LLDrawPoolBump::pushBatch(LLDrawInfo& params, U32 mask, BOOL texture, BOOL
}
else
{
gGL.getTexUnit(1)->activate();
glLoadIdentity();
if (!gPipeline.canUseVertexShaders())
{
gGL.getTexUnit(1)->activate();
glMatrixMode(GL_TEXTURE);
glLoadIdentity();
}
gGL.getTexUnit(0)->activate();
glMatrixMode(GL_TEXTURE);
}
glLoadIdentity();
glMatrixMode(GL_MODELVIEW);
@@ -1429,7 +1438,7 @@ void LLDrawPoolInvisible::render(S32 pass)
{ //render invisiprims
LLFastTimer t(LLFastTimer::FTM_RENDER_INVISIBLE);
if (gPipeline.canUseVertexShaders())
if (LLGLSLShader::sNoFixedFunction)
{
gOcclusionProgram.bind();
}
@@ -1441,7 +1450,7 @@ void LLDrawPoolInvisible::render(S32 pass)
gGL.setColorMask(true, false);
glStencilMask(0xFFFFFFFF);
if (gPipeline.canUseVertexShaders())
if (LLGLSLShader::sNoFixedFunction)
{
gOcclusionProgram.unbind();
}

View File

@@ -66,13 +66,16 @@ LLDrawPoolTerrain::LLDrawPoolTerrain(LLViewerTexture *texturep) :
LLFacePool(POOL_TERRAIN),
mTexturep(texturep)
{
U32 format = GL_ALPHA8;
U32 int_format = GL_ALPHA;
// Hack!
sDetailScale = 1.f/gSavedSettings.getF32("RenderTerrainScale");
sDetailMode = gSavedSettings.getS32("RenderTerrainDetail");
mAlphaRampImagep = LLViewerTextureManager::getFetchedTextureFromFile("alpha_gradient.tga",
TRUE, LLViewerTexture::BOOST_UI,
LLViewerTexture::FETCHED_TEXTURE,
GL_ALPHA8, GL_ALPHA,
format, int_format,
LLUUID("e97cf410-8e61-7005-ec06-629eba4cd1fb"));
//gGL.getTexUnit(0)->bind(mAlphaRampImagep.get());
@@ -81,7 +84,7 @@ LLDrawPoolTerrain::LLDrawPoolTerrain(LLViewerTexture *texturep) :
m2DAlphaRampImagep = LLViewerTextureManager::getFetchedTextureFromFile("alpha_gradient_2d.j2c",
TRUE, LLViewerTexture::BOOST_UI,
LLViewerTexture::FETCHED_TEXTURE,
GL_ALPHA8, GL_ALPHA,
format, int_format,
LLUUID("38b86f85-2575-52a9-a531-23108d8da837"));
//gGL.getTexUnit(0)->bind(m2DAlphaRampImagep.get());

View File

@@ -190,6 +190,7 @@ void LLDrawPoolTree::endShadowPass(S32 pass)
static const LLCachedControl<F32> render_deferred_offset("RenderDeferredSpotShadowOffset",1.f);
static const LLCachedControl<F32> render_deferred_bias("RenderDeferredSpotShadowBias",1.f);
glPolygonOffset(render_deferred_offset,render_deferred_bias);
gDeferredShadowAlphaMaskProgram.unbind();
}
void LLDrawPoolTree::renderTree(BOOL selecting)

View File

@@ -281,7 +281,7 @@ void LLDrawPoolWLSky::renderHeavenlyBodies()
if (gSky.mVOSkyp->getMoon().getDraw() && face->getGeomCount())
{
if (gPipeline.canUseVertexShaders())
if (LLGLSLShader::sNoFixedFunction)
{
gUIProgram.bind();
}
@@ -301,7 +301,7 @@ void LLDrawPoolWLSky::renderHeavenlyBodies()
LLFacePool::LLOverrideFaceColor color_override(this, color);
face->renderIndexed();
if (gPipeline.canUseVertexShaders())
if (LLGLSLShader::sNoFixedFunction)
{
gUIProgram.unbind();
}

View File

@@ -536,6 +536,8 @@ void LLFace::renderSelected(LLViewerTexture *imagep, const LLColor4& color)
else
#endif //MESH_ENABLED
{
LLGLEnable poly_offset(GL_POLYGON_OFFSET_FILL);
glPolygonOffset(-1.f,-1.f);
mVertexBuffer->setBuffer(LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_TEXCOORD0);
#if !LL_RELEASE_FOR_DOWNLOAD
LLGLState::checkClientArrays("", LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_TEXCOORD0);

View File

@@ -797,7 +797,7 @@ void LLInvFVBridge::addDeleteContextMenuOptions(menuentry_vec_t &items,
}
// "Remove link" and "Delete" are the same operation.
if (obj && obj->getIsLinkType() && !get_is_item_worn(mUUID))
if (obj && obj->getIsLinkType() /* && !get_is_item_worn(mUUID)*/)
{
items.push_back(std::string("Remove Link"));
}
@@ -4289,7 +4289,7 @@ void LLObjectBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
if (!avatarp->canAttachMoreObjects())
{
disabled_items.push_back(std::string("Object Wea"));
disabled_items.push_back(std::string("Object Wear"));
disabled_items.push_back(std::string("Object Add"));
disabled_items.push_back(std::string("Attach To"));
disabled_items.push_back(std::string("Attach To HUD"));

View File

@@ -68,7 +68,7 @@ LLIconDictionary::LLIconDictionary()
addEntry(LLInventoryIcon::ICONNAME_BODYPART_HAIR, new IconEntry("inv_item_hair.tga"));
addEntry(LLInventoryIcon::ICONNAME_BODYPART_EYES, new IconEntry("inv_item_eyes.tga"));
addEntry(LLInventoryIcon::ICONNAME_CLOTHING_SHIRT, new IconEntry("inv_item_skirt.tga"));
addEntry(LLInventoryIcon::ICONNAME_CLOTHING_SHIRT, new IconEntry("inv_item_shirt.tga"));
addEntry(LLInventoryIcon::ICONNAME_CLOTHING_PANTS, new IconEntry("inv_item_pants.tga"));
addEntry(LLInventoryIcon::ICONNAME_CLOTHING_SHOES, new IconEntry("inv_item_shoes.tga"));
addEntry(LLInventoryIcon::ICONNAME_CLOTHING_SOCKS, new IconEntry("inv_item_socks.tga"));
@@ -82,7 +82,7 @@ LLIconDictionary::LLIconDictionary()
addEntry(LLInventoryIcon::ICONNAME_ANIMATION, new IconEntry("inv_item_animation.tga"));
addEntry(LLInventoryIcon::ICONNAME_GESTURE, new IconEntry("inv_item_gesture.tga"));
addEntry(LLInventoryIcon::ICONNAME_CLOTHING_PHYSICS, new IconEntry("inv_item_physics.tga"));
addEntry(LLInventoryIcon::ICONNAME_CLOTHING_PHYSICS, new IconEntry("inv_item_physics.tga"));
addEntry(LLInventoryIcon::ICONNAME_LINKITEM, new IconEntry("inv_link_item.tga"));
addEntry(LLInventoryIcon::ICONNAME_LINKFOLDER, new IconEntry("inv_link_folder.tga"));

View File

@@ -364,7 +364,7 @@ LLVector3 LLManip::getPivotPoint()
{
if(pivot_as_percent)
offset = ((offset * .01f) - LLVector3(.5f,.5f,.5f)).scaleVec(mObjectSelection->getFirstRootObject(TRUE)->getScale());
return mObjectSelection->getFirstObject()->getPivotPositionAgent() + offset * mObjectSelection->getFirstRootObject(TRUE)->getRotation();
return mObjectSelection->getFirstRootObject(TRUE)->getPivotPositionAgent() + offset * mObjectSelection->getFirstRootObject(TRUE)->getRotation();
}
if(pivot_as_percent)
offset = ((offset * .01f) - LLVector3(.5f,.5f,.5f)).scaleVec(LLSelectMgr::getInstance()->getBBoxOfSelection().getExtentLocal());

View File

@@ -328,6 +328,8 @@ void LLNetMap::draw()
LLVector3 map_center_agent = gAgent.getPosAgentFromGlobal(mObjectImageCenterGlobal);
map_center_agent -= gAgentCamera.getCameraPositionAgent();
map_center_agent.mV[0] *= mScale/LLWorld::getInstance()->getRegionWidthInMeters();
map_center_agent.mV[1] *= mScale/LLWorld::getInstance()->getRegionWidthInMeters();
gGL.getTexUnit(0)->bind(mObjectImagep);
F32 image_half_width = 0.5f*mObjectMapPixels;

View File

@@ -1207,7 +1207,7 @@ void LLPanelFace::onClickCopy(void* userdata)
LLInventoryItem* itemp = gInventory.getItem(objectp->getTE(i)->getID());
LLUUID tex = tex_params["imageid"];
tex_params["imageid"] = LLUUID::null;
gSavedPerAccountSettings.setLLSD("Image.Settings", tex_params);
//gSavedPerAccountSettings.setLLSD("Image.Settings", tex_params);
if (itemp)
{
LLPermissions perms = itemp->getPermissions();

View File

@@ -154,22 +154,6 @@ void LLPanelGeneral::apply()
LLComboBox* crash_behavior_combobox = getChild<LLComboBox>("crash_behavior_combobox");
gCrashSettings.setS32(CRASH_BEHAVIOR_SETTING, crash_behavior_combobox->getCurrentIndex());
// if we have no agent, we can't let them choose anything
// if we have an agent, then we only let them choose if they have a choice
bool can_choose = gAgent.getID().notNull() &&
(gAgent.isMature() || gAgent.isGodlike());
if (can_choose)
{
int preferred_maturity = childGetValue("maturity_desired_combobox").asInteger();
if (preferred_maturity != gSavedSettings.getU32("PreferredMaturity"))
{
gSavedSettings.setU32("PreferredMaturity", preferred_maturity);
gAgent.sendMaturityPreferenceToServer(preferred_maturity);
}
}
}
void LLPanelGeneral::cancel()

View File

@@ -35,7 +35,7 @@
#include "v3math.h"
#include "v3dmath.h"
#include "llmemory.h"
#include "llpointer.h"
class LLSurface;
class LLVOSurfacePatch;

View File

@@ -77,6 +77,8 @@ void LLToolComposite::setCurrentTool( LLTool* new_tool )
{
if( mCur != new_tool )
{
if(new_tool)
lldebugs << "Current Tool: " << new_tool->getName() << llendl;
if( mSelected )
{
mCur->handleDeselect();

View File

@@ -738,6 +738,7 @@ void LLToolGrab::handleHoverActive(S32 x, S32 y, MASK mask)
}
// HACK to avoid assert: error checking system makes sure that the cursor is set during every handleHover. This is actually a no-op since the cursor is hidden.
gViewerWindow->hideCursor();
gViewerWindow->setCursor(UI_CURSOR_ARROW);
lldebugst(LLERR_USER_INPUT) << "hover handled by LLToolGrab (active) [cursor hidden]" << llendl;

View File

@@ -80,11 +80,11 @@ LLToolMgr::LLToolMgr()
gToolNull = new LLTool(LLStringUtil::null); // Does nothing
setCurrentTool(gToolNull);
gBasicToolset = new LLToolset();
gCameraToolset = new LLToolset();
// gLandToolset = new LLToolset();
gMouselookToolset = new LLToolset();
gFaceEditToolset = new LLToolset();
gBasicToolset = new LLToolset("Basic");
gCameraToolset = new LLToolset("Camera");
// gLandToolset = new LLToolset("Land");
gMouselookToolset = new LLToolset("MouseLook");
gFaceEditToolset = new LLToolset("FaceEdit");
}
void LLToolMgr::initTools()
@@ -149,6 +149,7 @@ void LLToolMgr::setCurrentToolset(LLToolset* current)
{
mSelectedTool->handleDeselect();
}
lldebugs << "Current tool set: " << current->getName() << llendl;
mCurrentToolset = current;
// select first tool of new toolset only if toolset changed
mCurrentToolset->selectFirstTool();
@@ -164,6 +165,8 @@ LLToolset* LLToolMgr::getCurrentToolset()
void LLToolMgr::setCurrentTool( LLTool* tool )
{
if(tool && mBaseTool!=tool)
lldebugs << "Current Tool: " << tool->getName() << llendl;
if (mTransientTool)
{
mTransientTool = NULL;

View File

@@ -93,7 +93,7 @@ protected:
class LLToolset
{
public:
LLToolset() : mSelectedTool(NULL) {}
LLToolset(const char *name) : mSelectedTool(NULL), mName(name) {}
LLTool* getSelectedTool() { return mSelectedTool; }
@@ -109,7 +109,9 @@ public:
BOOL isToolSelected( S32 index );
const char* getName() const {return mName;}
protected:
const char* mName;
LLTool* mSelectedTool;
typedef std::vector<LLTool*> tool_list_t;
tool_list_t mToolList;

View File

@@ -652,7 +652,7 @@ void settings_setup_listeners()
gSavedSettings.getControl("OctreeMaxNodeCapacity")->getSignal()->connect(boost::bind(&handleRepartition, _2));
gSavedSettings.getControl("OctreeAlphaDistanceFactor")->getSignal()->connect(boost::bind(&handleRepartition, _2));
gSavedSettings.getControl("OctreeAttachmentSizeFactor")->getSignal()->connect(boost::bind(&handleRepartition, _2));
gSavedSettings.getControl("RenderMaxTextureIndex")->getSignal()->connect(boost::bind(&handleResetVertexBuffersChanged, _2));
gSavedSettings.getControl("RenderMaxTextureIndex")->getSignal()->connect(boost::bind(&handleSetShaderChanged, _2));
gSavedSettings.getControl("RenderAnimateTrees")->getSignal()->connect(boost::bind(&handleResetVertexBuffersChanged, _2));
gSavedSettings.getControl("RenderAvatarVP")->getSignal()->connect(boost::bind(&handleSetShaderChanged, _2));
gSavedSettings.getControl("VertexShaderEnable")->getSignal()->connect(boost::bind(&handleSetShaderChanged, _2));

View File

@@ -808,7 +808,7 @@ void init_menus()
menu->appendSeparator();
menu->append(new LLMenuItemCallGL( "Fake Away Status", &handle_fake_away_status, NULL));
menu->append(new LLMenuItemCallGL( "Force Ground Sit", &handle_force_ground_sit, NULL));
menu->append(new LLMenuItemCallGL( "Phantom Avatar", &handle_phantom_avatar, NULL));
menu->append(new LLMenuItemCallGL( "Phantom Avatar", &handle_phantom_avatar, NULL, NULL, 'P', MASK_CONTROL | MASK_ALT));
menu->appendSeparator();
menu->append(new LLMenuItemCallGL( "Animation Override...",
&handle_edit_ao, NULL));

View File

@@ -32,6 +32,7 @@
#include "llviewerprecompiledheaders.h"
#include <boost/filesystem.hpp> //First, because glh_linear #defines equivalent.. which boost uses internally
#include "llfeaturemanager.h"
#include "llviewershadermgr.h"
@@ -351,10 +352,26 @@ void LLViewerShaderMgr::setShaders()
return;
}
{
const std::string dumpdir = gDirUtilp->getExpandedFilename(LL_PATH_LOGS,"shader_dump")+gDirUtilp->getDirDelimiter();
boost::filesystem::remove_all(dumpdir);
}
LLGLSLShader::sIndexedTextureChannels = llmax(llmin(gGLManager.mNumTextureImageUnits, (S32) gSavedSettings.getU32("RenderMaxTextureIndex")), 1);
static const LLCachedControl<bool> no_texture_indexing("ShyotlUseLegacyTextureBatching",false);
static const LLCachedControl<bool> use_legacy_path("ShyotlUseLegacyRenderPath", false); //Legacy does not jive with new batching.
if(no_texture_indexing || use_legacy_path)
LLGLSLShader::sIndexedTextureChannels = 1;
reentrance = true;
if (gGLManager.mGLVersion < 2.f)
{ //NEVER use shaders on a pre 2.0 context
gSavedSettings.setBOOL("VertexShaderEnable", FALSE);
}
//setup preprocessor definitions
LLShaderMgr::instance()->mDefinitions["samples"] = llformat("%d", gSavedSettings.getU32("RenderFSAASamples")/*gGLManager.getNumFBOFSAASamples(gSavedSettings.getU32("RenderFSAASamples"))*/);
LLShaderMgr::instance()->mDefinitions["NUM_TEX_UNITS"] = llformat("%d", gGLManager.mNumTextureImageUnits);
reentrance = true;
initAttribsAndUniforms();
gPipeline.releaseGLBuffers();
@@ -619,7 +636,6 @@ BOOL LLViewerShaderMgr::loadBasicShaders()
// (in order of shader function call depth for reference purposes, deepest level first)
vector< pair<string, S32> > shaders;
shaders.reserve(10);
shaders.push_back( make_pair( "windlight/atmosphericsVarsV.glsl", mVertexShaderLevel[SHADER_WINDLIGHT] ) );
shaders.push_back( make_pair( "windlight/atmosphericsHelpersV.glsl", mVertexShaderLevel[SHADER_WINDLIGHT] ) );
shaders.push_back( make_pair( "lighting/lightFuncV.glsl", mVertexShaderLevel[SHADER_LIGHTING] ) );
@@ -648,8 +664,7 @@ BOOL LLViewerShaderMgr::loadBasicShaders()
// (in order of shader function call depth for reference purposes, deepest level first)
shaders.clear();
shaders.reserve(13);
S32 ch = gGLManager.mNumTextureImageUnits-1;
S32 ch = llmax(LLGLSLShader::sIndexedTextureChannels-1, 1);
static const LLCachedControl<bool> no_texture_indexing("ShyotlUseLegacyTextureBatching",false);
static const LLCachedControl<bool> use_legacy_path("ShyotlUseLegacyRenderPath", false); //Legacy does not jive with new batching.
@@ -936,7 +951,7 @@ BOOL LLViewerShaderMgr::loadShadersDeferred()
gDeferredDiffuseProgram.mShaderFiles.clear();
gDeferredDiffuseProgram.mShaderFiles.push_back(make_pair("deferred/diffuseV.glsl", GL_VERTEX_SHADER_ARB));
gDeferredDiffuseProgram.mShaderFiles.push_back(make_pair("deferred/diffuseIndexedF.glsl", GL_FRAGMENT_SHADER_ARB));
gDeferredDiffuseProgram.mFeatures.mIndexedTextureChannels = gGLManager.mNumTextureImageUnits;
gDeferredDiffuseProgram.mFeatures.mIndexedTextureChannels = LLGLSLShader::sIndexedTextureChannels;
gDeferredDiffuseProgram.mShaderLevel = mVertexShaderLevel[SHADER_DEFERRED];
success = gDeferredDiffuseProgram.createShader(NULL, NULL);
}
@@ -947,7 +962,7 @@ BOOL LLViewerShaderMgr::loadShadersDeferred()
gDeferredDiffuseAlphaMaskProgram.mShaderFiles.clear();
gDeferredDiffuseAlphaMaskProgram.mShaderFiles.push_back(make_pair("deferred/diffuseV.glsl", GL_VERTEX_SHADER_ARB));
gDeferredDiffuseAlphaMaskProgram.mShaderFiles.push_back(make_pair("deferred/diffuseAlphaMaskIndexedF.glsl", GL_FRAGMENT_SHADER_ARB));
gDeferredDiffuseAlphaMaskProgram.mFeatures.mIndexedTextureChannels = gGLManager.mNumTextureImageUnits;
gDeferredDiffuseAlphaMaskProgram.mFeatures.mIndexedTextureChannels = LLGLSLShader::sIndexedTextureChannels;
gDeferredDiffuseAlphaMaskProgram.mShaderLevel = mVertexShaderLevel[SHADER_DEFERRED];
success = gDeferredDiffuseAlphaMaskProgram.createShader(NULL, NULL);
}
@@ -1125,11 +1140,11 @@ BOOL LLViewerShaderMgr::loadShadersDeferred()
gDeferredAlphaProgram.mFeatures.disableTextureIndex = true; //hack to disable auto-setup of texture channels
if (mVertexShaderLevel[SHADER_DEFERRED] < 1)
{
gDeferredAlphaProgram.mFeatures.mIndexedTextureChannels = gGLManager.mNumTextureImageUnits;
gDeferredAlphaProgram.mFeatures.mIndexedTextureChannels = LLGLSLShader::sIndexedTextureChannels;
}
else
{ //shave off some texture units for shadow maps
gDeferredAlphaProgram.mFeatures.mIndexedTextureChannels = gGLManager.mNumTextureImageUnits - 6;
gDeferredAlphaProgram.mFeatures.mIndexedTextureChannels = llmax(LLGLSLShader::sIndexedTextureChannels - 6, 1);
}
gDeferredAlphaProgram.mShaderFiles.clear();
@@ -1145,7 +1160,7 @@ BOOL LLViewerShaderMgr::loadShadersDeferred()
gDeferredFullbrightProgram.mFeatures.calculatesAtmospherics = true;
gDeferredFullbrightProgram.mFeatures.hasGamma = true;
gDeferredFullbrightProgram.mFeatures.hasTransport = true;
gDeferredFullbrightProgram.mFeatures.mIndexedTextureChannels = gGLManager.mNumTextureImageUnits;
gDeferredFullbrightProgram.mFeatures.mIndexedTextureChannels = LLGLSLShader::sIndexedTextureChannels;
gDeferredFullbrightProgram.mShaderFiles.clear();
gDeferredFullbrightProgram.mShaderFiles.push_back(make_pair("deferred/fullbrightV.glsl", GL_VERTEX_SHADER_ARB));
gDeferredFullbrightProgram.mShaderFiles.push_back(make_pair("deferred/fullbrightF.glsl", GL_FRAGMENT_SHADER_ARB));
@@ -1596,19 +1611,19 @@ BOOL LLViewerShaderMgr::loadShadersObject()
if (success)
{
gObjectSimpleAlphaMaskProgram.mName = "Simple Alpha Mask Shader";
gObjectSimpleAlphaMaskProgram.mFeatures.calculatesLighting = true;
gObjectSimpleAlphaMaskProgram.mFeatures.calculatesAtmospherics = true;
gObjectSimpleAlphaMaskProgram.mFeatures.hasGamma = true;
gObjectSimpleAlphaMaskProgram.mFeatures.hasAtmospherics = true;
gObjectSimpleAlphaMaskProgram.mFeatures.hasLighting = true;
gObjectSimpleAlphaMaskProgram.mFeatures.hasAlphaMask = true;
gObjectSimpleAlphaMaskProgram.mFeatures.mIndexedTextureChannels = 0;
gObjectSimpleAlphaMaskProgram.mShaderFiles.clear();
gObjectSimpleAlphaMaskProgram.mShaderFiles.push_back(make_pair("objects/simpleV.glsl", GL_VERTEX_SHADER_ARB));
gObjectSimpleAlphaMaskProgram.mShaderFiles.push_back(make_pair("objects/simpleF.glsl", GL_FRAGMENT_SHADER_ARB));
gObjectSimpleAlphaMaskProgram.mShaderLevel = mVertexShaderLevel[SHADER_OBJECT];
success = gObjectSimpleAlphaMaskProgram.createShader(NULL, NULL);
gObjectSimpleWaterProgram.mName = "Simple Water Shader";
gObjectSimpleWaterProgram.mFeatures.calculatesLighting = true;
gObjectSimpleWaterProgram.mFeatures.calculatesAtmospherics = true;
gObjectSimpleWaterProgram.mFeatures.hasWaterFog = true;
gObjectSimpleWaterProgram.mFeatures.hasAtmospherics = true;
gObjectSimpleWaterProgram.mFeatures.hasLighting = true;
gObjectSimpleWaterProgram.mFeatures.mIndexedTextureChannels = 0;
gObjectSimpleWaterProgram.mShaderFiles.clear();
gObjectSimpleWaterProgram.mShaderFiles.push_back(make_pair("objects/simpleV.glsl", GL_VERTEX_SHADER_ARB));
gObjectSimpleWaterProgram.mShaderFiles.push_back(make_pair("objects/simpleWaterF.glsl", GL_FRAGMENT_SHADER_ARB));
gObjectSimpleWaterProgram.mShaderLevel = mVertexShaderLevel[SHADER_OBJECT];
gObjectSimpleWaterProgram.mShaderGroup = LLGLSLShader::SG_WATER;
success = gObjectSimpleWaterProgram.createShader(NULL, NULL);
}
if (success)
@@ -1625,25 +1640,34 @@ BOOL LLViewerShaderMgr::loadShadersObject()
gObjectBumpProgram.mShaderFiles.push_back(make_pair("objects/bumpF.glsl", GL_FRAGMENT_SHADER_ARB));
gObjectBumpProgram.mShaderLevel = mVertexShaderLevel[SHADER_OBJECT];
success = gObjectBumpProgram.createShader(NULL, NULL);
if (success)
{ //lldrawpoolbump assumes "texture0" has channel 0 and "texture1" has channel 1
gObjectBumpProgram.bind();
gObjectBumpProgram.uniform1i("texture0", 0);
gObjectBumpProgram.uniform1i("texture1", 1);
gObjectBumpProgram.unbind();
}
}
if (success)
{
gObjectSimpleWaterProgram.mName = "Simple Water Shader";
gObjectSimpleWaterProgram.mFeatures.calculatesLighting = true;
gObjectSimpleWaterProgram.mFeatures.calculatesAtmospherics = true;
gObjectSimpleWaterProgram.mFeatures.hasWaterFog = true;
gObjectSimpleWaterProgram.mFeatures.hasAtmospherics = true;
gObjectSimpleWaterProgram.mFeatures.hasLighting = true;
gObjectSimpleWaterProgram.mFeatures.mIndexedTextureChannels = 0;
gObjectSimpleWaterProgram.mShaderFiles.clear();
gObjectSimpleWaterProgram.mShaderFiles.push_back(make_pair("objects/simpleV.glsl", GL_VERTEX_SHADER_ARB));
gObjectSimpleWaterProgram.mShaderFiles.push_back(make_pair("objects/simpleWaterF.glsl", GL_FRAGMENT_SHADER_ARB));
gObjectSimpleWaterProgram.mShaderLevel = mVertexShaderLevel[SHADER_OBJECT];
gObjectSimpleWaterProgram.mShaderGroup = LLGLSLShader::SG_WATER;
success = gObjectSimpleWaterProgram.createShader(NULL, NULL);
gObjectSimpleAlphaMaskProgram.mName = "Simple Alpha Mask Shader";
gObjectSimpleAlphaMaskProgram.mFeatures.calculatesLighting = true;
gObjectSimpleAlphaMaskProgram.mFeatures.calculatesAtmospherics = true;
gObjectSimpleAlphaMaskProgram.mFeatures.hasGamma = true;
gObjectSimpleAlphaMaskProgram.mFeatures.hasAtmospherics = true;
gObjectSimpleAlphaMaskProgram.mFeatures.hasLighting = true;
gObjectSimpleAlphaMaskProgram.mFeatures.hasAlphaMask = true;
gObjectSimpleAlphaMaskProgram.mFeatures.mIndexedTextureChannels = 0;
gObjectSimpleAlphaMaskProgram.mShaderFiles.clear();
gObjectSimpleAlphaMaskProgram.mShaderFiles.push_back(make_pair("objects/simpleV.glsl", GL_VERTEX_SHADER_ARB));
gObjectSimpleAlphaMaskProgram.mShaderFiles.push_back(make_pair("objects/simpleF.glsl", GL_FRAGMENT_SHADER_ARB));
gObjectSimpleAlphaMaskProgram.mShaderLevel = mVertexShaderLevel[SHADER_OBJECT];
success = gObjectSimpleAlphaMaskProgram.createShader(NULL, NULL);
}
if (success)
{
gObjectSimpleWaterAlphaMaskProgram.mName = "Simple Water Alpha Mask Shader";

View File

@@ -159,7 +159,7 @@ void LLViewerTextureList::doPreloadImages()
image->setAddressMode(LLTexUnit::TAM_WRAP);
mImagePreloads.insert(image);
}
image = LLViewerTextureManager::getFetchedTextureFromFile("8dcd4a48-2d37-4909-9f78-f7a9eb4ef903.j2c"/*"transparent.j2c"*/, MIPMAP_YES, LLViewerFetchedTexture::BOOST_UI, LLViewerTexture::FETCHED_TEXTURE,
image = LLViewerTextureManager::getFetchedTextureFromFile("transparent.j2c", MIPMAP_YES, LLViewerFetchedTexture::BOOST_UI, LLViewerTexture::FETCHED_TEXTURE,
0,0,LLUUID("8dcd4a48-2d37-4909-9f78-f7a9eb4ef903"));
if (image)
{

View File

@@ -4481,7 +4481,7 @@ BOOL LLViewerWindow::rawSnapshot(LLImageRaw *raw, S32 image_width, S32 image_hei
gPipeline.resetDrawOrders();
}
if (high_res && (show_ui || !hide_hud))
if (high_res)
{
send_agent_resume();
}

View File

@@ -213,12 +213,13 @@ void LLVOClouds::getGeometry(S32 te,
color.setVec(float_color);
facep->setFaceColor(float_color);
LLVector3 up;
LLVector3 right;
LLVector3 at;
LLVector4a puff_pos_agent;
puff_pos_agent.load3(facep->mCenterLocal.mV);
LLVector4a at;
at.load3(LLViewerCamera::getInstance()->getAtAxis().mV);
LLVector4a up(0, 0, 1);
LLVector4a right;
const LLVector3& puff_pos_agent = facep->mCenterLocal;
LLVector2 uvs[4];
uvs[0].setVec(0.f, 1.f);
@@ -226,34 +227,43 @@ void LLVOClouds::getGeometry(S32 te,
uvs[2].setVec(1.f, 1.f);
uvs[3].setVec(1.f, 0.f);
LLVector3 vtx[4];
at = LLViewerCamera::getInstance()->getAtAxis();
right = at % LLVector3(0.f, 0.f, 1.f);
right.normVec();
up = right % at;
up.normVec();
right *= 0.5f*CLOUD_PUFF_WIDTH;
up *= 0.5f*CLOUD_PUFF_HEIGHT;;
right.setCross3(at, up);
right.normalize3fast();
up.setCross3(right, at);
up.normalize3fast();
right.mul(0.5f*CLOUD_PUFF_WIDTH);
up.mul(0.5f*CLOUD_PUFF_HEIGHT);
*colorsp++ = color;
*colorsp++ = color;
*colorsp++ = color;
*colorsp++ = color;
vtx[0] = puff_pos_agent - right + up;
vtx[1] = puff_pos_agent - right - up;
vtx[2] = puff_pos_agent + right + up;
vtx[3] = puff_pos_agent + right - up;
LLVector4a ppapu;
LLVector4a ppamu;
ppapu.setAdd(puff_pos_agent, up);
ppamu.setSub(puff_pos_agent, up);
LLVector4a vtx[4];
vtx[0].setSub(ppapu, right);
vtx[1].setSub(ppamu, right);
vtx[2].setAdd(ppapu, right);
vtx[3].setAdd(ppamu, right);
*(verticesp->mV+3) = 0.f;
*verticesp++ = vtx[0];
*(verticesp->mV+3) = 0.f;
*verticesp++ = vtx[1];
*(verticesp->mV+3) = 0.f;
*verticesp++ = vtx[2];
*(verticesp->mV+3) = 0.f;
*verticesp++ = vtx[3];;
verticesp->set(vtx[0].getF32ptr());
*((verticesp++)->mV+3) = 0.f;
verticesp->set(vtx[1].getF32ptr());
*((verticesp++)->mV+3) = 0.f;
verticesp->set(vtx[2].getF32ptr());
*((verticesp++)->mV+3) = 0.f;
verticesp->set(vtx[3].getF32ptr());
*((verticesp++)->mV+3) = 0.f;
//*verticesp++ = puff_pos_agent - right + up;
//*verticesp++ = puff_pos_agent - right - up;
//*verticesp++ = puff_pos_agent + right + up;
//*verticesp++ = puff_pos_agent + right - up;
*texcoordsp++ = uvs[0];
*texcoordsp++ = uvs[1];

View File

@@ -289,37 +289,54 @@ void LLVOPartGroup::getGeometry(S32 idx,
U32 vert_offset = mDrawable->getFace(idx)->getGeomIndex();
LLVector3 part_pos_agent(part.mPosAgent);
LLVector3 camera_agent = getCameraPosition();
LLVector3 at = part_pos_agent - camera_agent;
LLVector3 up;
LLVector3 right;
LLVector4a part_pos_agent;
part_pos_agent.load3(part.mPosAgent.mV);
LLVector4a camera_agent;
camera_agent.load3(getCameraPosition().mV);
LLVector4a at;
at.setSub(part_pos_agent, camera_agent);
LLVector4a up(0, 0, 1);
LLVector4a right;
right = at % LLVector3(0.f, 0.f, 1.f);
right.normalize();
up = right % at;
up.normalize();
right.setCross3(at, up);
right.normalize3fast();
up.setCross3(right, at);
up.normalize3fast();
if (part.mFlags & LLPartData::LL_PART_FOLLOW_VELOCITY_MASK)
{
LLVector3 normvel = part.mVelocity;
normvel.normalize();
LLVector4a normvel;
normvel.load3(part.mVelocity.mV);
normvel.normalize3fast();
LLVector2 up_fracs;
up_fracs.mV[0] = normvel*right;
up_fracs.mV[1] = normvel*up;
up_fracs.mV[0] = normvel.dot3(right).getF32();
up_fracs.mV[1] = normvel.dot3(up).getF32();
up_fracs.normalize();
LLVector3 new_up;
LLVector3 new_right;
new_up = up_fracs.mV[0] * right + up_fracs.mV[1]*up;
new_right = up_fracs.mV[1] * right - up_fracs.mV[0]*up;
LLVector4a new_up;
LLVector4a new_right;
//new_up = up_fracs.mV[0] * right + up_fracs.mV[1]*up;
LLVector4a t = right;
t.mul(up_fracs.mV[0]);
new_up = up;
new_up.mul(up_fracs.mV[1]);
new_up.add(t);
//new_right = up_fracs.mV[1] * right - up_fracs.mV[0]*up;
t = right;
t.mul(up_fracs.mV[1]);
new_right = up;
new_right.mul(up_fracs.mV[0]);
t.sub(new_right);
up = new_up;
right = new_right;
up.normalize();
right.normalize();
right = t;
up.normalize3fast();
right.normalize3fast();
}
right *= 0.5f*part.mScale.mV[0];
up *= 0.5f*part.mScale.mV[1];
right.mul(0.5f*part.mScale.mV[0]);
up.mul(0.5f*part.mScale.mV[1]);
LLVector3 normal = -LLViewerCamera::getInstance()->getXAxis();
@@ -328,14 +345,31 @@ void LLVOPartGroup::getGeometry(S32 idx,
// this works because there is actually a 4th float stored after the vertex position which is used as a texture index
// also, somebody please VECTORIZE THIS
*(verticesp->mV+3) = 0.f;
*verticesp++ = part_pos_agent + up - right;
*(verticesp->mV+3) = 0.f;
*verticesp++ = part_pos_agent - up - right;
*(verticesp->mV+3) = 0.f;
*verticesp++ = part_pos_agent + up + right;
*(verticesp->mV+3) = 0.f;
*verticesp++ = part_pos_agent - up + right;
LLVector4a ppapu;
LLVector4a ppamu;
ppapu.setAdd(part_pos_agent, up);
ppamu.setSub(part_pos_agent, up);
LLVector4a vtx[4];
vtx[0].setSub(ppapu, right);
vtx[1].setSub(ppamu, right);
vtx[2].setAdd(ppapu, right);
vtx[3].setAdd(ppamu, right);
verticesp->set(vtx[0].getF32ptr());
*((verticesp++)->mV+3) = 0.f;
verticesp->set(vtx[1].getF32ptr());
*((verticesp++)->mV+3) = 0.f;
verticesp->set(vtx[2].getF32ptr());
*((verticesp++)->mV+3) = 0.f;
verticesp->set(vtx[3].getF32ptr());
*((verticesp++)->mV+3) = 0.f;
//*verticesp++ = part_pos_agent + up - right;
//*verticesp++ = part_pos_agent - up - right;
//*verticesp++ = part_pos_agent + up + right;
//*verticesp++ = part_pos_agent - up + right;
*colorsp++ = part.mColor;
*colorsp++ = part.mColor;

View File

@@ -3924,7 +3924,7 @@ void LLVolumeGeometryManager::genDrawInfo(LLSpatialGroup* group, U32 mask, std::
buffer_index = -1;
}
S32 texture_index_channels = gGLManager.mNumTextureImageUnits-1; //always reserve one for shiny for now just for simplicity
S32 texture_index_channels = llmax(LLGLSLShader::sIndexedTextureChannels-1,1); //always reserve one for shiny for now just for simplicity
static const LLCachedControl<bool> no_texture_indexing("ShyotlUseLegacyTextureBatching",false);
static const LLCachedControl<bool> use_legacy_path("ShyotlUseLegacyRenderPath", false); //Legacy does not jive with new batching.

View File

@@ -136,6 +136,12 @@ void LLWorld::destroyClass()
LLVOCache::getInstance()->destroyClass() ;
}
LLViewerPartSim::getInstance()->destroyClass();
mDefaultWaterTexturep = NULL ;
for (S32 i = 0; i < 8; i++)
{
mEdgeWaterObjects[i] = NULL;
}
}
@@ -172,11 +178,11 @@ LLViewerRegion* LLWorld::addRegion(const U64 &region_handle, const LLHost &host,
U32 iindex = 0;
U32 jindex = 0;
mWidth = region_size_x;
mWidthInMeters = mWidth * mScale;
mWidth = region_size_x; //MegaRegion
mWidthInMeters = mWidth * mScale; //MegaRegion
from_region_handle(region_handle, &iindex, &jindex);
S32 x = (S32)(iindex/256);
S32 y = (S32)(jindex/256);
S32 x = (S32)(iindex/256); //MegaRegion
S32 y = (S32)(jindex/256); //MegaRegion
llinfos << "Adding new region (" << x << ":" << y << ")" << llendl;
llinfos << "Host: " << host << llendl;
@@ -194,6 +200,7 @@ LLViewerRegion* LLWorld::addRegion(const U64 &region_handle, const LLHost &host,
llerrs << "Unable to create new region!" << llendl;
}
//Classic clouds
regionp->mCloudLayer.create(regionp);
regionp->mCloudLayer.setWidth((F32)mWidth);
regionp->mCloudLayer.setWindPointer(&regionp->mWind);
@@ -597,25 +604,25 @@ void LLWorld::updateVisibilities()
{
F32 cur_far_clip = LLViewerCamera::getInstance()->getFar();
LLViewerCamera::getInstance()->setFar(mLandFarClip);
F32 diagonal_squared = F_SQRT2 * F_SQRT2 * mWidth * mWidth;
// Go through the culled list and check for visible regions
for (region_list_t::iterator iter = mCulledRegionList.begin();
iter != mCulledRegionList.end(); )
iter != mCulledRegionList.end(); )
{
region_list_t::iterator curiter = iter++;
LLViewerRegion* regionp = *curiter;
F32 height = regionp->getLand().getMaxZ() - regionp->getLand().getMinZ();
F32 radius = 0.5f*(F32) sqrt(height * height + diagonal_squared);
if (!regionp->getLand().hasZData()
|| LLViewerCamera::getInstance()->sphereInFrustum(regionp->getCenterAgent(), radius))
LLSpatialPartition* part = regionp->getSpatialPartition(LLViewerRegion::PARTITION_TERRAIN);
if (part)
{
mCulledRegionList.erase(curiter);
mVisibleRegionList.push_back(regionp);
LLSpatialGroup* group = (LLSpatialGroup*) part->mOctree->getListener(0);
if (LLViewerCamera::getInstance()->AABBInFrustum(group->mBounds[0], group->mBounds[1]))
{
mCulledRegionList.erase(curiter);
mVisibleRegionList.push_back(regionp);
}
}
}
}
// Update all of the visible regions
for (region_list_t::iterator iter = mVisibleRegionList.begin();
iter != mVisibleRegionList.end(); )
@@ -627,20 +634,23 @@ void LLWorld::updateVisibilities()
continue;
}
F32 height = regionp->getLand().getMaxZ() - regionp->getLand().getMinZ();
F32 radius = 0.5f*(F32) sqrt(height * height + diagonal_squared);
if (LLViewerCamera::getInstance()->sphereInFrustum(regionp->getCenterAgent(), radius))
LLSpatialPartition* part = regionp->getSpatialPartition(LLViewerRegion::PARTITION_TERRAIN);
if (part)
{
regionp->calculateCameraDistance();
if (!gNoRender)
LLSpatialGroup* group = (LLSpatialGroup*) part->mOctree->getListener(0);
if (LLViewerCamera::getInstance()->AABBInFrustum(group->mBounds[0], group->mBounds[1]))
{
regionp->getLand().updatePatchVisibilities(gAgent);
regionp->calculateCameraDistance();
if (!gNoRender)
{
regionp->getLand().updatePatchVisibilities(gAgent);
}
}
else
{
mVisibleRegionList.erase(curiter);
mCulledRegionList.push_back(regionp);
}
}
else
{
mVisibleRegionList.erase(curiter);
mCulledRegionList.push_back(regionp);
}
}

View File

@@ -295,25 +295,25 @@ LLSimInfo* LLWorldMap::simInfoFromPosGlobal(const LLVector3d& pos_global)
LLSimInfo* LLWorldMap::simInfoFromHandle(const U64 findhandle)
{
std::map<U64, LLSimInfo*>::const_iterator it;
for (it = LLWorldMap::getInstance()->mSimInfoMap.begin(); it != LLWorldMap::getInstance()->mSimInfoMap.end(); ++it)
{
const U64 handle = (*it).first;
LLSimInfo* info = (*it).second;
if(handle == findhandle)
{
return info;
}
U32 x = 0, y = 0;
from_region_handle(findhandle, &x, &y);
U32 checkRegionX, checkRegionY;
from_region_handle(handle, &checkRegionX, &checkRegionY);
if(x >= checkRegionX && x < (checkRegionX + info->getSizeX()) &&
y >= checkRegionY && y < (checkRegionY + info->getSizeY()))
{
return info;
}
std::map<U64, LLSimInfo*>::const_iterator it;
for (it = LLWorldMap::getInstance()->mSimInfoMap.begin(); it != LLWorldMap::getInstance()->mSimInfoMap.end(); ++it)
{
const U64 handle = (*it).first;
LLSimInfo* info = (*it).second;
if(handle == findhandle)
{
return info;
}
U32 x = 0, y = 0;
from_region_handle(findhandle, &x, &y);
U32 checkRegionX, checkRegionY;
from_region_handle(handle, &checkRegionX, &checkRegionY);
if(x >= checkRegionX && x < (checkRegionX + info->getSizeX()) &&
y >= checkRegionY && y < (checkRegionY + info->getSizeY()))
{
return info;
}
}
return NULL;
}
@@ -1154,3 +1154,20 @@ void LLWorldMap::dropImagePriorities()
info->dropImagePriority();
}
}
LLPointer<LLViewerFetchedTexture> LLSimInfo::getLandForSaleImage ()
{
if (mOverlayImage.isNull() && mMapImageID[2].notNull())
{
// Fetch the image if it hasn't been done yet (unlikely but...)
mOverlayImage = LLViewerTextureManager::getFetchedTexture(mMapImageID[2], MIPMAP_TRUE, LLViewerTexture::BOOST_MAP, LLViewerTexture::LOD_TEXTURE);
mOverlayImage->setAddressMode(LLTexUnit::TAM_CLAMP);
}
if (!mOverlayImage.isNull())
{
// Boost the fetch level when we try to access that image
mOverlayImage->setBoostLevel(LLViewerTexture::BOOST_MAP);
}
return mOverlayImage;
}

View File

@@ -97,6 +97,7 @@ public:
void clearImage(); // Clears the reference to the Land for sale image for that region
void dropImagePriority(); // Drops the boost level of the Land for sale image for that region
LLPointer<LLViewerFetchedTexture> getLandForSaleImage(); // Get the overlay image, fetch it if necessary
void updateAgentCount(F64 time); // Send an item request for agent count on that region if time's up
// Setters
void setName(std::string& name) { mName = name; }

View File

@@ -123,9 +123,10 @@ F32 CONE_SIZE = 0.6f;
std::map<std::string,std::string> LLWorldMapView::sStringsMap;
#define SIM_NULL_MAP_SCALE 4 // width in pixels, where we start drawing "null" sims
#define SIM_MAP_AGENT_SCALE 8 // width in pixels, where we start drawing agents
#define SIM_MAP_SCALE 4 // width in pixels, where we start drawing sim tiles
const int SIM_NULL_MAP_SCALE=4; // width in pixels, where we start drawing "null" sims
const int SIM_MAP_AGENT_SCALE=8; // width in pixels, where we start drawing agents
const int SIM_MAP_SCALE=4; // width in pixels, where we start drawing sim tiles
const int SIM_LANDFORSALE_SCALE=32;
void LLWorldMapView::initClass()
@@ -374,22 +375,17 @@ void LLWorldMapView::draw()
// When the view isn't panned, 0,0 = center of rectangle
F32 bottom = sPanY + half_height + relative_y;
F32 left = sPanX + half_width + relative_x;
F32 top = bottom + sMapScale ;
F32 right = left + sMapScale ;
// Discard if region is outside the screen rectangle (not visible on screen)
if ((top < 0.f) || (bottom > height) ||
(right < 0.f) || (left > width) )
{
// Drop the "land for sale" fetching priority since it's outside the view rectangle
info->dropImagePriority();
continue;
}
//F32 top = bottom + sMapScale ;
//F32 right = left + sMapScale ;
info->mShowAgentLocations = (sMapScale >= SIM_MAP_AGENT_SCALE);
mVisibleRegions.push_back(handle);
info->updateAgentCount(current_time);
// Update the agent count for that region if we're not too zoomed out already
if (sMapScale >= SIM_MAP_AGENT_SCALE)
{
info->updateAgentCount(current_time);
}
std::string mesg;
if (sMapScale < sThresholdA)
{
@@ -598,16 +594,16 @@ void LLWorldMapView::setVisible(BOOL visible)
if (!visible)
{
for (S32 map = 0; map < MAP_SIM_IMAGE_TYPES; map++)
{
{
for (U32 layer_idx=0; layer_idx<LLWorldMap::getInstance()->mMapLayers[map].size(); ++layer_idx)
{
{
if (LLWorldMap::getInstance()->mMapLayers[map][layer_idx].LayerDefined)
{
{
LLWorldMapLayer *layer = &LLWorldMap::getInstance()->mMapLayers[map][layer_idx];
layer->LayerImage->setBoostLevel(0);
}
}
}
}
}
}
for (LLWorldMap::sim_info_map_t::const_iterator it = LLWorldMap::getInstance()->getRegionMap().begin();
it != LLWorldMap::getInstance()->getRegionMap().end(); ++it)
{
@@ -705,8 +701,8 @@ void LLWorldMapView::drawTiles(S32 width, S32 height) {
gGL.vertex3f(right, top, -1.0f);
gGL.end();
// draw an alpha of 1 where the sims are visible
gGL.flush();
// draw an alpha of 1 where the sims are visible
gGL.flush();
gGL.setColorMask(false, true);
gGL.color4f(1.f, 1.f, 1.f, 1.f);
@@ -1207,6 +1203,90 @@ void LLWorldMapView::drawMipmap(S32 width, S32 height)
// Render the current level
sVisibleTilesLoaded = drawMipmapLevel(width, height, level);
const F32 half_width = F32(width) / 2.0f;
const F32 half_height = F32(height) / 2.0f;
LLVector3d camera_global = gAgentCamera.getCameraPositionGlobal();
for (LLWorldMap::sim_info_map_t::const_iterator it = LLWorldMap::getInstance()->getRegionMap().begin();
it != LLWorldMap::getInstance()->getRegionMap().end(); ++it)
{
U64 handle = it->first;
LLSimInfo* info = it->second;
LLVector3d origin_global = from_region_handle(handle);
// Find x and y position relative to camera's center.
LLVector3d rel_region_pos = origin_global - camera_global;
F32 relative_x = (rel_region_pos.mdV[0] / REGION_WIDTH_METERS) * sMapScale;
F32 relative_y = (rel_region_pos.mdV[1] / REGION_WIDTH_METERS) * sMapScale;
// Coordinates of the sim in pixels in the UI panel
// When the view isn't panned, 0,0 = center of rectangle
F32 bottom = sPanY + half_height + relative_y;
F32 left = sPanX + half_width + relative_x;
F32 top = bottom + sMapScale ;
F32 right = left + sMapScale ;
// Discard if region is outside the screen rectangle (not visible on screen)
if ((top < 0.f) || (bottom > height) ||
(right < 0.f) || (left > width) )
{
// Drop the "land for sale" fetching priority since it's outside the view rectangle
info->dropImagePriority();
continue;
}
if (info->isDown())
{
// Draw a transparent red square over down sims
gGL.blendFunc(LLRender::BF_DEST_ALPHA, LLRender::BF_SOURCE_ALPHA);
gGL.color4f(0.2f, 0.0f, 0.0f, 0.4f);
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
gGL.begin(LLRender::QUADS);
gGL.vertex2f(left, top);
gGL.vertex2f(left, bottom);
gGL.vertex2f(right, bottom);
gGL.vertex2f(right, top);
gGL.end();
}
if (gSavedSettings.getBOOL("MapShowLandForSale") && (sMapScale >= SIM_LANDFORSALE_SCALE))
{
// Draw the overlay image "Land for Sale / Land for Auction"
LLViewerFetchedTexture* overlayimage = info->getLandForSaleImage();
if (overlayimage)
{
// Inform the fetch mechanism of the size we need
S32 draw_size = llround(sMapScale);
overlayimage->setKnownDrawSize(llround(draw_size * LLUI::sGLScaleFactor.mV[VX]), llround(draw_size * LLUI::sGLScaleFactor.mV[VY]));
// Draw something whenever we have enough info
if (overlayimage->hasGLTexture() && !overlayimage->isMissingAsset())
{
//glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
gGL.blendFunc(LLRender::BF_SOURCE_ALPHA, LLRender::BF_ONE_MINUS_SOURCE_ALPHA);
gGL.getTexUnit(0)->bind(overlayimage);
gGL.color4f(1.f, 1.f, 1.f, 1.f);
gGL.begin(LLRender::QUADS);
gGL.texCoord2f(0.f, 1.f);
gGL.vertex3f(left, top, -0.5f);
gGL.texCoord2f(0.f, 0.f);
gGL.vertex3f(left, bottom, -0.5f);
gGL.texCoord2f(1.f, 0.f);
gGL.vertex3f(right, bottom, -0.5f);
gGL.texCoord2f(1.f, 1.f);
gGL.vertex3f(right, top, -0.5f);
gGL.end();
}
}
}
else
{
// If we're not displaying the "land for sale", drop its fetching priority
info->dropImagePriority();
}
}
return;
}
@@ -1893,72 +1973,72 @@ void LLWorldMapView::handleClick(S32 x, S32 y, MASK mask,
{
LLItemInfo& event = *it;
if (checkItemHit(x, y, event, id, false))
{
*hit_type = MAP_ITEM_PG_EVENT;
mItemPicked = TRUE;
gFloaterWorldMap->trackEvent(event);
return;
}
}
}
if (checkItemHit(x, y, event, id, false))
{
*hit_type = MAP_ITEM_PG_EVENT;
mItemPicked = TRUE;
gFloaterWorldMap->trackEvent(event);
return;
}
}
}
static const LLCachedControl<bool> map_show_mature_events("MapShowMatureEvents");
if (map_show_mature_events)
{
{
for (it = LLWorldMap::getInstance()->mMatureEvents.begin(); it != LLWorldMap::getInstance()->mMatureEvents.end(); ++it)
{
{
LLItemInfo& event = *it;
if (checkItemHit(x, y, event, id, false))
{
*hit_type = MAP_ITEM_MATURE_EVENT;
mItemPicked = TRUE;
gFloaterWorldMap->trackEvent(event);
return;
}
}
}
if (checkItemHit(x, y, event, id, false))
{
*hit_type = MAP_ITEM_MATURE_EVENT;
mItemPicked = TRUE;
gFloaterWorldMap->trackEvent(event);
return;
}
}
}
static const LLCachedControl<bool> map_show_adult_events("MapShowAdultEvents");
if (map_show_adult_events)
{
{
for (it = LLWorldMap::getInstance()->mAdultEvents.begin(); it != LLWorldMap::getInstance()->mAdultEvents.end(); ++it)
{
{
LLItemInfo& event = *it;
if (checkItemHit(x, y, event, id, false))
{
*hit_type = MAP_ITEM_ADULT_EVENT;
mItemPicked = TRUE;
gFloaterWorldMap->trackEvent(event);
return;
}
}
}
if (checkItemHit(x, y, event, id, false))
{
*hit_type = MAP_ITEM_ADULT_EVENT;
mItemPicked = TRUE;
gFloaterWorldMap->trackEvent(event);
return;
}
}
}
static const LLCachedControl<bool> map_show_land_for_sale("MapShowLandForSale");
if (map_show_land_for_sale)
{
if (map_show_land_for_sale)
{
for (it = LLWorldMap::getInstance()->mLandForSale.begin(); it != LLWorldMap::getInstance()->mLandForSale.end(); ++it)
{
{
LLItemInfo& land = *it;
if (checkItemHit(x, y, land, id, true))
{
*hit_type = MAP_ITEM_LAND_FOR_SALE;
mItemPicked = TRUE;
return;
}
}
{
*hit_type = MAP_ITEM_LAND_FOR_SALE;
mItemPicked = TRUE;
return;
}
}
for (it = LLWorldMap::getInstance()->mLandForSaleAdult.begin(); it != LLWorldMap::getInstance()->mLandForSaleAdult.end(); ++it)
{
{
LLItemInfo& land = *it;
if (checkItemHit(x, y, land, id, true))
{
*hit_type = MAP_ITEM_LAND_FOR_SALE_ADULT;
mItemPicked = TRUE;
return;
}
{
*hit_type = MAP_ITEM_LAND_FOR_SALE_ADULT;
mItemPicked = TRUE;
return;
}
}
}
// If we get here, we haven't clicked on an icon

View File

@@ -1966,11 +1966,10 @@ void LLPipeline::updateCull(LLCamera& camera, LLCullResult& result, S32 water_cl
LLGLDepthTest depth(GL_TRUE, GL_FALSE);
bool bound_shader = false;
if (gPipeline.canUseVertexShaders() && LLGLSLShader::sCurBoundShader == 0)
bool bind_shader = LLGLSLShader::sNoFixedFunction && LLGLSLShader::sCurBoundShader == 0;
if (bind_shader)
{ //if no shader is currently bound, use the occlusion shader instead of fixed function if we can
// (shadow render uses a special shader that clamps to clip planes)
bound_shader = true;
gOcclusionProgram.bind();
}
@@ -2001,7 +2000,7 @@ void LLPipeline::updateCull(LLCamera& camera, LLCullResult& result, S32 water_cl
}
}
if (bound_shader)
if (bind_shader)
{
gOcclusionProgram.unbind();
}
@@ -8099,7 +8098,7 @@ void LLPipeline::renderShadow(glh::matrix4f& view, glh::matrix4f& proj, LLCamera
LLVertexBuffer::unbind();
{
if (!use_shader)
if (!use_shader && LLGLSLShader::sNoFixedFunction)
{ //occlusion program is general purpose depth-only no-textures
gOcclusionProgram.bind();
}
@@ -8110,7 +8109,7 @@ void LLPipeline::renderShadow(glh::matrix4f& view, glh::matrix4f& proj, LLCamera
renderObjects(types[i], LLVertexBuffer::MAP_VERTEX, FALSE);
}
gGL.getTexUnit(0)->enable(LLTexUnit::TT_TEXTURE);
if (!use_shader)
if (!use_shader && LLGLSLShader::sNoFixedFunction)
{
gOcclusionProgram.unbind();
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 460 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater border="true" bottom="167" can_close="false" can_drag_on_left="false"
can_minimize="false" can_resize="false" can_tear_off="true" enabled="true"
height="510" left="278" min_height="100" min_width="100"
height="530" left="278" min_height="100" min_width="100"
mouse_opaque="true" name="modal container" title="" width="515">
<button bottom="-500" enabled="true" font="SansSerif" halign="center" height="20"
<button bottom="5" enabled="true" font="SansSerif" halign="center" height="20"
label="Save" label_selected="Save" left="171" mouse_opaque="true"
name="Save" scale_image="true" width="82" />
<button bottom="-500" enabled="true" font="SansSerif" halign="center" height="20"
<button bottom="5" enabled="true" font="SansSerif" halign="center" height="20"
label="Cancel" label_selected="Cancel" left="261" mouse_opaque="true"
name="Cancel" scale_image="true" width="82" />
<check_box bottom="-216" enabled="true" follows="left|top" font="SansSerifSmall"
@@ -21,7 +21,13 @@
<check_box bottom="-276" enabled="true" follows="left|top" font="SansSerifSmall"
height="16" initial_value="false" label="Eyes" left="13"
mouse_opaque="true" name="checkbox_Eyes" radio_style="false" width="100" />
<check_box bottom="-436" enabled="true" follows="left|top" font="SansSerifSmall"
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="90" drop_shadow_visible="true" enabled="true" follows="left|top"
font="SansSerifSmall" h_pad="0" halign="left" height="14" left="13"
mouse_opaque="true" name="Options:" v_pad="0" width="100">
Options:
</text>
<check_box bottom_delta="-20" enabled="true" follows="left|top" font="SansSerifSmall"
height="16" initial_value="false" label="Rename Clothing To Folder Name"
left="13" mouse_opaque="true" name="rename" radio_style="false" width="210" />
<check_box name="checkbox_use_links" control_name="UseInventoryLinks" initial_value="false"
@@ -34,39 +40,42 @@
mouse_opaque="true" radio_style="false" />
<check_box bottom="-216" enabled="true" follows="left|top" font="SansSerifSmall"
height="16" initial_value="false" label="Shirt" left="113"
mouse_opaque="true" name="checkbox_Shirt" radio_style="false" width="100" />
mouse_opaque="true" name="checkbox_shirt" radio_style="false" width="100" />
<check_box bottom="-236" enabled="true" follows="left|top" font="SansSerifSmall"
height="16" initial_value="false" label="Pants" left="113"
mouse_opaque="true" name="checkbox_Pants" radio_style="false" width="100" />
mouse_opaque="true" name="checkbox_pants" radio_style="false" width="100" />
<check_box bottom="-256" enabled="true" follows="left|top" font="SansSerifSmall"
height="16" initial_value="false" label="Shoes" left="113"
mouse_opaque="true" name="checkbox_Shoes" radio_style="false" width="100" />
mouse_opaque="true" name="checkbox_shoes" radio_style="false" width="100" />
<check_box bottom="-276" enabled="true" follows="left|top" font="SansSerifSmall"
height="16" initial_value="false" label="Socks" left="113"
mouse_opaque="true" name="checkbox_Socks" radio_style="false" width="100" />
mouse_opaque="true" name="checkbox_socks" radio_style="false" width="100" />
<check_box bottom="-296" enabled="true" follows="left|top" font="SansSerifSmall"
height="16" initial_value="false" label="Jacket" left="113"
mouse_opaque="true" name="checkbox_Jacket" radio_style="false" width="100" />
mouse_opaque="true" name="checkbox_jacket" radio_style="false" width="100" />
<check_box bottom="-316" enabled="true" follows="left|top" font="SansSerifSmall"
height="16" initial_value="false" label="Gloves" left="113"
mouse_opaque="true" name="checkbox_Gloves" radio_style="false" width="100" />
mouse_opaque="true" name="checkbox_gloves" radio_style="false" width="100" />
<check_box bottom="-336" enabled="true" follows="left|top" font="SansSerifSmall"
height="16" initial_value="false" label="Undershirt" left="113"
mouse_opaque="true" name="checkbox_Undershirt" radio_style="false"
mouse_opaque="true" name="checkbox_undershirt" radio_style="false"
width="100" />
<check_box bottom="-356" enabled="true" follows="left|top" font="SansSerifSmall"
height="16" initial_value="false" label="Underpants" left="113"
mouse_opaque="true" name="checkbox_Underpants" radio_style="false"
mouse_opaque="true" name="checkbox_underpants" radio_style="false"
width="100" />
<check_box bottom="-376" enabled="true" follows="left|top" font="SansSerifSmall"
height="16" initial_value="false" label="Skirt" left="113"
mouse_opaque="true" name="checkbox_Skirt" radio_style="false" width="100" />
mouse_opaque="true" name="checkbox_skirt" radio_style="false" width="100" />
<check_box bottom="-396" enabled="true" follows="left|top" font="SansSerifSmall"
height="16" initial_value="false" label="Tattoo" left="113"
mouse_opaque="true" name="checkbox_Tattoo" radio_style="false" width="100" />
mouse_opaque="true" name="checkbox_tattoo" radio_style="false" width="100" />
<check_box bottom="-416" enabled="true" follows="left|top" font="SansSerifSmall"
height="16" initial_value="false" label="Alpha" left="113"
mouse_opaque="true" name="checkbox_Alpha" radio_style="false" width="100" />
mouse_opaque="true" name="checkbox_alpha" radio_style="false" width="100" />
<check_box bottom="-436" enabled="true" follows="left|top" font="SansSerifSmall"
height="16" initial_value="false" label="Physics" left="113"
mouse_opaque="true" name="checkbox_physics" radio_style="false" width="100" />
<check_box bottom="-216" enabled="false" follows="left|top" font="SansSerifSmall"
height="16" initial_value="false" label="Chest" left="213"
mouse_opaque="true" name="checkbox_Chest" radio_style="false" width="100" />
@@ -263,12 +272,6 @@ now wearing into it.
mouse_opaque="true" name="Attachments:" v_pad="0" width="100">
Attachments:
</text>
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-416" drop_shadow_visible="true" enabled="true" follows="left|top"
font="SansSerifSmall" h_pad="0" halign="left" height="14" left="13"
mouse_opaque="true" name="Options:" v_pad="0" width="100">
Options:
</text>
<line_editor bevel_style="in" border_style="line" border_thickness="1" bottom="-150"
enabled="true" follows="left|top" font="SansSerif"
handle_edit_keys_directly="true" height="20" left="13" max_length="63"

View File

@@ -198,7 +198,15 @@
name="Paste As Link" width="128">
<on_click filter="" function="Inventory.DoToSelected" userdata="paste_link" />
</menu_item_call>
<menu_item_call bottom_delta="-18" height="18" label="Restore in World" left="0" mouse_opaque="true"
name="Restore to Last Position" width="128">
<on_click filter="" function="Inventory.DoToSelected" userdata="restoreToWorld" />
</menu_item_call>
<menu_item_separator name="Paste Separator" />
<menu_item_call bottom_delta="-18" height="18" label="Remove Link" left="0" mouse_opaque="true"
name="Remove Link" width="128">
<on_click filter="" function="Inventory.DoToSelected" userdata="delete" />
</menu_item_call>
<menu_item_call bottom_delta="-18" height="18" label="Delete" left="0" mouse_opaque="true"
name="Delete" width="128">
<on_click filter="" function="Inventory.DoToSelected" userdata="delete" />
@@ -267,10 +275,6 @@
<on_click filter="" function="Inventory.DoToSelected" userdata="deactivate" />
</menu_item_call>
<menu_item_separator name="Attach Separator" />
<menu_item_call bottom_delta="-18" height="18" label="Restore in World" left="0" mouse_opaque="true"
name="Restore to Last Position" width="128">
<on_click filter="" function="Inventory.DoToSelected" userdata="restoreToWorld" />
</menu_item_call>
<menu_item_call bottom_delta="-18" height="18" label="Wear" left="0" mouse_opaque="true"
name="Object Wear" width="128">
<on_click filter="" function="Inventory.DoToSelected" userdata="attach" />
@@ -302,5 +306,5 @@
</menu_item_call>
<menu_item_call bottom_delta="-18" height="18" label="--no options--" left="0"
mouse_opaque="true" name="--no options--" width="128" />
<menu_item_separator name="Wearable Separator" />
<--menu_item_separator name="Wearable Separator" /-->
</menu>

View File

@@ -28,7 +28,7 @@
<on_click function="Object.Import" />
<on_enable function="Object.EnableImport" />
</menu_item_call>
<menu_item_call enabled="false" hidden="false" label="Import with Textures" mouse_opaque="true" name="Import">
<menu_item_call enabled="false" hidden="false" label="Import with Textures" mouse_opaque="true" name="Import2">
<on_click function="Object.ImportUpload" />
<on_enable function="Object.EnableImport" />
</menu_item_call>

View File

@@ -31,7 +31,7 @@
width="400" />
</panel>
<panel border="true" left="1" bottom="-190" height="180" width="500" mouse_opaque="true"
follows="left|top|right|bottom" label="Tags\Colors" name="Tags\Colors">
follows="left|top|right|bottom" label="Tags/Colors" name="TagsColors">
<!-- Client tag options -->
<check_box bottom_delta="-25" control_name="AscentUseTag" enabled="true"
follows="left|top" font="SansSerifSmall" height="16" initial_value="true"

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<alerts>
</alerts>
<!-- This file is no longer used. Please see notifications.xml and make your changes there. -->

View File

@@ -0,0 +1,99 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater can_close="true" can_drag_on_left="false" can_minimize="true"
can_resize="false" height="440" min_height="100" min_width="100"
name="floater_about" rect_control="FloaterAboutRect"
title="About Singularity Viewer" width="470">
<tab_container
follows="all"
bottom="10"
left="10"
height="405"
width="450"
name="about_tab"
tab_position="top">
<panel
border="true"
height="386"
label="Info"
help_topic="about_support_tab"
name="support_panel">
<text_editor
parse_urls="true"
follows="top|left"
font="SansSerif"
height="343"
bg_readonly_color="Transparent"
left="1"
max_length="65536"
name="support_editor"
top="-1"
bottom="28"
width="446"
word_wrap="true" />
<button
follows="left|top"
label="Copy to Clipboard"
name="copy_btn"
right="-5"
bottom="0"
top_pad="5"
height="25"
width="180" />
</panel>
<panel
border="true"
label="Credits"
height="386"
help_topic="about_credits_tab"
name="credits_panel">
<text_editor
enabled="false"
follows="left|top"
bg_readonly_color="Transparent"
left="1"
text_color="LtGray"
max_length="65536"
name="credits_editor"
top="-1"
bottom="0"
width="446"
word_wrap="true">
Singularity Viewer is developed and maintained by Siana Gearz, Shyotl Kuhr, Aleric Inglewood and Narv Czervik, with contributions by Henri Beauchamp, Kitty Barnett, Thickbrick Sleaford, Zauber Parecelsus, Wolfspirit Magic and others. Singularity is based upon Ascent source code. Credits for Ascent include Hg Beeks, Charley Levenque, Hazim Gazov, Zwagoth Klaar, Qarl Fizz, and others. Ascent is based upon the Inertia source code.
Singularity Viewer includes source code contributions of the following residents: Able Whitman, Adam Marker, Agathos Frascati, Aimee Trescothick, Alejandro Rosenthal, Aleric Inglewood, Alissa Sabre, Angus Boyd, Ann Congrejo, Argent Stonecutter, Asuka Neely, Balp Allen, Benja Kepler, Biancaluce Robbiani, Blakar Ogre, blino Nakamura, Boroondas Gupte, Bulli Schumann, bushing Spatula, Carjay McGinnis, Catherine Pfeffer, Celierra Darling, Cron Stardust, Dale Glass, Drewan Keats, Dylan Haskell, Dzonatas Sol, Eddy Stryker, EponymousDylan Ra, Eva Nowicka, Farallon Greyskin, Feep Larsson, Flemming Congrejo, Fluf Fredriksson, Fractured Crystal, Fremont Cunningham, Geneko Nemeth, Gigs Taggart, Ginko Bayliss, Grazer Kline, Gudmund Shepherd, Hamncheese Omlet, HappySmurf Papp, Henri Beauchamp, Hikkoshi Sakai, Hiro Sommambulist, Hoze Menges, Ian Kas, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Joghert LeSabre, Kage Pixel, Ken March, Kerutsen Sellery, Khyota Wulluf, Kunnis Basiat, Lisa Lowe, Lockhart Cordoso, maciek marksman, Magnus Balczo, Malwina Dollinger, march Korda, Matthew Dowd, McCabe Maxsted, Michelle2 Zenovka, Mm Alder, Mr Greggan, Nicholaz Beresford, Nounouch Hapmouche, Patric Mills, Paul Churchill, Paula Innis, Peekay Semyorka, Peter Lameth, Pf Shan, princess niven, Renault Clio, Ringo Tuxing, Robin Cornelius, Ryozu Kojima, Salahzar Stenvaag, Sammy Frederix, Scrippy Scofield, Seg Baphomet, Sergen Davies, SignpostMarv Martin, Simon Nolan, SpacedOut Frye, Sporked Friis, Stevex Janus, Still Defiant, Strife Onizuka, Tayra Dagostino, TBBle Kurosawa, Teardrops Fall, tenebrous pau, Tharax Ferraris, Thickbrick Sleaford, Thraxis Epsilon, tiamat bingyi, TraductoresAnonimos Alter, Tue Torok, Vadim Bigbear, Vixen Heron, Whoops Babii, Wilton Lundquist, Zarkonnen Decosta, Zi Ree, Zipherius Turas
Second Life is brought to you by Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, 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, Mogura, 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, Rohn, 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, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, 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, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les, Michon, Jenelle, Geo, Siz, Shapiro, Pete, Calyle, Selene, Allen, Phoebe, Goldin, Kimmora, Dakota, Slaton, Lindquist, Zoey, Hari, Othello, Rohit, Sheldon, Petra, Viale, Gordon, Kaye, Pink, Ferny, Emerson, Davy, Bri, Chan, Juan, Robert, Terrence, Nathan, Carl and many others.
Linden Lab would like to thank the following residents: able whitman, Adeon Writer, adonaira aabye, Aeron Kohime, Agathos Frascati, Aimee Trescothick, Aleric Inglewood, Alissa Sabre, Aminom Marvin, Angela Talamasca, Aralara Rajal, Armin Weatherwax, Ashrilyn Hayashida, Athanasius Skytower, Aura Dirval, Barney Boomslang, Biancaluce Robbiani, Biker Offcourse, Borg Capalini, Bulli Schumann, catherine pfeffer, Chalice Yao, Corre Porta, Court Goodman, Cummere Mayo, Dale Innis, Darien Caldwell, Darjeeling Schoonhoven, Daten Thielt, dimentox travanti, Dirk Talamasca, Drew Dwi, Duckless Vandyke, Elanthius Flagstaff, Electro Burnstein, emiley tomsen, Escort DeFarge, Eva Rau, Ezian Ecksol, Fire Centaur, Fluf Fredriksson, Francisco Koolhoven, Frontera Thor, Frungi Stastny, Gally Young, gearsawe stonecutter, Gigs Taggart, Gordon Wendt, Gudmund Shepherd, Gypsy Paz, Harleen Gretzky, Henri Beauchamp, Inma Rau, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Jessicka Graves, Joeseph Albanese, Joshua Philgarlic, Khyota Wulluf, kirstenlee Cinquetti, Latif Khalifa, Lex Neva, Lilibeth Andree, Lisa Lowe, Lunita Savira, Loosey Demonia, lum pfohl, Marcos Fonzarelli, MartinRJ Fayray, Marusame Arai, Matthew Dowd, Maya Remblai, McCabe Maxsted, Meghan Dench, Melchoir Tokhes, Menos Short, Michelle2 Zenovka, Mimika Oh, Minerva Memel, Mm Alder, Ochi Wolfe, Omei Turnbull, Pesho Replacement, Phantom Ninetails, phoenixflames kukulcan, Polo Gufler, prez pessoa, princess niven, Prokofy Neva, Qie Niangao, Rem Beattie, RodneyLee Jessop, Saijanai Kuhn, Seg Baphomet, Sergen Davies, Shirley Marquez, SignpostMarv Martin, Sindy Tsure, Sira Arbizu, Skips Jigsaw, Sougent Harrop, Spritely Pixel, Squirrel Wood, StarSong Bright, Subversive Writer, Sugarcult Dagger, Sylumm Grigorovich, Tammy Nowotny, Tanooki Darkes, Tayra Dagostino, Theoretical Chemistry, Thickbrick Sleaford, valerie rosewood, Vex Streeter, Vixen Heron, Whoops Babii, Winter Ventura, Xiki Luik, Yann Dufaux, Yina Yao, Yukinoroh Kamachi, Zolute Infinity, Zwagoth Klaar
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)
DBus/dbus-glib Copyright (C) 2002, 2003 CodeFactory AB / Copyright (C) 2003, 2004 Red Hat, Inc.
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.
google-perftools Copyright (c) 2005, Google Inc.
All rights reserved. See licenses.txt for details.
Voice chat Audio coding: Polycom(R) Siren14(TM) (ITU-T Rec. G.722.1 Annex C)
To be a success in business, be daring, be first, be different. --Henry Marchant</text_editor>
</panel>
</tab_container>
<string name="you_are_at">
You are at [POSITION]
</string>
</floater>

View File

@@ -0,0 +1,569 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floaterland" title="À propos du terrain">
<tab_container name="landtab">
<panel label="Général" name="land_general_panel">
<text length="1" name="Name:" type="string">
Nom :
</text>
<line_editor name="Name"/>
<text length="1" name="Description:" type="string">
Description :
</text>
<text_editor name="Description"/>
<text name="LandType">
Type :
</text>
<text name="LandTypeText">
Continent / Homestead
</text>
<text name="ContentRating">
Catégorie :
</text>
<text name="ContentRatingText">
Adult
</text>
<text length="1" name="Owner:" type="string">
Propriétaire :
</text>
<text length="1" name="OwnerText" type="string">
Leyla Linden
</text>
<button label="Profil..." label_selected="Profil..." name="Profile..."/>
<text length="1" name="Group:" type="string">
Groupe :
</text>
<text name="GroupText"/>
<button label="Définir..." label_selected="Définir..." name="Set..."/>
<check_box label="Autoriser la cession au groupe" name="check deed" tool_tip="Un officier peut céder ce terrain au groupe. Il viendra alors s&apos;ajouter au patrimoine du groupe."/>
<button label="Céder..." label_selected="Céder..." name="Deed..." tool_tip="Vous ne pouvez céder le terrain que si vous avez un rôle d&apos;officier dans le groupe sélectionné."/>
<check_box label="Le propriétaire contribue en cédant du terrain" name="check contrib" tool_tip="Lorsqu&apos;un terrain est cédé au groupe, l&apos;ancien propriétaire fait également un don de terrain suffisant."/>
<text length="1" name="For Sale:" type="string">
À vendre :
</text>
<text length="1" name="Not for sale." type="string">
Pas à vendre
</text>
<text length="1" name="For Sale: Price L$[PRICE]." type="string">
Prix : [PRICE] L$ ([PRICE_PER_SQM] L$/m²).
</text>
<text name="SalePending"/>
<button label="Vendre le terrain..." label_selected="Vendre le terrain..." name="Sell Land..."/>
<text length="1" name="For sale to" type="string">
À vendre à : [BUYER]
</text>
<text length="1" name="Sell with landowners objects in parcel." type="string">
Objets inclus dans la vente.
</text>
<text length="1" name="Selling with no objects in parcel." type="string">
Objets non inclus dans la vente.
</text>
<button label="Annuler la vente du terrain" label_selected="Annuler la vente du terrain" left="275" name="Cancel Land Sale" width="165"/>
<text length="1" name="Claimed:" type="string">
Acquis :
</text>
<text length="1" name="DateClaimText" type="string">
Tue Aug 15 13:47:25 2006
</text>
<text length="1" name="PriceLabel" type="string">
Superficie :
</text>
<text length="1" name="PriceText" type="string">
4048 m²
</text>
<text length="1" name="Traffic:" type="string">
Trafic :
</text>
<text length="1" name="DwellText" type="string">
0
</text>
<button label="Acheter le terrain..." label_selected="Acheter le terrain..." left="130" name="Buy Land..." width="125"/>
<button label="Acheter pour le groupe..." label_selected="Acheter pour le groupe..." name="Buy For Group..."/>
<button label="Acheter un pass..." label_selected="Acheter un pass..." left="130" name="Buy Pass..." tool_tip="Un pass vous donne un accès temporaire à ce terrain." width="125"/>
<button label="Abandonner le terrain..." label_selected="Abandonner le terrain..." name="Abandon Land..."/>
<button label="Redemander le terrain..." label_selected="Redemander le terrain…" name="Reclaim Land..."/>
<button label="Vente Linden..." label_selected="Vente Linden..." name="Linden Sale..." tool_tip="Le terrain doit être la propriété d&apos;un résident, avoir un contenu défini et ne pas être aux enchères."/>
<string name="new users only">
Nouveaux utilisateurs uniquement
</string>
<string name="anyone">
Tout le monde
</string>
<string name="area_text">
Surface
</string>
<string name="area_size_text">
[AREA] m²
</string>
<string name="auction_id_text">
Code de l&apos;enchère : [ID]
</string>
<string name="need_tier_to_modify">
Pour modifier ce terrain, vous devez approuver votre achat.
</string>
<string name="group_owned_text">
(propriété du groupe)
</string>
<string name="profile_text">
Profil...
</string>
<string name="info_text">
Infos...
</string>
<string name="public_text">
(public)
</string>
<string name="none_text">
(aucun)
</string>
<string name="sale_pending_text">
(vente en cours)
</string>
<string name="no_selection_text">
Aucune parcelle sélectionnée.
Allez dans le menu Monde &gt; À propos du terrain ou sélectionnez une autre parcelle pour en afficher les détails.
</string>
</panel>
<panel label="Règlement" name="land_covenant_panel">
<text name="estate_section_lbl">
Domaine :
</text>
<text length="1" name="estate_name_lbl" type="string">
Nom :
</text>
<text length="1" name="estate_name_text" type="string">
continent
</text>
<text length="1" name="estate_owner_lbl" type="string">
Propriétaire :
</text>
<text length="1" name="estate_owner_text" type="string">
(aucun)
</text>
<text_editor length="1" name="covenant_editor" type="string">
Il n&apos;y a aucun règlement pour ce domaine.
</text_editor>
<text length="1" name="covenant_timestamp_text" type="string">
Last Modified Wed Dec 31 16:00:00 1969
</text>
<text name="region_section_lbl">
Région :
</text>
<text length="1" name="region_name_lbl" type="string">
Nom :
</text>
<text length="1" name="region_name_text" type="string">
leyla
</text>
<text name="region_landtype_lbl">
Type :
</text>
<text name="region_landtype_text">
Continent / Homestead
</text>
<text name="region_maturity_lbl">
Catégorie :
</text>
<text name="region_maturity_text">
Adult
</text>
<text name="resellable_lbl">
Revendre :
</text>
<text length="1" name="resellable_clause" type="string">
Le terrain dans cette région ne peut être revendu.
</text>
<text name="changeable_lbl">
Sous-diviser :
</text>
<text length="1" name="changeable_clause" type="string">
Le terrain dans cette région ne peut être fusionné/divisé.
</text>
<string name="can_resell">
Le terrain acheté dans cette région peut être revendu.
</string>
<string name="can_not_resell">
Le terrain acheté dans cette région ne peut pas être revendu.
</string>
<string name="can_change">
Le terrain acheté dans cette région peut être fusionné
ou divisé.
</string>
<string name="can_not_change">
Le terrain acheté dans cette région ne peut pas être fusionné
ou divisé.
</string>
</panel>
<panel label="Objets" name="land_objects_panel">
<text name="parcel_object_bonus">
Facteur Bonus Objets : [BONUS]
</text>
<text length="1" name="Simulator primitive usage:" type="string">
Prims utilisées sur la parcelle :
</text>
<text left="214" name="objects_available" width="230">
[COUNT] sur [MAX] ([AVAILABLE] disponibles)
</text>
<string name="objects_available_text">
[COUNT] sur [MAX] ([AVAILABLE] disponibles)
</string>
<string name="objects_deleted_text">
[COUNT] sur [MAX] ([DELETED] seront supprimés)
</string>
<text length="1" name="Primitives parcel supports:" type="string" width="200">
Prims max. sur la parcelle :
</text>
<text left="214" length="1" name="object_contrib_text" type="string" width="152">
[COUNT]
</text>
<text length="1" name="Primitives on parcel:" type="string">
Prims sur la parcelle :
</text>
<text left="214" length="1" name="total_objects_text" type="string" width="48">
[COUNT]
</text>
<text left="14" length="1" name="Owned by parcel owner:" type="string" width="180">
Appartenant au propriétaire :
</text>
<text left="214" length="1" name="owner_objects_text" type="string" width="48">
[COUNT]
</text>
<button label="Afficher" label_selected="Afficher" name="ShowOwner" right="-135" width="60"/>
<button label="Renvoyer..." label_selected="Renvoyer..." name="ReturnOwner..." right="-10" tool_tip="Renvoyer les objets à leurs propriétaires." width="119"/>
<text left="14" length="1" name="Set to group:" type="string" width="180">
Données au groupe :
</text>
<text left="214" length="1" name="group_objects_text" type="string" width="48">
[COUNT]
</text>
<button label="Afficher" label_selected="Afficher" name="ShowGroup" right="-135" width="60"/>
<button label="Renvoyer..." label_selected="Renvoyer..." name="ReturnGroup..." right="-10" tool_tip="Renvoyer les objets à leurs propriétaires." width="119"/>
<text left="14" length="1" name="Owned by others:" type="string" width="128">
Appartenant à d&apos;autres :
</text>
<text left="214" length="1" name="other_objects_text" type="string" width="48">
[COUNT]
</text>
<button label="Afficher" label_selected="Afficher" name="ShowOther" right="-135" width="60"/>
<button label="Renvoyer..." label_selected="Renvoyer..." name="ReturnOther..." right="-10" tool_tip="Renvoyer les objets à leurs propriétaires." width="119"/>
<text left="14" length="1" name="Selected / sat upon:" type="string" width="193">
Sélectionnées/où quelqu&apos;un est assis :
</text>
<text left="214" length="1" name="selected_objects_text" type="string" width="48">
[COUNT]
</text>
<text left="4" name="Autoreturn" width="412">
Renvoi automatique des objets des autres résidents (min., 0 pour désactiver) :
</text>
<line_editor name="clean other time" right="-6" width="36"/>
<text length="1" name="Object Owners:" type="string">
Propriétaires :
</text>
<button label="Rafraîchir" label_selected="Rafraîchir" name="Refresh List"/>
<button label="Renvoyer les objets..." label_selected="Renvoyer les objets..." name="Return objects..."/>
<name_list label="Plus récents" name="owner list">
<column label="Type" name="type"/>
<column name="online_status"/>
<column label="Nom" name="name"/>
<column label="Nombre" name="count"/>
<column label="Plus récents" name="mostrecent"/>
</name_list>
</panel>
<panel label="Options" name="land_options_panel">
<text length="1" name="allow_label" type="string">
Autoriser les autres résidents à :
</text>
<check_box label="Modifier le terrain" name="edit land check" tool_tip="Si cette option est cochée, n&apos;importe qui peut terraformer votre terrain. Il vaut mieux ne pas cocher cette option pour toujours pouvoir modifer votre propre terrain."/>
<check_box label="Créer des repères" name="check landmark"/>
<check_box label="Voler" name="check fly" tool_tip="Si cette option est cochée, les résidents peuvent voler sur votre terrain. Si elle n&apos;est pas cochée, ils ne pourront voler que lorsqu&apos;ils arrivent et passent au dessus de votre terrain."/>
<text left="152" name="allow_label2">
Créer des objets :
</text>
<check_box label="Tous les résidents" left="285" name="edit objects check"/>
<check_box label="Groupe" left="395" name="edit group objects check"/>
<text left="152" name="allow_label3" width="134">
Laisser entrer des objets :
</text>
<check_box label="Tous les résidents" left="285" name="all object entry check"/>
<check_box label="Groupe" left="395" name="group object entry check"/>
<text left="152" name="allow_label4">
Exécuter des scripts :
</text>
<check_box label="Tous les résidents" left="285" name="check other scripts"/>
<check_box label="Groupe" left="395" name="check group scripts"/>
<text length="1" name="land_options_label" type="string">
Options du terrain :
</text>
<check_box label="Sécurisé (pas de dégâts)" name="check safe" tool_tip="Si cette option est cochée, le terrain est sécurisé et il n&apos;y pas de risques de dommages causés par des combats. Si elle est décochée, des dommages causés par les combats peuvent avoir lieu."/>
<check_box bottom="-140" label="Pas de bousculades" left="14" name="PushRestrictCheck" tool_tip="Empêche l&apos;utilisation de scripts causant des bousculades. Cette option est utile pour empêcher les comportements abusifs sur votre terrain."/>
<check_box bottom="-160" label="Afficher dans la recherche (30 L$/semaine) sous" name="ShowDirectoryCheck" tool_tip="Afficher la parcelle dans les résultats de recherche"/>
<string name="search_enabled_tooltip">
Permettre aux autres résidents de voir cette parcelle dans les résultats de recherche
</string>
<string name="search_disabled_small_tooltip">
Cette option est désactivée car la superficie de cette parcelle est inférieure ou égale à 128 m².
Seules les parcelles de grande taille peuvent apparaître dans la recherche.
</string>
<string name="search_disabled_permissions_tooltip">
Cette option est désactivée car vous ne pouvez pas modifier les options de cette parcelle.
</string>
<string name="see_avs_text">
Voir et discuter avec les autres residents sur cette parcelle
</string>
<combo_box bottom="-160" left="286" name="land category with adult" width="146">
<combo_item name="AnyCategory">
Toutes catégories
</combo_item>
<combo_item name="LindenLocation">
Appartenant aux Lindens
</combo_item>
<combo_item name="Adult">
Adult
</combo_item>
<combo_item name="Arts&amp;Culture">
Art et Culture
</combo_item>
<combo_item name="Business">
Affaires
</combo_item>
<combo_item name="Educational">
Éducation
</combo_item>
<combo_item name="Gaming">
Jeux
</combo_item>
<combo_item name="Hangout">
Favoris
</combo_item>
<combo_item name="NewcomerFriendly">
Accueil pour les nouveaux
</combo_item>
<combo_item name="Parks&amp;Nature">
Parcs et Nature
</combo_item>
<combo_item name="Residential">
Résidentiel
</combo_item>
<combo_item name="Shopping">
Shopping
</combo_item>
<combo_item name="Other">
Autre
</combo_item>
</combo_box>
<combo_box bottom="-160" left="286" name="land category" width="146">
<combo_item name="AnyCategory">
Toutes catégories
</combo_item>
<combo_item name="LindenLocation">
Appartenant aux Lindens
</combo_item>
<combo_item name="Arts&amp;Culture">
Art et Culture
</combo_item>
<combo_item name="Business">
Affaires
</combo_item>
<combo_item name="Educational">
Éducation
</combo_item>
<combo_item name="Gaming">
Jeux
</combo_item>
<combo_item name="Hangout">
Favoris
</combo_item>
<combo_item name="NewcomerFriendly">
Accueil pour les nouveaux
</combo_item>
<combo_item name="Parks&amp;Nature">
Parcs et Nature
</combo_item>
<combo_item name="Residential">
Résidentiel
</combo_item>
<combo_item name="Shopping">
Shopping
</combo_item>
<combo_item name="Other">
Autre
</combo_item>
</combo_box>
<button bottom="-160" label="?" label_selected="?" left="436" name="?"/>
<check_box bottom="-180" label="Contenu Mature" name="MatureCheck" tool_tip=""/>
<string name="mature_check_mature">
Contenu Mature
</string>
<string name="mature_check_adult">
Contenu Adult
</string>
<string name="mature_check_mature_tooltip">
Les informations ou contenu de votre parcelle sont classés Mature.
</string>
<string name="mature_check_adult_tooltip">
Les informations ou contenu de votre parcelle sont classés Adult.
</string>
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-178" drop_shadow_visible="true" enabled="true" follows="left|top"
font="SansSerifSmall" h_pad="0" halign="left" height="16" left="4"
mouse_opaque="true" name="allow_label5" v_pad="0" width="278">
</text>
<check_box bottom="-196" enabled="false" follows="left|top" font="SansSerifSmall"
height="16" initial_value="false" label="See Avatars" left="14"
mouse_opaque="true" name="SeeAvatarsCheck" radio_style="false"
tool_tip="The residents on other parcels can see and chat with residents on this parcel, and you to see and chat with them."
width="107" />
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-212" drop_shadow_visible="true" enabled="true" follows="left|top"
font="SansSerifSmall" h_pad="0" halign="left" height="16" left="4"
mouse_opaque="true" name="Snapshot:" v_pad="0" width="278">
Photo:
</text>
<texture_picker allow_no_texture="false" bottom="-349" can_apply_immediately="false"
default_image_name="" enabled="true" follows="left|top" height="135"
label="" left="10" mouse_opaque="true" name="snapshot_ctrl"
tool_tip="Click to choose a picture" width="180" />
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-353" drop_shadow_visible="true" enabled="true" follows="left|top"
font="SansSerifSmall" h_pad="0" halign="left" height="16" left="4"
mouse_opaque="true" name="landing_point" v_pad="0" width="278">
Lieu d&apos;arrivée: [LANDING]
</text>
<string name="landing_point_none">
(aucun)
</string>
<button bottom="-353" enabled="true" follows="left|top" font="SansSerifSmall"
halign="center" height="16" label="Définir" label_selected="Set" left="236"
mouse_opaque="true" name="Set" scale_image="true"
tool_tip="Sets the landing point where visitors arrive. Sets to your avatar&apos;s location inside this parcel."
width="50" />
<button bottom="-353" enabled="true" follows="left|top" font="SansSerifSmall"
halign="center" height="16" label="Annuler" label_selected="Clear" left="291"
mouse_opaque="true" name="Clear" scale_image="true"
tool_tip="Clear the landing point." width="50" />
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-373" drop_shadow_visible="true" enabled="true" follows="left|top"
font="SansSerifSmall" h_pad="0" halign="left" height="16" left="4"
mouse_opaque="true" name="Teleport Routing: " v_pad="0" width="278">
Règles de téléportation:
</text>
<combo_box allow_text_entry="false" bottom="-375" enabled="true" follows="left|top"
height="18" left="120" max_chars="20" mouse_opaque="true"
name="landing type"
tool_tip="Teleport Routing -- select how to handle teleports onto your land."
width="120">
<combo_item type="string" length="1" enabled="true" name="Blocked" value="Blocked">
Bloqué
</combo_item>
<combo_item type="string" length="1" enabled="true" name="LandingPoint" value="Landing Point">
Lieu d&apos;arrivée fixe
</combo_item>
<combo_item type="string" length="1" enabled="true" name="Anywhere" value="Anywhere">
Lieu d&apos;arrivée libre
</combo_item>
</combo_box>
<string name="push_restrict_text">
Pas de bousculades
</string>
<string name="push_restrict_region_text">
Pas de bousculades (les règles de la région priment)
</string>
</panel>
<panel label="Médias" name="land_media_panel">
<text name="with media:" width="85">
Type de média :
</text>
<combo_box left="97" name="media type" tool_tip="Indiquez s&apos;il s&apos;agit de l&apos;URL d&apos;un film, d&apos;une page web ou autre"/>
<text name="mime_type"/>
<text name="at URL:" width="85">
URL du média :
</text>
<line_editor left="97" name="media_url"/>
<button label="Définir..." label_selected="Définir..." name="set_media_url"/>
<text name="Description:">
Description :
</text>
<line_editor left="97" name="url_description" tool_tip="Texte affiché à côté du bouton Jouer/Charger"/>
<text length="1" name="Media texture:" type="string">
Remplacer
la texture :
</text>
<texture_picker label="" left="97" name="media texture" tool_tip="Cliquez pour sélectionner une image"/>
<text name="replace_texture_help">
(Les objets avec cette texture affichent le film ou
la page web quand vous cliquez sur la flèche Jouer.)
</text>
<text name="Options:">
Options
média :
</text>
<check_box label="Échelle automatique" left="97" name="media_auto_scale" tool_tip="Si vous sélectionnez cette option, le contenu de cette parcelle sera automatiquement mis à l&apos;échelle. La qualité visuelle sera peut-être amoindrie mais vous n&apos;aurez à faire aucune autre mise à l&apos;échelle ou alignement."/>
<check_box label="En boucle" name="media_loop" tool_tip="Jouer le média en boucle. Lorsque le média aura fini de jouer, il recommencera."/>
<check_box label="Masquer l&apos;URL du média" left="97" name="hide_media_url" tool_tip="Si vous cochez cette option, les personnes non autorisées à accéder aux infos de cette parcelle ne verront pas l&apos;URL du média. Cette option n&apos;est pas disponible pour les fichiers HTML."/>
<check_box label="Masquer l&apos;URL de la musique" name="hide_music_url" tool_tip="Si vous cochez cette option, les personnes non autorisées à accéder aux infos de cette parcelle ne verront pas l&apos;URL de la musique."/>
<text left="102" name="media_size" tool_tip="Taille du média Web, laisser 0 pour la valeur par défaut." width="105">
Taille du média :
</text>
<spinner left_delta="89" name="media_size_width" tool_tip="Taille du média Web, laisser 0 pour la valeur par défaut."/>
<spinner name="media_size_height" tool_tip="Taille du média Web, laisser 0 pour la valeur par défaut."/>
<text name="pixels">
pixels
</text>
<text bottom_delta="-28" name="MusicURL:">
URL de la
musique :
</text>
<line_editor bottom_delta="-12" left="97" name="music_url"/>
<text name="Sound:">
Son :
</text>
<check_box label="Limiter les gestes et sons d&apos;objet à cette parcelle" left="97" name="check sound local"/>
<button label="?" label_selected="?" left="378" name="?"/>
<text name="Voice settings:">
Voix :
</text>
<check_box label="Activer le chat vocal" left="97" name="parcel_enable_voice_channel"/>
<check_box label="Activer le chat vocal (contrôlé par le domaine)" left="97" name="parcel_enable_voice_channel_is_estate_disabled"/>
<check_box label="Limiter le chat vocal à cette parcelle" left="117" name="parcel_enable_voice_channel_parcel"/>
</panel>
<panel label="Accès" name="land_access_panel">
<text length="1" name="Limit access to this parcel to:" type="string">
Accès à cette parcelle
</text>
<check_box label="Autoriser l&apos;accès public" name="public_access"/>
<text name="Only Allow">
Bloquer l&apos;accès aux résidents :
</text>
<check_box label="Qui n&apos;ont pas fourni leurs informations de paiement à Linden Lab" name="limit_payment" tool_tip="Aux résidents non identifés"/>
<check_box label="Dont l&apos;âge n&apos;a pas été vérifié" name="limit_age_verified" tool_tip="Aux résidents dont l&apos;âge n&apos;a pas été vérifié. Pour plus d&apos;infos, consultez la page support.secondlife.com."/>
<string name="estate_override">
Au moins une de ces options est définie au niveau du domaine.
</string>
<check_box label="Autoriser l&apos;accès au groupe : [GROUP]" name="GroupCheck" tool_tip="Définir le groupe à l&apos;onglet Général."/>
<check_box label="Vendre des pass à :" name="PassCheck" tool_tip="Autoriser un accès temporaire à cette parcelle"/>
<combo_box name="pass_combo">
<combo_item name="Anyone">
Tout le monde
</combo_item>
<combo_item name="Group">
Groupe
</combo_item>
</combo_box>
<spinner label="Prix en L$ :" name="PriceSpin"/>
<spinner label="Durée en heures :" name="HoursSpin"/>
<text label="Toujours autoriser" name="AllowedText">
Résidents autorisés
</text>
<name_list name="AccessList" tool_tip="([LISTED] listés, [MAX] max)"/>
<button label="Ajouter..." label_selected="Ajouter..." name="add_allowed"/>
<button label="Supprimer" label_selected="Supprimer" name="remove_allowed"/>
<text label="Bannir" name="BanCheck">
Résidents bannis
</text>
<name_list name="BannedList" tool_tip="([LISTED] listés, [MAX] max)"/>
<button label="Ajouter..." label_selected="Ajouter..." name="add_banned"/>
<button label="Supprimer" label_selected="Supprimer" name="remove_banned"/>
</panel>
</tab_container>
</floater>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="active_speakers" title="Intervenants actifs">
<panel name="active_speakers_panel">
<scroll_list name="speakers_list">
<column label="Nom" name="speaker_name"/>
</scroll_list>
<panel name="volume_container">
<button name="mute_btn" tool_tip="Ignorer ce résident"/>
</panel>
</panel>
</floater>

View File

@@ -0,0 +1,165 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Animation Preview" title="">
<text name="name_label">
Nom :
</text>
<text name="description_label">
Description :
</text>
<spinner label="Priorité" name="priority" tool_tip="Contrôle quelles animations peuvent êtres écrasées par cette animation."/>
<text name="preview_label" width="110">
Prévisualiser pendant
</text>
<combo_box label="" name="preview_base_anim" tool_tip="Utilisez cette option pour tester votre animation pendant que votre avatar fait des choses banales." left_delta="116" width="124">
<combo_item name="Standing">
Debout
</combo_item>
<combo_item name="Walking">
En train de marcher
</combo_item>
<combo_item name="Sitting">
Assis
</combo_item>
<combo_item name="Flying">
En train de voler
</combo_item>
</combo_box>
<check_box left="6" label="Boucle" name="loop_check" tool_tip="Joue cette animation en boucle."/>
<spinner left="76" label_width="55" width="105" label="Début (%)" name="loop_in_point" tool_tip="Définit le moment de l&apos;animation où la boucle repart."/>
<spinner left="195" label="Fin (%)" name="loop_out_point" tool_tip="Définit le moment de l&apos;animation où la boucle finit."/>
<text name="hand_label" width="110">
Mouvement de main
</text>
<combo_box label="" name="hand_pose_combo" tool_tip="Contrôle le mouvement des mains au cours de l&apos;animation" left_delta="116" width="124">
<combo_item name="Spread">
Doigts écartés
</combo_item>
<combo_item name="Relaxed">
Détendues
</combo_item>
<combo_item name="PointBoth">
Pointer (les deux)
</combo_item>
<combo_item name="Fist">
Poing
</combo_item>
<combo_item name="RelaxedLeft">
Détendue (gauche)
</combo_item>
<combo_item name="PointLeft">
Pointer (gauche)
</combo_item>
<combo_item name="FistLeft">
Poing (gauche)
</combo_item>
<combo_item name="RelaxedRight">
Détendue (droite)
</combo_item>
<combo_item name="PointRight">
Pointer (droite)
</combo_item>
<combo_item name="FistRight">
Poing (droite)
</combo_item>
<combo_item name="SaluteRight">
Saluer (droite)
</combo_item>
<combo_item name="Typing">
Taper
</combo_item>
<combo_item name="PeaceRight">
Paix (main droite)
</combo_item>
</combo_box>
<text name="emote_label">
Expression
</text>
<combo_box label="" name="emote_combo" tool_tip="Contrôle l&apos;expression du visage au cours de l&apos;animation." left_delta="116" width="124">
<combo_item name="[None]">
[None]
</combo_item>
<combo_item name="Aaaaah">
Aaaaah
</combo_item>
<combo_item name="Afraid">
Effrayé
</combo_item>
<combo_item name="Angry">
En colère
</combo_item>
<combo_item name="BigSmile">
Grand sourire
</combo_item>
<combo_item name="Bored">
Ennui
</combo_item>
<combo_item name="Cry">
Pleurer
</combo_item>
<combo_item name="Disdain">
Mépris
</combo_item>
<combo_item name="Embarrassed">
Gêne
</combo_item>
<combo_item name="Frown">
Froncer les sourcils
</combo_item>
<combo_item name="Kiss">
Embrasser
</combo_item>
<combo_item name="Laugh">
Rire
</combo_item>
<combo_item name="Plllppt">
Plllppt
</combo_item>
<combo_item name="Repulsed">
Dégoût
</combo_item>
<combo_item name="Sad">
Triste
</combo_item>
<combo_item name="Shrug">
Hausser les épaules
</combo_item>
<combo_item name="Smile">
Sourire
</combo_item>
<combo_item name="Surprise">
Surprise
</combo_item>
<combo_item name="Wink">
Clin d&apos;œil
</combo_item>
<combo_item name="Worry">
Soucis
</combo_item>
</combo_box>
<spinner label_width="65" label="Transition &#10;début (s)" name="ease_in_time" tool_tip="Durée (en secondes) pendant laquelle l&apos;animation s&apos;intègre au mouvement."/>
<spinner label_width="65" left="160" width="125" label="Transition &#10;fin (s)" name="ease_out_time" tool_tip="Durée (en secondes) pendant laquelle l&apos;animation disparaît du mouvement."/>
<button label="" name="play_btn" tool_tip="Jouer/Arrêter votre animation." bottom_delta="-48"/>
<button label="" name="stop_btn" tool_tip="Arrêter le playback"/>
<slider label="" name="playback_slider"/>
<text name="bad_animation_text">
Impossible de lire le fichier d&apos;animation.
Nous recommandons les fichiers BVH extraits de
Poser 4.
</text>
<button label="Annuler" name="cancel_btn"/>
<button label="Charger ([UPLOADFEE])" name="ok_btn"/>
<string name="failed_to_initialize">
Echec de l&apos;initialisation du mouvement
</string>
<string name="anim_too_long">
Le fichier d&apos;animation fait [LENGTH] secondes.
La longueur maximale est de [MAX_LENGTH] secondes.
</string>
<string name="failed_file_read">
Impossible de lire le fichier d&apos;animation.
[STATUS]
</string>
</floater>

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="floater_auction" title="Commencer la vente de terrain Linden">
<check_box label="Inclure le marquage de sélection jaune" name="fence_check" />
<combo_box name="saletype_combo">
<combo_item name="Auction">
Enchères
</combo_item>
<combo_item name="FirstLand">
Premier terrain
</combo_item>
</combo_box>
<button label="Capture d&apos;écran" label_selected="Capture d&apos;écran"
name="snapshot_btn" width="110" />
<button label="OK" label_selected="OK" name="ok_btn" left_delta="114"/>
<text name="already for sale">
Vous ne pouvez pas mettre aux enchères des parcelles déjà en vente.
</text>
</floater>

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="Volume" title="Volume">
<panel label="Volume" name="Volume Panel" />
</floater>

View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="avatarpicker" title="Choisir le résident">
<tab_container name="ResidentChooserTabs">
<panel label="Rechercher" name="SearchPanel">
<text name="InstructSearchResidentName">
Saisissez une partie du nom du résident :
</text>
<button label="Trouver" label_selected="Trouver" name="Find"/>
</panel>
<panel label="Cartes de visite" name="CallingCardsPanel">
<text name="InstructSelectCallingCard">
Sélectionnez une carte de visite :
</text>
</panel>
<panel label="Près de moi" name="NearMePanel">
<text name="InstructSelectResident">
Choisir un résident
près de vous :
</text>
<button font="SansSerifSmall" label="Rafraîchir la liste" label_selected="Rafraîchir la liste" name="Refresh" left_delta="10" width="105"/>
<slider label="Distance" name="near_me_range" bottom_delta="-36"/>
<text name="meters">
mètres
</text>
<scroll_list bottom_delta="-169" height="159" name="NearMe" />
</panel>
</tab_container>
<button label="Sélectionner" label_selected="Sélectionner" name="Select"/>
<button label="Annuler" label_selected="Annuler" name="Cancel"/>
<string name="not_found">
&apos;[TEXT]&apos; introuvable
</string>
<string name="no_one_near">
Il n'y a personne près de vous
</string>
<string name="no_results">
Aucun résultat
</string>
<string name="searching">
Recherche...
</string>
</floater>

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="avatar_texture_debug" title="Textures de l&apos;avatar">
<text name="label">
Textures fixées
</text>
<text name="composite_label">
Textures composées
</text>
<button label="Vider ces ID dans la console" label_selected="Vider" name="Dump" left="-185" width="175"/>
<texture_picker label="Cheveux" name="hair-baked"/>
<texture_picker label="Cheveux" name="hair"/>
<texture_picker label="Tête" name="head-baked"/>
<texture_picker label="Maquillage" name="head bodypaint"/>
<texture_picker label="Yeux" name="eyes-baked"/>
<texture_picker label="Œil" name="iris"/>
<texture_picker label="Haut du corps" name="upper-baked"/>
<texture_picker label="Tatouage (haut du corps)" name="upper bodypaint"/>
<texture_picker label="Tee Shirt" name="undershirt"/>
<texture_picker label="Gants" name="gloves"/>
<texture_picker label="Chemise" name="shirt"/>
<texture_picker label="Veste (haut)" name="upper jacket"/>
<texture_picker label="Bas du corps" name="lower-baked"/>
<texture_picker label="Tatouage (bas du corps)" name="lower bodypaint"/>
<texture_picker label="culotte" name="underpants"/>
<texture_picker label="Chaussettes" name="socks"/>
<texture_picker label="Chaussures" name="shoes"/>
<texture_picker label="Pantalon" name="pants"/>
<texture_picker label="Veste" name="lower jacket"/>
<texture_picker label="Jupe" name="skirt-baked"/>
<texture_picker label="Jupe" name="skirt"/>
</floater>

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="beacons" title="Balises">
<panel name="beacons_panel">
<check_box label="Objets scriptés avec Toucher uniquement" name="touch_only"/>
<check_box label="Objets scriptés" name="scripted"/>
<check_box label="Objets physiques" name="physical"/>
<check_box label="Sources sonores" name="sounds"/>
<check_box label="Sources de particules" name="particles"/>
<check_box label="Mettre en surbrillance" name="highlights"/>
<check_box label="Montrer les balises" name="beacons"/>
<text name="beacon_width_label">
Largeur de la balise :
</text>
</panel>
</floater>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="build options floater" title="Options de la grille">
<spinner label="Unité (mètres)" name="GridResolution" />
<spinner label="Mesures (mètres)" name="GridDrawSize" />
<check_box label="Activer la fixation des sous-unités" name="GridSubUnit" />
<check_box label="Afficher les sections transversales" name="GridCrossSection" />
<slider label="Opacité de la grille" name="GridOpacity" />
</floater>

View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floaterbulkperms" title="Changement des droits relatifs au contenu">
<text name="applyto">
Types de contenu
</text>
<check_box label="Animation" name="check_animation"/>
<check_box label="Parties du corps" name="check_bodypart"/>
<check_box label="Habits" name="check_clothing"/>
<check_box label="Gestes" name="check_gesture"/>
<check_box label="Repères" name="check_landmark"/>
<check_box label="Notes" name="check_notecard"/>
<check_box label="Objets" name="check_object"/>
<check_box label="Scripts" name="check_script"/>
<check_box label="Sons" name="check_sound"/>
<check_box label="Textures" name="check_texture"/>
<button label="Tout cocher" label_selected="Tout" name="check_all"/>
<button label="Tout décocher" label_selected="Aucun" name="check_none"/>
<text name="newperms">
Nouveaux droits
</text>
<check_box label="Partager avec le groupe" name="share_with_group"/>
<check_box label="Autoriser tout le monde à copier" name="everyone_copy"/>
<text name="NextOwnerLabel">
Le prochain propriétaire pourra :
</text>
<check_box label="Modifier" name="next_owner_modify"/>
<check_box label="Copier" name="next_owner_copy"/>
<check_box label="Revendre/Donner" name="next_owner_transfer"/>
<button label="Aide" name="help"/>
<button label="Appliquer" name="apply"/>
<button label="Fermer" name="close"/>
<string name="nothing_to_modify_text">
La sélection contient des contenus non modifiables.
</string>
<string name="status_text">
Permissions paramétrées sur [NAME]
</string>
<string name="start_text">
Demande de changement des droits lancée...
</string>
<string name="done_text">
Demande de changement des droits finie.
</string>
</floater>

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="floater_bumps" title="Collisions, coups et bousculades">
<text name="none_detected">
Aucun détecté
</text>
<text name="bump">
[TIME] [NAME] est entré en collision avec vous
</text>
<text name="llpushobject">
[TIME] [NAME] vous a bousculé avec un script
</text>
<text name="selected_object_collide">
[TIME] [NAME] vous a donné un coup avec un objet
</text>
<text name="scripted_object_collide">
[TIME] [NAME] vous a donné un coup avec un objet scripté
</text>
<text name="physical_object_collide">
[TIME] [NAME] vous a donné un coup avec un objet physique
</text>
</floater>

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floater_buy_contents" title="Acheter ce contenu">
<text name="contains_text">
[NAME] contient :
</text>
<text name="buy_text">
Acheter [AMOUNT] L$ à [NAME] ?
</text>
<button label="Annuler" label_selected="Annuler" name="cancel_btn"/>
<button label="Acheter" label_selected="Acheter" name="buy_btn"/>
<check_box label="Porter maintenant" name="wear_check"/>
<string name="no_copy_text">
(pas de copie)
</string>
<string name="no_modify_text">
(pas de modification)
</string>
<string name="no_transfer_text">
(pas de transfert)
</string>
</floater>

View File

@@ -0,0 +1,69 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="buy currency" title="Acheter des L$">
<text left="5" name="info_buying">
Achat de L$ :
</text>
<text left="5" name="info_cannot_buy" right="-5">
Impossible d&apos;acheter maintenant :
</text>
<text left="5" name="info_need_more" right="-5">
Vous avez besoin de plus de devises:
</text>
<text name="error_message">
Quelque chose ne va pas.
</text>
<button label="Aller sur le site" name="error_web"/>
<text name="contacting">
En train de contacter le Lindex...
</text>
<text name="buy_action_unknown" right="-5">
Acheter des L$ sur le marché du LindeX
</text>
<text name="buy_action">
[NAME] L$ [PRICE]
</text>
<text name="currency_action">
Acheter
</text>
<line_editor name="currency_amt" width="65">
1234
</line_editor>
<text name="currency_est" width="138" left_delta="68">
L$ pour environ [USD] US$
</text>
<text name="getting_data" width="138">
Obtention des données...
</text>
<text name="balance_label">
Actuellement, vous avez
</text>
<text name="balance_amount">
[AMT] L$
</text>
<text name="buying_label">
Vous achetez
</text>
<text name="buying_amount">
[AMT] L$
</text>
<text name="total_label">
Votre solde sera de
</text>
<text name="total_amount">
[AMT] L$
</text>
<text name="purchase_warning_repurchase" height="48" bottom_delta="-64" right="-10">
En confirmant cette transaction, vous achetez
uniquement les devises. Vous devrez recommencer
cette opération.
</text>
<text name="purchase_warning_notenough" bottom_delta="16">
Vous n&apos;achetez pas assez de devises.
Veuillez saisir un montant plus élevé.
</text>
<button label="Acheter" name="buy_btn"/>
<button label="Annuler" name="cancel_btn"/>
<string name="buy_currency">
Acheter [LINDENS] L$ pour environ [USD] US$
</string>
</floater>

View File

@@ -0,0 +1,243 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="buy land" title="Acheter le terrain">
<text name="region_name_label">
Région :
</text>
<text name="region_name_text">
(inconnue)
</text>
<text name="region_type_label">
Type :
</text>
<text name="region_type_text">
(inconnu)
</text>
<text name="estate_name_label">
Domaine :
</text>
<text name="estate_name_text">
(inconnu)
</text>
<text name="estate_owner_label">
Propriétaire :
</text>
<text name="estate_owner_text">
(inconnu)
</text>
<text name="resellable_changeable_label">
Terrain acheté dans cette région :
</text>
<text name="resellable_clause">
Peut être revendu ou pas.
</text>
<text name="changeable_clause">
Peut être fusionné/divisé ou pas.
</text>
<text name="covenant_text">
Vous devez accepter le règlement du domaine :
</text>
<text left="470" name="covenant_timestamp_text"/>
<text_editor name="covenant_editor">
Chargement...
</text_editor>
<check_box label="J&apos;accepte le règlement ci-dessus." name="agree_covenant"/>
<text name="info_parcel_label">
Parcelle :
</text>
<text name="info_parcel">
Scotopteryx 138,204
</text>
<text name="info_size_label">
Taille :
</text>
<text name="info_size">
1024 m²
</text>
<text name="info_price_label">
Prix :
</text>
<text name="info_price">
1500 L$
(1,1 L$/m²)
vendu avec objets
</text>
<text name="info_action" width="380">
Si vous achetez ce terrain :
</text>
<text name="error_message">
Quelque chose ne va pas.
</text>
<button label="Aller sur le site" name="error_web"/>
<text name="account_action">
Vous passerez à un compte Premium.
</text>
<text name="account_reason">
Seuls les membres Premium peuvent posséder du terrain.
</text>
<combo_box name="account_level">
<combo_item name="US$9.95/month,billedmonthly">
9,95 US$/mois, facturation mensuelle
</combo_item>
<combo_item name="US$7.50/month,billedquarterly">
7,50 US$/mois, facturation trimestrielle
</combo_item>
<combo_item name="US$6.00/month,billedannually">
6,00 US$/mois, facturation annuelle
</combo_item>
</combo_box>
<text name="land_use_action">
Augmentez vos frais d&apos;occupation de terrain à 40 US$/mois.
</text>
<text name="land_use_reason">
Vous êtes propriétaire de 1 309 m² de terrain.
Cette parcelle fait 512 m².
</text>
<text name="purchase_action">
Payez au résident X 4 000 L$ pour le terrain
</text>
<text name="currency_reason">
Vous avez 2 100 L$.
</text>
<text name="currency_action">
Acheter des L$
</text>
<line_editor name="currency_amt">
1000
</line_editor>
<text name="currency_est">
pour environ [AMOUNT2] US$
</text>
<text name="currency_balance">
Vous avez 2 100 L$.
</text>
<check_box label="Supprimer [AMOUNT] mètres carrés de votre contribution au groupe." name="remove_contribution"/>
<button label="Acheter" name="buy_btn"/>
<button label="Annuler" name="cancel_btn"/>
<string name="can_resell">
Peut être revendu.
</string>
<string name="can_not_resell">
Ne peut pas être revendu.
</string>
<string name="can_change">
Peut être fusionné ou divisé.
</string>
<string name="can_not_change">
Ne peut pas être fusionné ou divisé.
</string>
<string name="cant_buy_for_group">
Vous n&apos;avez pas la permission d&apos;acheter de terrain pour votre groupe.
</string>
<string name="no_land_selected">
Aucun terrain sélectionné.
</string>
<string name="multiple_parcels_selected">
Vous avez sélectionné plusieurs parcelles.
Sélectionnez une zone plus petite.
</string>
<string name="no_permission">
Vous n&apos;avez pas la permission d&apos;acheter de terrain pour votre groupe.
</string>
<string name="parcel_not_for_sale">
La parcelle sélectionnée n&apos;est pas à vendre.
</string>
<string name="group_already_owns">
La parcelle appartient déjà au groupe.
</string>
<string name="you_already_own">
La parcelle vous appartient déjà.
</string>
<string name="set_to_sell_to_other">
La parcelle sélectionnée doit déjà être vendue à quelqu&apos;un d&apos;autre.
</string>
<string name="no_public_land">
Il n&apos;y a pas de terrain public dans cette zone.
</string>
<string name="not_owned_by_you">
Le terrain sélectionné appartient à quelqu&apos;un d&apos;autre.
Sélectionnez une zone plus petite.
</string>
<string name="processing">
Achat en cours de traitement...
(Veuillez patienter quelques instants.)
</string>
<string name="fetching_error">
Une erreur s&apos;est produite pendant le traitement de l&apos;achat du terrain.
</string>
<string name="buying_will">
Si vous achetez ce terrain :
</string>
<string name="buying_for_group">
Si vous achetez le terrain pour le groupe :
</string>
<string name="cannot_buy_now">
Impossible d&apos;acheter maintenant :
</string>
<string name="not_for_sale">
Pas à vendre :
</string>
<string name="none_needed">
aucun besoin
</string>
<string name="must_upgrade">
Pour posséder du terrain, vous devez avoir un niveau de compte supérieur.
</string>
<string name="cant_own_land">
Avec votre compte, vous pouvez posséder du terrain.
</string>
<string name="land_holdings">
Vous possédez un terrain de [BUYER] m².
</string>
<string name="pay_to_for_land">
Payez [AMOUNT] L$ à [SELLER] pour ce terrain
</string>
<string name="buy_for_US">
Acheter [AMOUNT] L$ pour environ [AMOUNT2] US$,
</string>
<string name="parcel_meters">
Cette parcelle fait [AMOUNT] m².
</string>
<string name="premium_land">
Ce terrain est premium et les frais associés sont ceux d&apos;un terrain de [AMOUNT] m².
</string>
<string name="discounted_land">
Ce terrain est en solde et les frais associés sont ceux d&apos;un terrain de [AMOUNT] m².
</string>
<string name="meters_supports_object">
[AMOUNT] m²
peuvent contenir [AMOUNT2] prims
</string>
<string name="sold_with_objects">
vendu avec objets
</string>
<string name="sold_without_objects">
objets non inclus
</string>
<string name="info_price_string">
[PRICE] L$
([PRICE_PER_SQM] L$/m²)
[SOLD_WITH_OBJECTS]
</string>
<string name="insufficient_land_credits">
Ce groupe, [GROUP], aura besoin de suffisamment de crédit pour payer les frais d&apos;occupation de terrain avant que l&apos;achat de cette parcelle ne soit finalisé.
</string>
<string name="have_enough_lindens">
Vous avez [AMOUNT] L$, ce qui est suffisant pour acheter ce terrain.
</string>
<string name="not_enough_lindens">
Vous n&apos;avez que [AMOUNT] L$ et vous avez besoin de [AMOUNT2] L$ de plus.
</string>
<string name="balance_left">
Après cet achat, il vous restera [AMOUNT] L$.
</string>
<string name="balance_needed">
Pour avoir les moyens d&apos;acquérir ce terrain, vous devez acheter au moins [AMOUNT] L$.
</string>
<string name="no_parcel_selected">
(aucune parcelle sélectionnée)
</string>
<string name="buy_currency">
Acheter [LINDENS] L$ pour environ [USD] US$
</string>
</floater>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="contents" title="Acheter une copie de l&apos;objet">
<text name="contents_text">
et ses contenus :
</text>
<text name="buy_text">
Acheter pour [AMOUNT] L$ à [NAME] ?
</text>
<button label="Annuler" label_selected="Annuler" name="cancel_btn"/>
<button label="Acheter" label_selected="Acheter" name="buy_btn"/>
<string name="title_buy_text">
Acheter
</string>
<string name="title_buy_copy_text">
Acheter une copie
</string>
<string name="no_copy_text">
(pas de copie)
</string>
<string name="no_modify_text">
(pas de modification)
</string>
<string name="no_transfer_text">
(pas de transfert)
</string>
</floater>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="move floater">
<string name="rotate_tooltip">
Faire tourner la caméra autour du point central
</string>
<string name="zoom_tooltip">
Zoomer en direction du point central
</string>
<string name="move_tooltip">
Déplacer la caméra vers le haut et le bas, la gauche et la droite
</string>
</floater>

View File

@@ -0,0 +1,98 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="chat floater" title="Chat local">
<string name="ringing">
Connexion au chat vocal du Monde en cours…
</string>
<string name="connected">
Connecté(e)
</string>
<string name="unavailable">
Voix non disponible à l&apos;endroit où vous êtes
</string>
<string name="hang_up">
Déconnecté du chat vocal
</string>
<string name="voice_icon">
icn_voice-localchat.tga
</string>
<string name="IM_logging_string">
-- Archivage des IM activé --
</string>
<string name="IM_end_log_string">
- Fin de l&apos;archivage --
</string>
<string name="ScriptQuestionCautionChatGranted">
&apos;[OBJECTNAME]&apos;, un objet appartenant à [OWNERNAME], situé dans [REGIONNAME] à [REGIONPOS], a reçu le droit de : [PERMISSIONS].
</string>
<string name="ScriptQuestionCautionChatDenied">
&apos;[OBJECTNAME]&apos;, un objet appartenant à [OWNERNAME], situé dans [REGIONNAME] à [REGIONPOS], n&apos;a pas reçu le droit de : [PERMISSIONS].
</string>
<string name="ScriptTakeMoney">
Débiter vos Linden dollars (L$)
</string>
<string name="ActOnControlInputs">
Utiliser vos touches de commandes
</string>
<string name="RemapControlInputs">
Reconfigurer vos touches de commandes
</string>
<string name="AnimateYourAvatar">
Animer votre avatar
</string>
<string name="AttachToYourAvatar">
Attacher à votre avatar
</string>
<string name="ReleaseOwnership">
Passer l&apos;objet dans le domaine public (sans propriétaire)
</string>
<string name="LinkAndDelink">
Lier et délier d&apos;autres objets
</string>
<string name="AddAndRemoveJoints">
Créer et supprimer des liens avec d&apos;autres objets
</string>
<string name="ChangePermissions">
Modifier ses droits
</string>
<string name="TrackYourCamera">
Suivre votre caméra
</string>
<string name="ControlYourCamera">
Contrôler votre caméra
</string>
<layout_stack name="panels">
<layout_panel name="im_contents_panel">
<combo_box label="Gestures" name="Gesture">
<combo_item name="Gestures">
Gestures
</combo_item>
</combo_box>
<check_box label="Afficher le texte ignoré" name="show mutes"/>
<check_box bottom_delta="-15" enabled="true" follows="left|top" font="SansSerifSmall"
height="20" initial_value="false" label="Traduire le Chat" left_delta="0"
name="translate chat" radio_style="false" width="100" />
<button bottom_delta="8" left_delta="180" follows="left|top" font="SansSerifSmall"
height="20" width="100" label="Historique" name="chat_history_open"
tool_top="Click here to open chat history in external editor." />
<button label="&lt; &lt;" label_selected="&gt; &gt;" name="toggle_active_speakers_btn" tool_tip="Cliquez ici pour voir la liste des participants actifs dans cette session IM."/>
<panel name="chat_panel">
<string name="gesture_label">
Gestures
</string>
<line_editor label="Cliquer ici pour chatter." name="Chat Editor"/>
<flyout_button label="Dire" name="Say" tool_tip="(Entrée)">
<flyout_button_item name="shout_item">
Crier
</flyout_button_item>
<flyout_button_item name="say_item">
Dire
</flyout_button_item>
<flyout_button_item name="whisper_item">
Chuchoter
</flyout_button_item>
</flyout_button>
</panel>
</layout_panel>
</layout_stack>
</floater>

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<multi_floater name="floater_chatterbox" title="Communiquer" />

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="groups" title="Groupes">
<text name="groupdesc">
Choisissez un groupe :
</text>
<button label="OK" label_selected="OK" name="OK" />
<button label="Annuler" label_selected="Annuler" name="Cancel" />
</floater>

View File

@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="ColorPicker" title="Choix de texture et de couleur">
<text name="r_val_text">
Rouge :
</text>
<text name="g_val_text">
Vert :
</text>
<text name="b_val_text">
Bleu :
</text>
<text name="h_val_text">
Teinte :
</text>
<text name="s_val_text">
Sat :
</text>
<text name="l_val_text">
Lum :
</text>
<check_box label="Application auto" left="4" name="apply_immediate" width="108"/>
<button label="" label_selected="" left_delta="138" name="color_pipette"/>
<button label="Annuler" label_selected="Annuler" name="cancel_btn"/>
<button label="Sélectionner" label_selected="Sélectionner" name="select_btn"/>
<text left="8" name="Current color:">
Couleur actuelle :
</text>
<text left="8" name="(Drag below to save.)" width="114">
(Faire glisser dessous
pour enregistrer.)
</text>
</floater>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="modal container" title=" ">
<button label="Continuer" label_selected="Continuer" name="Continue" />
<button label="Annuler" label_selected="Annuler" name="Cancel" />
<text name="tos_heading">
Veuillez lire le message suivant avec attention.
</text>
<text_editor name="tos_text">
TOS_TEXT
</text_editor>
</floater>

View File

@@ -0,0 +1,502 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floater customize" title="Apparence" width="548">
<tab_container name="customize tab container" tab_min_width="150" width="546">
<panel label="Parties du corps" name="body_parts_placeholder"/>
<panel label="Silhouette" left="154" name="Shape" width="389">
<button label="Rétablir" label_selected="Rétablir" left="305" name="Revert" width="82"/>
<button label="Corps" label_selected="Corps" name="Body"/>
<button label="Tête" label_selected="Tête" name="Head"/>
<button label="Yeux" label_selected="Yeux" name="Eyes"/>
<button label="Oreilles" label_selected="Oreilles" name="Ears"/>
<button label="Nez" label_selected="Nez" name="Nose"/>
<button label="Bouche" label_selected="Bouche" name="Mouth"/>
<button label="Menton" label_selected="Menton" name="Chin"/>
<button label="Torse" label_selected="Torse" name="Torso"/>
<button label="Jambes" label_selected="Jambes" name="Legs"/>
<radio_group name="sex radio">
<radio_item length="1" name="radio" type="string">
Femme
</radio_item>
<radio_item length="1" name="radio2" type="string">
Homme
</radio_item>
</radio_group>
<text length="1" name="title" type="string">
[DESC]
</text>
<text length="1" name="title_no_modify" type="string">
[DESC]: impossible de modifier
</text>
<text length="1" name="title_loading" type="string">
[DESC]: en cours de chargement...
</text>
<text length="1" name="title_not_worn" type="string">
[DESC]: non portée
</text>
<text length="1" name="path" type="string">
Emplacement : [PATH]
</text>
<text length="1" name="not worn instructions" type="string">
Pour changer de silhouette, faites-en glisser une à partir de votre
inventaire jusqu&apos;à votre avatar. Vous pouvez aussi en créer une nouvelle
et de la porter.
</text>
<text length="1" name="no modify instructions" type="string">
Vous n&apos;avez pas la permission de modifier cet objet.
</text>
<text name="Item Action Label" right="92">
Silhouette :
</text>
<button label="Créer une silhouette" label_selected="Créer une silhouette" name="Create New"/>
<button label="Enregistrer" label_selected="Enregistrer" left="100" name="Save" width="82"/>
<button label="Enregistrer sous..." label_selected="Enregistrer sous..." left="188" name="Save As" width="111"/>
</panel>
<panel label="Peau" name="Skin">
<button label="Couleur" label_selected="Couleur" name="Skin Color" width="84"/>
<button label="Détails visage" label_selected="Détails visage" name="Face Detail" width="84"/>
<button label="Maquillage" label_selected="Maquillage" name="Makeup" width="84"/>
<button label="Détails corps" label_selected="Détails corps" name="Body Detail" width="84"/>
<text length="1" name="title" type="string">
[DESC]
</text>
<text length="1" name="title_no_modify" type="string">
[DESC]: impossible de modifier
</text>
<text length="1" name="title_loading" type="string">
[DESC]: en cours de chargement...
</text>
<text length="1" name="title_not_worn" type="string">
[DESC]: non portée
</text>
<text length="1" name="path" type="string">
Emplacement : [PATH]
</text>
<text length="1" name="not worn instructions" type="string">
Pour changer de peau, faites-en glisser une à partir de votre inventaire.
Vous pouvez aussi en créer une nouvelle et la porter.
</text>
<text length="1" name="no modify instructions" type="string">
Vous n&apos;avez pas la permission de modifier cet objet.
</text>
<text name="Item Action Label" right="92">
Peau :
</text>
<texture_picker label="Tatouages tête" name="Head Tattoos" tool_tip="Cliquez pour sélectionner une image" width="78"/>
<texture_picker label="Tatouages haut" name="Upper Tattoos" tool_tip="Cliquez pour sélectionner une image" width="78"/>
<texture_picker label="Tatouages bas" name="Lower Tattoos" tool_tip="Cliquez pour sélectionner une image" width="78"/>
<button label="Créer une peau" label_selected="Créer une peau" name="Create New"/>
<button label="Enregistrer" label_selected="Enregistrer" left="100" name="Save" width="82"/>
<button label="Enregistrer sous..." label_selected="Enregistrer sous..." left="188" name="Save As" width="111"/>
<button label="Rétablir" label_selected="Rétablir" left="305" name="Revert" width="82"/>
</panel>
<panel label="Cheveux" name="Hair">
<button label="Couleur" label_selected="Couleur" name="Color"/>
<button label="Style" label_selected="Style" name="Style"/>
<button label="Sourcils" label_selected="Sourcils" name="Eyebrows"/>
<button label="Pilosité" label_selected="Pilosité" name="Facial"/>
<text length="1" name="title" type="string">
[DESC]
</text>
<text length="1" name="title_no_modify" type="string">
[DESC]: impossible de modifier
</text>
<text length="1" name="title_loading" type="string">
[DESC]: en cours de chargement...
</text>
<text length="1" name="title_not_worn" type="string">
[DESC]: non portés
</text>
<text length="1" name="path" type="string">
Emplacement : [PATH]
</text>
<text length="1" name="not worn instructions" type="string">
Pour changer de chevelure, faites-en glisser une de votre inventaire
jusqu&apos;à votre avatar. Vous pouvez aussi en créer une nouvelle
et la porter.
</text>
<text length="1" name="no modify instructions" type="string">
Vous n&apos;avez pas la permission de modifier cet objet.
</text>
<text name="Item Action Label" right="92">
Cheveux :
</text>
<texture_picker label="Texture" name="Texture" tool_tip="Cliquez pour sélectionner une image"/>
<button label="Créer des cheveux" label_selected="Créer des cheveux" name="Create New"/>
<button label="Enregistrer" label_selected="Enregistrer" left="100" name="Save" width="82"/>
<button label="Enregistrer sous..." label_selected="Enregistrer sous..." left="188" name="Save As" width="111"/>
<button label="Rétablir" label_selected="Rétablir" left="305" name="Revert" width="82"/>
</panel>
<panel label="Yeux" name="Eyes">
<text length="1" name="title" type="string">
[DESC]
</text>
<text length="1" name="title_no_modify" type="string">
[DESC]: impossible de modifier
</text>
<text length="1" name="title_loading" type="string">
[DESC]: en cours de chargement...
</text>
<text length="1" name="title_not_worn" type="string">
[DESC]: non portés
</text>
<text length="1" name="path" type="string">
Emplacement : [PATH]
</text>
<text length="1" name="not worn instructions" type="string">
Pour changer vos yeux, faites-les glisser de votre inventaire jusqu&apos;à
votre avatar. Vous pouvez aussi en créer de nouveaux et les porter.
</text>
<text length="1" name="no modify instructions" type="string">
Vous n&apos;avez pas la permission de modifier cet objet.
</text>
<text name="Item Action Label" right="92">
Yeux :
</text>
<texture_picker label="Iris" name="Iris" tool_tip="Cliquez pour sélectionner une image"/>
<button label="Créer des yeux" label_selected="Créer des yeux" name="Create New"/>
<button label="Enregistrer" label_selected="Enregistrer" left="100" name="Save" width="82"/>
<button label="Enregistrer sous..." label_selected="Enregistrer sous..." left="188" name="Save As" width="111"/>
<button label="Rétablir" label_selected="Rétablir" left="305" name="Revert" width="82"/>
</panel>
<panel label="Habits" name="clothes_placeholder"/>
<panel label="Chemise" name="Shirt">
<texture_picker label="Tissu" name="Fabric" tool_tip="Cliquez pour sélectionner une image" width="74"/>
<color_swatch label="Couleur/Teinte" name="Color/Tint" tool_tip="Cliquer pour ouvrir le sélecteur de couleurs" width="74"/>
<button label="Créer une chemise" label_selected="Créer une chemise" name="Create New"/>
<button label="Enlever" label_selected="Enlever" left="12" name="Take Off" width="82"/>
<button label="Enregistrer" label_selected="Enregistrer" left="100" name="Save" width="82"/>
<button label="Enregistrer sous..." label_selected="Enregistrer sous..." left="188" name="Save As" width="111"/>
<button label="Rétablir" label_selected="Rétablir" left="305" name="Revert" width="82"/>
<text length="1" name="title" type="string">
[DESC]
</text>
<text length="1" name="title_no_modify" type="string">
[DESC]: impossible de modifier
</text>
<text length="1" name="title_loading" type="string">
[DESC]: en cours de chargement...
</text>
<text length="1" name="title_not_worn" type="string">
[DESC]: non portée
</text>
<text length="1" name="path" type="string">
Emplacement : [PATH]
</text>
<text length="1" name="not worn instructions" type="string">
Pour porter une nouvelle chemise, faites-en glisser une de votre inventaire
jusqu&apos;à votre avatar. Vous pouvez aussi en créer une nouvelle et la porter.
</text>
<text length="1" name="no modify instructions" type="string">
Vous n&apos;avez pas la permission de modifier cet objet.
</text>
<text name="Item Action Label" right="92">
Chemise :
</text>
</panel>
<panel label="Pantalon" name="Pants">
<texture_picker label="Tissu" name="Fabric" tool_tip="Cliquez pour sélectionner une image" width="74"/>
<color_swatch label="Couleur/Teinte" name="Color/Tint" tool_tip="Cliquer pour ouvrir le sélecteur de couleurs" width="74"/>
<button label="Créer un pantalon" label_selected="Créer un pantalon" name="Create New"/>
<button label="Enlever" label_selected="Enlever" left="12" name="Take Off" width="82"/>
<button label="Enregistrer" label_selected="Enregistrer" left="100" name="Save" width="82"/>
<button label="Enregistrer sous..." label_selected="Enregistrer sous..." left="188" name="Save As" width="111"/>
<button label="Rétablir" label_selected="Rétablir" left="305" name="Revert" width="82"/>
<text length="1" name="title" type="string">
[DESC]
</text>
<text length="1" name="title_no_modify" type="string">
[DESC]: impossible de modifier
</text>
<text length="1" name="title_loading" type="string">
[DESC]: en cours de chargement...
</text>
<text length="1" name="title_not_worn" type="string">
[DESC]: non porté
</text>
<text length="1" name="path" type="string">
Emplacement : [PATH]
</text>
<text length="1" name="not worn instructions" type="string">
Pour porter un nouveau pantalon, faites-en glisser un de votre inventaire
jusqu&apos;à votre avatar. Vous pouvez aussi en créer un nouveau et le porter.
</text>
<text length="1" name="no modify instructions" type="string">
Vous n&apos;avez pas la permission de modifier cet objet.
</text>
<text name="Item Action Label" right="92">
Pantalon :
</text>
</panel>
<panel label="Chaussures" name="Shoes">
<text length="1" name="title" type="string">
[DESC]
</text>
<text length="1" name="title_no_modify" type="string">
[DESC]: impossible de modifier
</text>
<text length="1" name="title_loading" type="string">
[DESC]: en cours de chargement...
</text>
<text length="1" name="title_not_worn" type="string">
[DESC]: non portées
</text>
<text length="1" name="path" type="string">
Emplacement : [PATH]
</text>
<text length="1" name="not worn instructions" type="string">
Pour porter de nouvelles chaussures, faites-en glisser une paire de votre
inventaire jusqu&apos;à votre avatar. Vous pouvez aussi en créer une
nouvelle paire et la porter.
</text>
<text length="1" name="no modify instructions" type="string">
Vous n&apos;avez pas la permission de modifier cet objet.
</text>
<text name="Item Action Label" right="92">
Chaussures :
</text>
<texture_picker label="Tissu" name="Fabric" tool_tip="Cliquez pour sélectionner une image" width="74"/>
<color_swatch label="Couleur/Teinte" name="Color/Tint" tool_tip="Cliquer pour ouvrir le sélecteur de couleurs" width="74"/>
<button label="Créer des chaussures" label_selected="Créer des chaussures" name="Create New" />
<button label="Enlever" label_selected="Enlever" left="12" name="Take Off" width="82"/>
<button label="Enregistrer" label_selected="Enregistrer" left="100" name="Save" width="82"/>
<button label="Enregistrer sous..." label_selected="Enregistrer sous..." left="188" name="Save As" width="111"/>
<button label="Rétablir" label_selected="Rétablir" left="305" name="Revert" width="82"/>
</panel>
<panel label="Chaussettes" name="Socks">
<text length="1" name="title" type="string">
[DESC]
</text>
<text length="1" name="title_no_modify" type="string">
[DESC]: impossible de modifier
</text>
<text length="1" name="title_loading" type="string">
[DESC]: en cours de chargement...
</text>
<text length="1" name="title_not_worn" type="string">
[DESC]: non portées
</text>
<text length="1" name="path" type="string">
Emplacement : [PATH]
</text>
<text length="1" name="not worn instructions" type="string">
Pour porter de nouvelles chaussettes, faites-en glisser une paire de votre
inventaire jusqu&apos;à votre avatar. Vous pouvez aussi en créer une
nouvelle paire et la porter.
</text>
<text length="1" name="no modify instructions" type="string">
Vous n&apos;avez pas la permission de modifier cet objet.
</text>
<text name="Item Action Label" right="92">
Chaussettes :
</text>
<texture_picker label="Tissu" name="Fabric" tool_tip="Cliquez pour sélectionner une image" width="74"/>
<color_swatch label="Couleur/Teinte" name="Color/Tint" tool_tip="Cliquer pour ouvrir le sélecteur de couleurs" width="74"/>
<button label="Créer des chaussettes" label_selected="Créer des chaussettes" name="Create New"/>
<button label="Enlever" label_selected="Enlever" left="12" name="Take Off" width="82"/>
<button label="Enregistrer" label_selected="Enregistrer" left="100" name="Save" width="82"/>
<button label="Enregistrer sous..." label_selected="Enregistrer sous..." left="188" name="Save As" width="111"/>
<button label="Rétablir" label_selected="Rétablir" left="305" name="Revert" width="82"/>
</panel>
<panel label="Veste" name="Jacket">
<text length="1" name="title" type="string">
[DESC]
</text>
<text length="1" name="title_no_modify" type="string">
[DESC]: impossible de modifier
</text>
<text length="1" name="title_loading" type="string">
[DESC]: en cours de chargement...
</text>
<text length="1" name="title_not_worn" type="string">
[DESC]: non portée
</text>
<text length="1" name="path" type="string">
Emplacement : [PATH]
</text>
<text length="1" name="not worn instructions" type="string">
Pour porter une nouvelle veste, faites-en glisser une de votre inventaire
jusqu&apos;à votre avatar. Vous pouvez aussi en créer une nouvelle et la porter.
</text>
<text length="1" name="no modify instructions" type="string">
Vous n&apos;avez pas la permission de modifier cet objet.
</text>
<text name="Item Action Label" right="92">
Veste :
</text>
<texture_picker label="Tissu (dessus)" name="Upper Fabric" tool_tip="Cliquez pour sélectionner une image" width="81"/>
<texture_picker label="Tissu (dessous)" name="Lower Fabric" tool_tip="Cliquez pour sélectionner une image" width="81"/>
<color_swatch label="Couleur/Teinte" name="Color/Tint" tool_tip="Cliquer pour ouvrir le sélecteur de couleurs" width="81"/>
<button label="Créer une veste" label_selected="Créer une veste" name="Create New"/>
<button label="Enlever" label_selected="Enlever" left="12" name="Take Off" width="82"/>
<button label="Enregistrer" label_selected="Enregistrer" left="100" name="Save" width="82"/>
<button label="Enregistrer sous..." label_selected="Enregistrer sous..." left="188" name="Save As" width="111"/>
<button label="Rétablir" label_selected="Rétablir" left="305" name="Revert" width="82"/>
</panel>
<panel label="Gants" name="Gloves">
<text length="1" name="title" type="string">
[DESC]
</text>
<text length="1" name="title_no_modify" type="string">
[DESC]: impossible de modifier
</text>
<text length="1" name="title_loading" type="string">
[DESC]: en cours de chargement...
</text>
<text length="1" name="title_not_worn" type="string">
[DESC]: non portés
</text>
<text length="1" name="path" type="string">
Emplacement : [PATH]
</text>
<text length="1" name="not worn instructions" type="string">
Pour porter de nouveaux gants, faites-les glisser à partir de votre
inventaire. Vous pouvez aussi en créer une nouvelle paire et la porter.
</text>
<text length="1" name="no modify instructions" type="string">
Vous n&apos;avez pas la permission de modifier cet objet.
</text>
<text name="Item Action Label" right="92">
Gants :
</text>
<texture_picker label="Tissu" name="Fabric" tool_tip="Cliquez pour sélectionner une image" width="74"/>
<color_swatch label="Couleur/Teinte" name="Color/Tint" tool_tip="Cliquer pour ouvrir le sélecteur de couleurs" width="74"/>
<button label="Créer des gants" label_selected="Créer des gants" name="Create New"/>
<button label="Enlever" label_selected="Enlever" left="12" name="Take Off" width="82"/>
<button label="Enregistrer" label_selected="Enregistrer" left="100" name="Save" width="82"/>
<button label="Enregistrer sous..." label_selected="Enregistrer sous..." left="188" name="Save As" width="111"/>
<button label="Rétablir" label_selected="Rétablir" left="305" name="Revert" width="82"/>
</panel>
<panel label="Sous-vêtements (haut)" name="Undershirt">
<text length="1" name="title" type="string">
[DESC]
</text>
<text length="1" name="title_no_modify" type="string">
[DESC]: impossible de modifier
</text>
<text length="1" name="title_loading" type="string">
[DESC]: en cours de chargement...
</text>
<text length="1" name="title_not_worn" type="string">
[DESC]: non portés
</text>
<text length="1" name="path" type="string">
Emplacement : [PATH]
</text>
<text length="1" name="not worn instructions" type="string">
Pour porter de nouveaux sous-vêtements, faites-les glisser à partir de
votre inventaire. Vous pouvez aussi en créer des nouveaux et les porter.
</text>
<text length="1" name="no modify instructions" type="string">
Vous n&apos;avez pas la permission de modifier cet objet.
</text>
<text name="Item Action Label" right="92" bottom="-470">
Sous-vêtements
(haut) :
</text>
<texture_picker label="Tissu" name="Fabric" tool_tip="Cliquez pour sélectionner une image" width="74"/>
<color_swatch label="Couleur/Teinte" name="Color/Tint" tool_tip="Cliquer pour ouvrir le sélecteur de couleurs" width="74"/>
<button label="Créer des sous-vêtements" label_selected="Créer des sous-vêtements" name="Create New"/>
<button label="Enlever" label_selected="Enlever" left="12" name="Take Off" width="82"/>
<button label="Enregistrer" label_selected="Enregistrer" left="100" name="Save" width="82"/>
<button label="Enregistrer sous..." label_selected="Enregistrer sous..." left="188" name="Save As" width="111"/>
<button label="Rétablir" label_selected="Rétablir" left="305" name="Revert" width="82"/>
</panel>
<panel label="Sous-vêtements (bas)" name="Underpants">
<text length="1" name="title" type="string">
[DESC]
</text>
<text length="1" name="title_no_modify" type="string">
[DESC]: impossible de modifier
</text>
<text length="1" name="title_loading" type="string">
[DESC]: en cours de chargement...
</text>
<text length="1" name="title_not_worn" type="string">
[DESC]: non portés
</text>
<text length="1" name="path" type="string">
Emplacement : [PATH]
</text>
<text length="1" name="not worn instructions" type="string">
Pour porter de nouveaux sous-vêtements, faites-les glisser à partir de
votre inventaire. Vous pouvez aussi en créer des nouveaux et les porter.
</text>
<text length="1" name="no modify instructions" type="string">
Vous n&apos;avez pas la permission de modifier cet objet.
</text>
<text name="Item Action Label" right="92" bottom="-470">
Sous-vêtements
(bas) :
</text>
<texture_picker label="Tissu" name="Fabric" tool_tip="Cliquez pour sélectionner une image" width="74"/>
<color_swatch label="Couleur/Teinte" name="Color/Tint" tool_tip="Cliquer pour ouvrir le sélecteur de couleurs" width="74"/>
<button label="Créer des sous-vêtements" label_selected="Créer des sous-vêtements" name="Create New"/>
<button label="Enlever" label_selected="Enlever" left="12" name="Take Off" width="82"/>
<button label="Enregistrer" label_selected="Enregistrer" left="100" name="Save" width="82"/>
<button label="Enregistrer sous..." label_selected="Enregistrer sous..." left="188" name="Save As" width="111"/>
<button label="Rétablir" label_selected="Rétablir" left="305" name="Revert" width="82"/>
</panel>
<panel label="Jupe" name="Skirt">
<text length="1" name="title" type="string">
[DESC]
</text>
<text length="1" name="title_no_modify" type="string">
[DESC]: impossible de modifier
</text>
<text length="1" name="title_loading" type="string">
[DESC]: en cours de chargement...
</text>
<text length="1" name="title_not_worn" type="string">
[DESC]: non portée
</text>
<text length="1" name="path" type="string">
Emplacement : [PATH]
</text>
<text length="1" name="not worn instructions" type="string">
Pour porter une nouvelle jupe, faites-en glisser une à partir de votre
inventaire. Vous pouvez aussi en créer une nouvelle et la porter.
</text>
<text length="1" name="no modify instructions" type="string">
Vous n&apos;avez pas la permission de modifier cet objet.
</text>
<text name="Item Action Label" right="92">
Jupe :
</text>
<texture_picker label="Tissu" name="Fabric" tool_tip="Cliquez pour sélectionner une image" width="74"/>
<color_swatch label="Couleur/Teinte" name="Color/Tint" tool_tip="Cliquer pour ouvrir le sélecteur de couleurs" width="74"/>
<button label="Créer une jupe" label_selected="Créer une jupe" name="Create New"/>
<button label="Enlever" label_selected="Enlever" left="12" name="Take Off" width="82"/>
<button label="Enregistrer" label_selected="Enregistrer" left="100" name="Save" width="82"/>
<button label="Enregistrer sous..." label_selected="Enregistrer sous..." left="188" name="Save As" width="111"/>
<button label="Rétablir" label_selected="Rétablir" left="305" name="Revert" width="82"/>
</panel>
</tab_container>
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-410" drop_shadow_visible="true" follows="left|top"
font="SansSerif" h_pad="0" halign="left" height="16"
left="8" mouse_opaque="true" name="AvatarHeightText" v_pad="0" width="140">
Taille:
</text>
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom_delta="-18" drop_shadow_visible="true" follows="left|top"
font="SansSerif" h_pad="0" halign="left" height="16"
left="8" mouse_opaque="true" name="HeightTextM" v_pad="0" width="140">
(metric)
</text>
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom_delta="-18" drop_shadow_visible="true" follows="left|top"
font="SansSerif" h_pad="0" halign="left" height="16"
left="8" mouse_opaque="true" name="HeightTextI" v_pad="0" width="140">
(imperial)
</text>
<button name="Import" label="Importer"
bottom="-486" left="10" height="20" width="70"
follows="left|bottom" font="SansSerif" halign="center" />
<button name="Export" label="Exporter"
bottom="-506" left="10" height="20" width="70"
follows="left|bottom" font="SansSerif" halign="center" />
<scroll_container left="251" name="panel_container"/>
<button label="Annuler" label_selected="Annuler" name="Cancel"/>
<button label="OK" label_selected="OK" name="Ok"/>
<button label="Créer un ensemble..." label_selected="Créer un ensemble..." name="Make Outfit" left="152" width="125"/>
</floater>

View File

@@ -0,0 +1,97 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="Day Cycle Floater" title="Editeur du cycle du jour">
<tab_container name="Day Cycle Tabs">
<panel label="Cycle du jour" name="Day Cycle">
<button label="?" name="WLDayCycleHelp" />
<text name="WL12am">
Minuit
</text>
<text name="WL3am">
3h
</text>
<text name="WL6am">
6h
</text>
<text name="WL9amHash">
9h
</text>
<text name="WL12pmHash">
Midi
</text>
<text name="WL3pm">
15h
</text>
<text name="WL6pm">
18h
</text>
<text name="WL9pm">
21h
</text>
<text name="WL12am2">
Minuit
</text>
<text name="WL12amHash">
|
</text>
<text name="WL3amHash">
I
</text>
<text name="WL6amHash">
|
</text>
<text name="WL9amHash2">
I
</text>
<text name="WL12pmHash2">
|
</text>
<text name="WL3pmHash">
I
</text>
<text name="WL6pmHash">
|
</text>
<text name="WL9pmHash">
I
</text>
<text name="WL12amHash2">
|
</text>
<button label="Ajouter clé" label_selected="Ajouter clé" name="WLAddKey" width="89" bottom="-45" />
<button label="Supprimer clé" label_selected="Supprimer clé" name="WLDeleteKey" width="89" bottom="-70" />
<text name="WLCurKeyFrameText">
Réglages des images-clés :
</text>
<text name="WLCurKeyTimeText">
Heure de la clé :
</text>
<spinner label="Heure" name="WLCurKeyHour" />
<spinner label="Min" name="WLCurKeyMin" />
<text name="WLCurKeyTimeText2">
Préréglages clés :
</text>
<combo_box label="Préréglage" name="WLKeyPresets" />
<text name="DayCycleText">
Snap :
</text>
<combo_box label="5 min" name="WLSnapOptions" />
<text name="DayCycleText2">
Durée du cycle :
</text>
<spinner label="Heure" name="WLLengthOfDayHour" />
<spinner label="Min" name="WLLengthOfDayMin" />
<spinner label="S" name="WLLengthOfDaySec" label_width="10" width="50" left_delta="75"/>
<text name="DayCycleText3">
Prévisualiser :
</text>
<button label="Jouer" label_selected="Jouer" name="WLAnimSky" />
<button label="Stop !" label_selected="Stop" name="WLStopAnimSky" />
<button label="Utiliser heure domaine" label_selected="Aller heure domaine"
name="WLUseLindenTime" />
<button label="Enregistrer jour test" label_selected="Enregistrer jour test"
name="WLSaveDayCycle" />
<button label="Charger jour test" label_selected="Charger jour test"
name="WLLoadDayCycle" />
</panel>
</tab_container>
</floater>

View File

@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="floater_device_settings"
title="Paramètres du matériel utilisé pour le chat vocal" />

View File

@@ -0,0 +1,427 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="directory" title="Rechercher dans Second Life">
<tab_container name="Directory Tabs">
<panel label="Tout" name="find_all_panel">
<string name="searching_text">
Recherche en cours...
</string>
<string name="not_found_text">
Aucun résultat.
</string>
<text name="find" width="63">
Trouver :
</text>
<line_editor label="Rechercher" name="search_editor" tool_tip="Rechercher dans Second Life"/>
<button label="Précédente" name="back_btn" width="82"/>
<button label="Suivante" left="316" name="forward_btn" width="77"/>
<button label="Rechercher" name="search_btn"/>
<combo_box name="Category">
<combo_item name="AnyCategory">
Toutes catégories
</combo_item>
<combo_item name="Events">
Événements
</combo_item>
<combo_item name="Groups">
Groupes
</combo_item>
<combo_item name="People">
Résidents
</combo_item>
<combo_item name="Places">
Lieux
</combo_item>
<combo_item name="Wiki">
Wiki
</combo_item>
</combo_box>
<check_box label="Contenu PG" name="incpg"/>
<check_box label="Contenu Mature" name="incmature"/>
<check_box label="Contenu Adult" name="incadult"/>
<button label="?" label_selected="?" name="?"/>
<string name="loading_text">
Chargement en cours...
</string>
<string name="done_text">
Fini
</string>
<string name="redirect_404_url">
http://secondlife.com/app/search/notfound.html
</string>
<string name="default_search_page">
http://secondlife.com/app/search/index.php?
</string>
</panel>
<panel label="Petites annonces" name="classified_panel">
<string name="searching_text">
Recherche en cours...
</string>
<string name="not_found_text">
Aucun résultat.
</string>
<text name="find" width="63">
Trouver :
</text>
<line_editor name="name"/>
<check_box label="Contenu PG" name="incpg"/>
<check_box label="Contenu Mature" name="incmature"/>
<check_box label="Contenu Adult" name="incadult"/>
<combo_box name="Category">
<combo_item name="AnyCategory">
Toutes catégories
</combo_item>
<combo_item name="Shopping">
Shopping
</combo_item>
<combo_item name="LandRental">
Terrains à louer
</combo_item>
<combo_item name="PropertyRental">
Propriétés à louer
</combo_item>
<combo_item name="SpecialAttraction">
Divertissements
</combo_item>
<combo_item name="NewProducts">
Nouveaux produits
</combo_item>
<combo_item name="Employment">
Emplois
</combo_item>
<combo_item name="Wanted">
Offres
</combo_item>
<combo_item name="Service">
Services
</combo_item>
<combo_item name="Personal">
Rencontres
</combo_item>
</combo_box>
<button label="Parcourir" label_selected="Parcourir" name="Browse"/>
<button label="Rechercher" label_selected="Rechercher" name="Search" width="85"/>
<button label="Passer une annonce…" label_selected="Passer une annonce…" name="Place an Ad..."/>
<button label="Supprimer" label_selected="Supprimer" name="Delete"/>
<scroll_list name="results">
<column label="" name="icon"/>
<column label="" name="type"/>
<column label="Nom" name="name"/>
<column label="Prix" name="price"/>
</scroll_list>
<button label="Suivante &gt;" label_selected="Suivante &gt;" name="Next &gt;"/>
<button label="&lt; Préc" label_selected="&lt; Préc" name="&lt; Prev"/>
</panel>
<panel label="Événements" name="events_panel">
<string name="searching_text">
Recherche en cours...
</string>
<string name="not_found_text">
Aucun résultat.
</string>
<text name="text2">
Trouver :
</text>
<line_editor name="event_search_text"/>
<radio_group name="date_mode">
<radio_item name="current">
En cours et futurs
</radio_item>
<radio_item name="date">
Date
</radio_item>
</radio_group>
<button label="&lt;&lt;" label_selected="&lt;&lt;" name="&lt;&lt;" tool_tip="Revenir en arrière d&apos;un jour"/>
<text name="date_text">
6/6
</text>
<button label="&gt;&gt;" label_selected="&gt;&gt;" name="&gt;&gt;" tool_tip="Avancer d&apos;un jour"/>
<button bottom="-62" label="Aujourd&apos;hui" label_selected="Aujourd&apos;hui" left_delta="-72" name="Today" tool_tip="Afficher les événements qui ont lieu aujourd&apos;hui" width="95"/>
<text name="text">
Catégorie :
</text>
<combo_box name="category combo" width="175">
<combo_item name="All">
Toutes catégories
</combo_item>
<combo_item name="Discussion">
Discussions
</combo_item>
<combo_item name="Sports">
Sports
</combo_item>
<combo_item name="LiveMusic">
Musique live
</combo_item>
<combo_item name="Commercial">
Publicités
</combo_item>
<combo_item name="Nightlife/Entertainment">
Divertissements/Soirées
</combo_item>
<combo_item name="Games/Contests">
Jeux/Compétitions
</combo_item>
<combo_item name="Pageants">
Concours
</combo_item>
<combo_item name="Education">
Éducation
</combo_item>
<combo_item name="ArtsandCulture">
Arts et Culture
</combo_item>
<combo_item name="Charity/SupportGroups">
Groupes d&apos;entraide/Caritatif
</combo_item>
<combo_item name="Miscellaneous">
Divers
</combo_item>
</combo_box>
<check_box label="Contenu PG" name="incpg"/>
<check_box label="Contenu Mature" name="incmature"/>
<check_box label="Contenu Adult" name="incadult"/>
<button label="Rechercher" label_selected="Rechercher" name="Search" tool_tip="Rechercher"/>
<button label="Supprimer" label_selected="Supprimer" name="Delete"/>
<scroll_list name="results">
<column label="" name="icon"/>
<column label="" name="type"/>
<column label="Nom" name="name"/>
<column label="Heure (Californie)" name="date" width="115"/>
<column label="" name="event_id"/>
<column label="Heure" name="time"/>
</scroll_list>
<button label="Suivante &gt;" label_selected="Suivante &gt;" name="Next &gt;"/>
<button label="&lt; Préc" label_selected="&lt; Préc" name="&lt; Prev"/>
</panel>
<panel label="À la Une" name="showcase_panel">
<string name="searching_text">
Recherche en cours...
</string>
<string name="not_found_text">
Aucun résultat.
</string>
<button label="Précédente" name="back_btn" width="82"/>
<button label="Suivante" left_delta="87" name="forward_btn" width="82"/>
<string name="loading_text">
Chargement en cours...
</string>
<string name="done_text">
Fini
</string>
<string name="redirect_404_url">
http://secondlife.com/app/search/notfound.html
</string>
<string name="default_search_page">
http://secondlife.com/app/showcase/index.php?
</string>
</panel>
<panel label="Terrains à vendre" name="land_sales_panel">
<string name="searching_text">
Recherche en cours...
</string>
<string name="not_found_text">
Aucun résultat.
</string>
<string name="land_help_text">
Vous pouvez acheter un terrain directement en dollars Linden (L$) ou aux enchères (en L$ ou US$).
Pour acheter directement, visitez le terrain et cliquez sur le nom de l&apos;endroit dans la barre de titre.
</string>
<text name="find">
Trouver :
</text>
<check_box label="Contenu PG" name="incpg" left="450"/>
<check_box label="Contenu Mature" name="incmature" left="450"/>
<check_box label="Contenu Adult" name="incadult" left="450"/>
<combo_box left="298" name="type" width="145">
<combo_item name="AllTypes">
Tous types
</combo_item>
<combo_item name="Auction">
Enchères
</combo_item>
<combo_item name="MainlandSales">
À vendre - Continent
</combo_item>
<combo_item name="EstateSales">
À vendre - Région privée
</combo_item>
</combo_box>
<check_box label="Prix &#8804; " name="pricecheck"/>
<text left="186" name="pricecheck_symbol">
L$
</text>
<check_box label="Surface &#8805; " name="areacheck" width="90"/>
<text left="186" name="areacheck_symbol">
</text>
<line_editor left="130" name="priceedit"/>
<line_editor left="130" name="areaedit"/>
<button label="Rechercher" label_selected="Rechercher" name="Search" width="85"/>
<scroll_list name="results">
<column label="" name="icon"/>
<column label="" name="type"/>
<column label="Nom" name="name"/>
<column label="Type" name="landtype"/>
<column label="Prix en L$" name="price" width="75"/>
<column label="Surface" name="area" width="65"/>
<column label="L$/m²" name="per_meter"/>
</scroll_list>
<button label="Suivante &gt;" label_selected="Suivante &gt;" name="Next &gt;"/>
<button label="&lt; Préc" label_selected="&lt; Préc" name="&lt; Prev"/>
</panel>
<panel label="Lieux" name="places_panel">
<string name="searching_text">
Recherche en cours...
</string>
<string name="not_found_text">
Aucun résultat.
</string>
<text name="find">
Trouver :
</text>
<line_editor name="name"/>
<check_box label="Contenu PG" name="incpg"/>
<check_box label="Contenu Mature" name="incmature"/>
<check_box label="Contenu Adult" name="incadult"/>
<combo_box name="Category">
<combo_item name="AnyCategory">
Toutes catégories
</combo_item>
<combo_item name="LindenLocation">
Appartenant aux Lindens
</combo_item>
<combo_item name="Arts&amp;Culture">
Art et Culture
</combo_item>
<combo_item name="Business">
Affaires
</combo_item>
<combo_item name="Educational">
Éducation
</combo_item>
<combo_item name="Gaming">
Jeux
</combo_item>
<combo_item name="Hangout">
Favoris
</combo_item>
<combo_item name="NewcomerFriendly">
Accueil pour les nouveaux
</combo_item>
<combo_item name="Parks&amp;Nature">
Parcs et Nature
</combo_item>
<combo_item name="Residential">
Résidentiel
</combo_item>
<combo_item name="Shopping">
Shopping
</combo_item>
<combo_item name="Other">
Autre
</combo_item>
</combo_box>
<combo_box name="Category_Adult">
<combo_item name="AnyCategory">
Toutes catégories
</combo_item>
<combo_item name="LindenLocation">
Appartenant aux Lindens
</combo_item>
<combo_item name="Adult">
Adult
</combo_item>
<combo_item name="Arts&amp;Culture">
Art et Culture
</combo_item>
<combo_item name="Business">
Affaires
</combo_item>
<combo_item name="Educational">
Éducation
</combo_item>
<combo_item name="Gaming">
Jeux
</combo_item>
<combo_item name="Hangout">
Favoris
</combo_item>
<combo_item name="NewcomerFriendly">
Accueil pour les nouveaux
</combo_item>
<combo_item name="Parks&amp;Nature">
Parcs et Nature
</combo_item>
<combo_item name="Residential">
Résidentiel
</combo_item>
<combo_item name="Shopping">
Shopping
</combo_item>
<combo_item name="Other">
Autre
</combo_item>
</combo_box>
<button label="Rechercher" label_selected="Rechercher" name="Search"/>
<scroll_list name="results">
<column label="" name="icon"/>
<column label="" name="type"/>
<column label="Nom" name="name"/>
<column label="Trafic" name="dwell"/>
</scroll_list>
<button label="Suivante &gt;" label_selected="Suivante &gt;" name="Next &gt;"/>
<button label="&lt; Préc" label_selected="&lt; Préc" name="&lt; Prev"/>
</panel>
<panel label="Résidents" name="people_panel">
<string name="searching_text">
Recherche en cours...
</string>
<string name="not_found_text">
Aucun résultat.
</string>
<text name="find">
Trouver :
</text>
<line_editor name="name"/>
<button label="Rechercher" label_selected="Rechercher" name="Search"/>
<scroll_list name="results" width="286">
<column label="" name="icon"/>
<column label="" name="type"/>
<column label="Nom" name="name" width="234"/>
</scroll_list>
<button right="290" label="Suivante &gt;" label_selected="Suivante &gt;" name="Next &gt;"/>
<button right="204" label="&lt; Préc" label_selected="&lt; Préc" name="&lt; Prev"/>
</panel>
<panel label="Groupes" name="groups_panel">
<string name="searching_text">
Recherche en cours...
</string>
<string name="not_found_text">
Aucun résultat.
</string>
<text name="find">
Trouver :
</text>
<line_editor label="Rechercher" name="search_editor" tool_tip="Rechercher dans Second Life"/>
<button label="Précédente" name="back_btn" width="82"/>
<button label="Suivante" left="316" name="forward_btn" width="77"/>
<button label="Rechercher" name="search_btn"/>
<check_box label="Contenu PG" name="incpg"/>
<check_box label="Contenu Mature" name="incmature"/>
<check_box label="Contenu Adult" name="incadult"/>
<string name="loading_text">
Chargement en cours...
</string>
<string name="done_text">
Fini
</string>
<string name="redirect_404_url">
http://secondlife.com/app/search/notfound.html
</string>
<string name="default_search_page">
http://secondlife.com/app/search/index_groups.php?
</string>
</panel>
</tab_container>
<panel left="310" name="Panel Avatar" width="470" />
</floater>

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Environment Editor Floater" title="Éditeur d&apos;environnement">
<text bottom="-45" name="EnvTimeText">
Heure de la
journée
</text>
<text bottom_delta="-36" name="EnvTimeText2">
Midi
</text>
<text name="EnvCloudText">
Couverture
nuageuse
</text>
<text bottom="-45" name="EnvWaterColorText">
Couleur de
l&apos;eau
</text>
<color_swatch name="EnvWaterColor" tool_tip="Cliquer pour ouvrir le sélecteur de couleurs"/>
<text name="EnvWaterFogText">
Brouillard
dans l&apos;eau
</text>
<button bottom="-144" label="Utiliser heure du domaine" name="EnvUseEstateTimeButton" width="145"/>
<button label="Ciel avancé" name="EnvAdvancedSkyButton" width="145" left="162" />
<button label="Eau avancée" name="EnvAdvancedWaterButton" width="145" left="316"/>
<button label="?" name="EnvSettingsHelpButton"/>
</floater>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="contents" title="Test de la police">
<text name="linea">
OverrideTest, Times-BOLD doit être sélectionné ici. (De default/xui/fr)
</text>
</floater>

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="gestures" title="Gestures utilisées">
<text name="help_label">
Double-cliquez sur une gesture pour jouer les animations
et les sons.
</text>
<scroll_list bottom_delta="-385" height="360" name="gesture_list">
<column label="Déclencheur" name="trigger" width="85" />
<column label="Touche" name="shortcut" />
<column label="" name="key" />
<column label="Nom" name="name" width="145"/>
</scroll_list>
<button label="Nouveau" name="new_gesture_btn" />
<button label="Inventaire" name="inventory_btn" />
<button label="Modifier" name="edit_btn" />
<button label="Jouer" name="play_btn" />
<button label="Stop" name="stop_btn" />
</floater>

View File

@@ -0,0 +1,111 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="godtools floater" title="Outils divins">
<tab_container name="GodTools Tabs">
<panel label="Grille" name="grid">
<button label="Éjecter tous" label_selected="Éjecter tous" name="Kick all users" width="175" />
<button label="Vider le cache cartographique de la région" label_selected="Vider le cache cartographique de la région" name="Flush This Region&apos;s Map Visibility Caches" width="285"/>
</panel>
<panel label="Région" name="region">
<text name="Sim Name:" width="70">
Nom du sim :
</text>
<line_editor left="85" name="region name" width="198" />
<check_box label="Initiation" name="check prelude" tool_tip="Définir cette région comme zone d&apos;initiation."/>
<check_box label="Soleil fixe" name="check fixed sun" tool_tip="Définir la position du soleil (comme dans Région et Domaine &gt; Terrain.)"/>
<check_box label="Réinitialiser le domicile &#10;à la téléportation" name="check reset home" tool_tip="Lorsqu&apos;un résident se téléporte à l&apos;extérieur, réinitialise son domicile à la position de sa destination." height="32"/>
<check_box label="Visible" name="check visible" tool_tip="Cochez pour rendre la région visible aux non-admins." bottom_delta="-32"/>
<check_box label="Dégâts" name="check damage" tool_tip="Cochez pour activer les dégâts dans cette région."/>
<check_box label="Bloquer le suivi de trafic" name="block dwell" tool_tip="Cochez pour que la région ne comptabilise pas le trafic."/>
<check_box label="Interdire le terraformage" name="block terraform" tool_tip="Cochez pour empêcher les personnes de terraformer leur terrain"/>
<check_box label="Bac à sable" name="is sandbox" tool_tip="Basculer cette région en bac à sable."/>
<button label="Figer le terrain" label_selected="Figer le terrain" name="Bake Terrain" tool_tip="Enregistrer le terrain actuel comme terrain par défaut." width="118" />
<button label="Rétablir le terrain" label_selected="Rétablir le terrain" name="Revert Terrain" tool_tip="Remplacer le terrain actuel avec le terrain par défaut." width="118" />
<button label="Échanger le terrain" label_selected="Échanger le terrain" name="Swap Terrain" tool_tip="Échangez le terrain actuel avec le terrain par défaut." width="118" />
<text name="estate id">
ID du domaine :
</text>
<text name="parent id">
ID parent :
</text>
<line_editor name="parentestate" tool_tip="Il s&apos;agit du domaine parent de cette région"/>
<text name="Grid Pos: ">
Position sur la grille :
</text>
<line_editor name="gridposx" tool_tip="Position x de cette région sur la grille" left_delta="120" width="35"/>
<line_editor name="gridposy" tool_tip="Position y de cette région sur la grille" left_delta="40" width="35" />
<text name="Redirect to Grid: ">
Rediriger vers la grille :
</text>
<line_editor left_delta="120" name="redirectx" width="35" />
<line_editor left_delta="40" name="redirecty" width="35" />
<spinner left="320" name="billable factor" width="70" />
<text name="billable factor text" font="SansSerifSmall" left_delta="-120" width="120">
Facteur de facturation :
</text>
<spinner left="320" name="land cost" width="70" />
<text name="land cost text" left_delta="-120">
L$ par m² :
</text>
<button label="Rafraîchir" label_selected="Rafraîchir" name="Refresh" tool_tip="Cliquez ici pour rafraîchir les informations ci-dessus."/>
<button label="Appliquer" label_selected="Appliquer" name="Apply" tool_tip="Cliquez ici pour appliquer les modifications effectuées ci-dessus."/>
<button label="Sélectionner une région" label_selected="Sélectionner une région" name="Select Region" tool_tip="Sélectionnez une région entière à l&apos;aide de l&apos;outil Terrain." width="140" left="136"/>
<button label="Sauvegarde automatique" label_selected="Sauvegarde automatique" name="Autosave now" tool_tip="Sauvegarde automatique au format gzip." width="140" left="136"/>
</panel>
<panel label="Objets" name="objects">
<text name="Sim Name:" width="70">
Nom du sim :
</text>
<text name="region name" left_delta="75">
Welsh
</text>
<check_box label="Désactiver les &#10;scripts" name="disable scripts" tool_tip="Cochez pour désactiver tous les scripts dans cette région"/>
<check_box label="Désactiver les &#10;collisions" name="disable collisions" tool_tip="Cochez pour désactiver les collisions entre non-avatars dans cette région"/>
<check_box label="Désactiver la &#10;physique" name="disable physics" tool_tip="Cochez pour désactiver tous les effets liés à la physique dans cette région"/>
<button label="Appliquer" label_selected="Appliquer" name="Apply" tool_tip="Cliquez ici pour appliquer les modifications effectuées ci-dessus." bottom="-85"/>
<button label="Définir la cible" label_selected="Définir la cible" name="Set Target" tool_tip="Définir l&apos;avatar cible pour la suppression de l&apos;objet."/>
<text name="target_avatar_name">
(aucune cible)
</text>
<button label="Supprimer tous les objets scriptés de la cible sur les terrains des autres" label_selected="Supprimer tous les objets scriptés de la cible sur les terrains des autres" name="Delete Target&apos;s Scripted Objects On Others Land" tool_tip="Supprimer tous les objets scriptés appartenant à la cible sur les terrains ne lui appartenant pas. Les objets non copiables seront renvoyés."/>
<button label="Supprimer les objets scriptés de la cible sur *tous* les terrains" label_selected="Supprimer les objets scriptés de la cible sur *tous* les terrains" name="Delete Target&apos;s Scripted Objects On *Any* Land" tool_tip="Supprimer les objets scriptés appartenant à la cible dans cette région. Les objets non copiables seront renvoyés."/>
<button label="Supprimer *tous* les objets de la cible" label_selected="Supprimer *tous* les objets de la cible" name="Delete *ALL* Of Target&apos;s Objects" tool_tip="Supprimer tous les objets appartenant à la cible dans cette région. Les objets non copiables seront renvoyés."/>
<button width="300" label="Afficher les collisions les plus consommatrices" label_selected="Afficher les collisions les plus consommatrices" name="Get Top Colliders" tool_tip="Dresse une liste des objets avec les callbacks les plus fréquents. "/>
<button width="300" label="Afficher les objets scriptés les plus consommateurs" label_selected="Afficher les objets scriptés les plus consommateurs" name="Get Top Scripts" tool_tip="Dresse une liste des objets qui passent le plus de temps à exécuter des scripts."/>
<button width="300" label="Résumé des scripts" label_selected="Résumé des scripts" name="Scripts digest" tool_tip="Dresse une liste des scripts et de leurs occurrences."/>
</panel>
<panel label="Requête" name="request">
<text name="Destination:">
Destination :
</text>
<combo_box name="destination">
<combo_item name="Selection">
Sélection
</combo_item>
<combo_item name="AgentRegion">
Région de l&apos;avatar
</combo_item>
</combo_box>
<text name="Request:">
Requête :
</text>
<combo_box name="request">
<combo_item name="colliders&lt;steps&gt;">
Objets responsables de collisions : étapes
</combo_item>
<combo_item name="scripts&lt;count&gt;,&lt;optionalpattern&gt;">
Nombre de scripts et schéma optionnel
</combo_item>
<combo_item name="objects&lt;pattern&gt;">
Schéma des objets
</combo_item>
<combo_item name="rez&lt;asset_id&gt;">
rezzer &lt;asset_id&gt;
</combo_item>
</combo_box>
<text name="Parameter:">
Paramètre :
</text>
<button label="Effectuer la requête" label_selected="Effectuer la requête" name="Make Request" width="140"/>
</panel>
</tab_container>
</floater>

View File

@@ -0,0 +1,261 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="groupinfo" title="Les Linden Profil du groupe">
<tab_container name="tab">
<panel label="Général" name="gen">
<text name="title_box">
Profil du groupe
</text>
<text name="txt">
Les groupes sont un moyen divertissant de collaborer avec vos amis.
</text>
<text name="txt2">
Les groupes vous permettent d&apos;avoir un titre, un logo et de voter.
</text>
<text name="txt3">
Tout le monde peut créer un groupe. Chaque résident peut appartenir jusqu&apos;à 15 groupes.
</text>
<text name="txt4">
Pour rester actif, un groupe doit avoir au moins 3 membres.
</text>
<text name="group_create_text">
La création d&apos;un groupe coûte 100 L$.
</text>
<text name="lbl">
Nom :
</text>
<text name="founder_label">
Fondateur :
</text>
<text name="lbl2">
Charte :
</text>
<check_box label="Afficher dans la liste du groupe" name="sho"/>
<check_box label="Afficher les membres dans la liste du groupe" name="sho_mem"/>
<check_box label="Publier sur le web." name="allow_publish" tool_tip="Publiez votre profil sur le web."/>
<button label="?" label_selected="?" name="publish_help_btn"/>
<check_box label="Mature" name="mature" tool_tip="Les informations de votre profil sont considérées comme « mature »."/>
</panel>
<panel label="Titres" name="tit">
<text name="txt">
Titres de groupe
</text>
<text name="txt2">
Les groupes peuvent avoir des officiers et des membres avec des titres particuliers.
</text>
<text name="txt3">
Ces titres apparaissent devant leur nom dans le Monde, les chats et les IM.
</text>
<text name="lbl">
Titre de l&apos;officier :
</text>
<text name="lbl2">
Titre du membre :
</text>
<text name="lbl3">
Pour créer le logo du groupe, faites glisser une texture depuis votre inventaire.
</text>
<texture_picker name="insig" tool_tip="Cliquez pour sélectionner une image"/>
</panel>
<panel label="Membres" name="mem">
<text name="txt">
Membres du groupe
</text>
<text name="txt2">
Officiers et membres du groupe actuel.
</text>
<text name="txt3">
Cliquez sur le nom d&apos;un membre pour voir son profil.
</text>
<text name="lbl">
Officiers :
</text>
<text name="members_label">
Membres :
</text>
<button label="Expulser le membre" label_selected="Expulser le membre" name="eject_member_btn"/>
</panel>
<panel label="Vote" name="voting">
<tab_container name="tab">
<panel label="Élection" name="recall">
<text name="txt">
Élections
</text>
<text name="instructions">
Pour commencer une nouvelle élection, cliquez sur Lancer l&apos;élection.
Les candidats incluent tous les membres qui ne sont pas officiers.
</text>
<text name="lbl">
Candidats :
</text>
<button label="Vote" label_selected="Voter" name="btn_vote"/>
<button label="M&apos;abstenir" label_selected="M&apos;abstenir" name="btn_abstain"/>
<button label="Lancer l&apos;élection" label_selected="Lancer l&apos;élection" name="btn_start_election"/>
<text name="lbl2">
Quorum :
</text>
<spinner name="quorum" tool_tip="Nombre total de votants nécessaires pour que les résultats de l&apos;élection soient valides."/>
<text name="quorum_text">
sur un total de 111 membres.
</text>
<text name="lbl3">
Majorité :
</text>
<radio_group name="majority" tool_tip="Majorité de tous les votes nécessaires pour remporter l&apos;élection.">
<radio_item name="radio">
Majorité simple
</radio_item>
<radio_item name="radio2">
Majorité des 2/3
</radio_item>
<radio_item name="radio3">
Unanimité
</radio_item>
</radio_group>
<text name="duration_lbl">
Durée :
</text>
<spinner name="duration" tool_tip="Durée de l&apos;élection (en nombre de jours)."/>
<text name="duration_days">
jours
</text>
<text name="start_lbl">
Début de l&apos;élection :
</text>
<text name="end_lbl">
Fin de l&apos;élection :
</text>
</panel>
<panel label="Proposition" name="panel_group_proposals">
<text name="txt">
Propositions du groupe
</text>
<text name="instructions">
Il n&apos;y a aucune proposition active. Cliquez sur Créer une proposition pour créer une nouvelle proposition.
</text>
<text name="proposal_lbl">
Propositions :
</text>
<button label="Oui" label_selected="Oui" name="btn_yes"/>
<button label="Non" label_selected="Non" name="btn_no"/>
<button label="M&apos;abstenir" label_selected="M&apos;abstenir" name="btn_abstain"/>
<button label="Afficher la liste" label_selected="Afficher la liste" name="btn_view_list"/>
<button label="Afficher l&apos;objet" label_selected="Afficher l&apos;objet" name="btn_view_item"/>
<button label="Créer une proposition" label_selected="Créer une proposition" name="btn_proposal"/>
<button label="Soumettre" label_selected="Soumettre" name="btn_submit"/>
<text name="quorum_lbl">
Quorum :
</text>
<spinner name="quorum" tool_tip="Nombre total de votants nécessaires pour que les résultats de l&apos;élection soient valides."/>
<text name="quorum_text">
sur un total de 111 membres.
</text>
<text name="majority_lbl">
Majorité :
</text>
<radio_group name="majority" tool_tip="Majorité de tous les votes nécessaires pour remporter l&apos;élection.">
<radio_item name="radio">
Majorité simple
</radio_item>
<radio_item name="radio2">
Majorité des 2/3
</radio_item>
<radio_item name="radio3">
Unanimité
</radio_item>
</radio_group>
<text name="duration_lbl">
Durée :
</text>
<spinner name="duration" tool_tip="Durée de l&apos;élection (en nombre de jours)."/>
<text name="duration_text">
jours
</text>
<text name="start_lbl">
Début :
</text>
<text name="end_lbl">
Fin :
</text>
</panel>
<panel label="Historique" name="History">
<text name="txt">
Historique des votes
</text>
<text name="instructions">
Vous pouvez afficher les anciens résultats en sélectionnant le vote et
</text>
<text name="instructions2">
en cliquant sur Afficher l&apos;objet.
</text>
<text name="history_list_lbl">
Anciens votes :
</text>
<text name="vote_text_lbl">
Résultats du vote :
</text>
<button label="Afficher la liste" label_selected="Afficher la liste" name="btn_view_list"/>
<button label="Afficher l&apos;objet" label_selected="Afficher l&apos;objet" name="btn_view_item"/>
</panel>
</tab_container>
</panel>
<panel label="Invitation" name="inv">
<text name="txt">
Invitations
</text>
<text name="txt2">
Les invitations sont envoyées par messagerie instantanée.
</text>
<text name="txt3">
Pour ajouter des résidents, cliquez sur Ajouter.
</text>
<text name="lbl">
Officiers :
</text>
<button label="Ajouter un officier..." label_selected="Ajouter un officier..." name="add_officer_btn"/>
<button label="Supprimer la sélection" label_selected="Supprimer la sélection" name="remove_officer_btn"/>
<text name="lbl2">
Membres :
</text>
<button label="Ajouter un membre..." label_selected="Ajouter un membre..." name="add_member_btn"/>
<button label="Supprimer la sélection" label_selected="Supprimer la sélection" name="remove_member_btn"/>
<text name="lbl3">
Frais d&apos;inscription :
</text>
<check_box label="Inscription libre (sans invitation)" name="open"/>
</panel>
<panel label="Terrain" name="land">
<text name="txt">
Terrain du groupe
</text>
<text name="lbl">
Total des contributions :
</text>
<button label="Carte..." label_selected="Carte..." name="map_btn"/>
<text name="lbl2">
Superficie déjà utilisée :
</text>
<text name="lbl3">
Superficie disponible :
</text>
<button label="Définir la contribution" label_selected="Définir la contribution" name="set_contrib_btn"/>
<text name="warning_label">
Avertissement : ce groupe a trop de terrain. Les membres du groupe doivent faire une contribution plus importante.
</text>
</panel>
<panel label="Argent" name="mon">
<tab_container name="group money history tab">
<panel label="Planification" name="money panel"/>
<panel label="Détails" name="money panel2">
<button label="&lt; Plus tôt" label_selected="&lt; Plus tôt" name="&lt; Earlier" tool_tip="Reculer dans le temps"/>
<button label="Plus tard &gt;" label_selected="Plus tard &gt;" name="Later &gt;" tool_tip="Avancer dans le temps"/>
</panel>
<panel label="Ventes" name="money panel3">
<button label="&lt; Plus tôt" label_selected="&lt; Plus tôt" name="&lt; Earlier" tool_tip="Reculer dans le temps"/>
<button label="Plus tard &gt;" label_selected="Plus tard &gt;" name="Later &gt;" tool_tip="Avancer dans le temps"/>
</panel>
</tab_container>
</panel>
</tab_container>
<button label="OK" label_selected="OK" name="OK"/>
<button label="Annuler" label_selected="Annuler" name="Cancel"/>
</floater>

View File

@@ -0,0 +1,109 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater bottom="-400" can_close="true" can_drag_on_left="false"
can_minimize="true" can_resize="false" height="244"
left="50" min_height="244" min_width="500" mouse_opaque="true"
name="Hardware Settings Floater" title="Hardware Settings" width="500">
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-42" drop_shadow_visible="true" enabled="true" follows="left|top"
font="SansSerifSmall" h_pad="0" halign="left" height="12"
left="10" mouse_opaque="true" name="Filtering:" v_pad="0" width="128">
Filtre:
</text>
<check_box bottom="-46" control_name="RenderAnisotropic" enabled="true" follows="left|top"
font="SansSerifSmall" height="16" initial_value="false"
label="Filtre anisotrope (plus lent si activé)" left="148"
mouse_opaque="true" name="ani" radio_style="false" width="256" />
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-61" drop_shadow_visible="true" enabled="true" follows="left|top"
font="SansSerifSmall" h_pad="0" halign="left" height="12"
left="10" mouse_opaque="true" name="Antialiasing:" v_pad="0" width="128">
Antialiasing:
</text>
<combo_box bottom="-65" control_name="RenderFSAASamples" enabled="true" follows="left|top"
font="SansSerifSmall" height="16" initial_value="false"
label="Antialiasing" left="148"
mouse_opaque="true" name="fsaa" width="64">
<combo_item name="FSAADisabled" value="0">
Désactivé
</combo_item>
<combo_item name="2x" value="2">
2x
</combo_item>
<combo_item name="4x" value="4">
4x
</combo_item>
<combo_item name="8x" value="8">
8x
</combo_item>
<combo_item name="16x" value="16">
16x
</combo_item>
</combo_box>
<spinner bottom_delta="-21" control_name="RenderGamma" decimal_digits="2" enabled="true"
follows="left|top" height="16" increment="0.01"
initial_val="1" label="Gamma:" label_width="138" left="10" max_val="2"
min_val="0.0" mouse_opaque="true" name="gamma" width="202" />
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom_delta="2" drop_shadow_visible="true" enabled="true" follows="left|top"
font="SansSerifSmall" h_pad="0" halign="left" height="12"
left="222" mouse_opaque="true" name="(brightness, lower is brighter)"
v_pad="0" width="315">
(0 = défaut, valeur faible = plus lumineux)
</text>
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom_delta="-20" drop_shadow_visible="true" enabled="true" follows="left|top"
font="SansSerifSmall" h_pad="0" halign="left" height="12"
left="10" mouse_opaque="true" name="Enable VBO:" v_pad="0"
width="128">
Activer le VBO:
</text>
<check_box bottom_delta="-5" control_name="RenderVBOEnable" enabled="true" follows="left|top"
font="SansSerifSmall" height="16" initial_value="true"
label="Activer OpenGL Vertex Buffer Objects" left="148"
mouse_opaque="true" name="vbo" radio_style="false"
tool_tip="Sur un matériel moderne, cette option permet une meilleure performance. Par contre, sur un matériel plus ancien, les VBO sont souvent mal implémentés et peuvent causer des crashs lorsqu&apos;ils sont activés."
width="315" />
<check_box bottom_delta="-18" control_name="ShyotlRenderUseStreamVBO" enabled="true" follows="left|top"
font="SansSerifSmall" height="16" initial_value="false"
label="Activer Streamed VBOs" left="157"
mouse_opaque="true" name="vbo_stream" radio_style="false"
tool_tip="Disabling this may improve performance when VBOs are enabled. Disabling produced observable improvement on various AMD GPUs."
width="315" />
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom_delta="-20" drop_shadow_visible="true" enabled="true" follows="left|top"
font="SansSerifSmall" h_pad="0" halign="left" height="12"
left="10" mouse_opaque="true" name="Enable FBO:" v_pad="0"
width="140">
Activer Framebuffer Objects:
</text>
<check_box bottom_delta="-5" control_name="RenderUseFBO" enabled="false" follows="left|top"
font="SansSerifSmall" height="16" initial_value="true"
label="Activer OpenGL Frame Buffer Objects" left="148"
mouse_opaque="true" name="fbo" radio_style="false"
tool_tip="Enabling this on modern hardware can provide a performance gain. However, enabling this when combined with antialiasing on AMD GPUs may cause edge artifacts. This setting is required for deferred rendering."
width="315" />
<slider bottom_delta="-21" can_edit_text="false" control_name="TextureMemory"
decimal_digits="0" enabled="true"
follows="left|top" height="16" increment="16"
initial_val="32" label="Texture Memory (MB):" label_width="135" left="10"
max_val="4096" min_val="0" mouse_opaque="true" name="GrapicsCardTextureMemory"
tool_tip="Amount of memory to allocate for textures. Defaults to Video Card Memory. Reducing this may improve performance but may also make textures blurry."
width="300" />
<spinner bottom_delta="-24" control_name="RenderFogRatio" decimal_digits="1" enabled="true"
follows="left|top" height="16" increment="0.1"
initial_val="4" label="Coefficient de Brouillard:" label_width="138" left="10"
max_val="10" min_val="0.5" mouse_opaque="true" name="fog" width="202" />
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom_delta="-50" drop_shadow_visible="true" enabled="true" follows="left|top"
font="SansSerifSmall" h_pad="0" halign="left" height="40"
left="10" mouse_opaque="true" name="note" v_pad="0"
width="480">
Note: le Gamma et le brouillard, sont inactifs quand les Effets atmosphériques le sont.
</text>
<button bottom="10" enabled="true" follows="right|bottom" font="SansSerif"
halign="center" height="20" label="OK" label_selected="OK"
left="-110" mouse_opaque="true" name="OK" scale_image="true" width="90" />
</floater>

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="htmlfloater" title="">
<button label="Fermer" name="close_btn" />
<button label="Précédente" name="back_btn" />
<button label="Suivante" name="forward_btn" />
<button label="Rafraîchir" name="reload_btn" />
<button label="Arrêter" name="stop_btn" />
<button label="Domicile" name="home_btn" />
<button label="Aller" name="go_btn" />
<string name="home_page_url">
http://www.secondlife.com
</string>
<string name="support_page_url">
http://wiki.secondlife.com/wiki/Knowledge_Base/fr
</string>
</floater>

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="floater_hud" title="Didacticiel" />

View File

@@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<multi_floater name="im_floater" title="Message instantané">
<text name="only_user_message">
Vous êtes le seul participant à cette session. ce qui est idiot
</text>
<string name="offline_message">[NAME] is offline.</string>
<string name="invite_message">
Pour accepter ce chat vocal/vous connecter, cliquez sur le bouton [BUTTON NAME].
</string>
<string name="muted_message">
Vous ignorez ce résident (mute). Si vous lui envoyez un message, il ne sera plus ignoré.
</string>
<string name="generic_request_error">
Erreur lors de la requête, veuillez réessayer ultérieurement.
</string>
<string name="insufficient_perms_error">
Vous n&apos;avez pas les droits requis tant pis pour vous.
</string>
<string name="session_does_not_exist_error">
La session a expiré
</string>
<string name="no_ability_error">
Vous n&apos;avez pas ce pouvoir.
</string>
<string name="not_a_mod_error">
Vous n&apos;êtes pas modérateur de session.
</string>
<string name="muted_error">
Un modérateur de groupe a désactivé votre chat écrit.
</string>
<string name="add_session_event">
Impossible d&apos;ajouter des participants à la session de chat avec [RECIPIENT].
</string>
<string name="message_session_event">
Impossible d&apos;envoyer votre message à la session de chat avec [RECIPIENT].
</string>
<string name="removed_from_group">
Vous avez été supprimé du groupe.
</string>
<string name="close_on_no_ability">
Vous ne pouvez plus participer à la session de chat.
</string>
</multi_floater>

View File

@@ -0,0 +1,69 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater can_close="true" can_drag_on_left="false" can_minimize="false"
can_resize="false" height="440" min_height="140" min_width="300"
name="Image Preview" title="" width="300">
<text bottom_delta="-40" follows="top|left" height="15" left="10" name="name_label">
Nom:
</text>
<line_editor bottom_delta="-24" follows="top|left|right" height="19" max_length="254"
name="name_form" width="280" />
<text bottom_delta="-20" follows="top|left" height="15" name="description_label">
Description:
</text>
<line_editor bottom_delta="-24" follows="top|left|right" height="19" max_length="254"
name="description_form" width="280" spell_check="true" />
<text bottom_delta="-20" follows="top|left" height="15" name="preview_label">
Prévisualiser comme:
</text>
<combo_box bottom_delta="-6" follows="left|top" height="18" label="Habits"
left="120" name="clothing_type_combo" width="160">
<combo_item name="Image">
Image
</combo_item>
<combo_item name="Hair">
Cheveux
</combo_item>
<combo_item name="FemaleHead">
Tête de femme
</combo_item>
<combo_item name="FemaleUpperBody">
Corps de femme (haut)
</combo_item>
<combo_item name="FemaleLowerBody">
Corps de femme (bas)
</combo_item>
<combo_item name="MaleHead">
Tête d&apos;homme
</combo_item>
<combo_item name="MaleUpperBody">
Corps d&apos;homme (haut)
</combo_item>
<combo_item name="MaleLowerBody">
Corps d&apos;homme (bas)
</combo_item>
<combo_item name="Skirt">
Jupe
</combo_item>
<combo_item name="SculptedPrim">
Sculptie
</combo_item>
</combo_box>
<text bottom="250" follows="top|left" left="10" name="bad_image_text">
Impossible de lire l&apos;image.
Sauvegardez en Targa 24 bit (.tga).
</text>
<check_box bottom="37" control_name="LosslessJ2CUpload" enabled="false"
follows="bottom|left" font="SansSerifSmall" height="16"
initial_value="false" label="Compression sans perte" left="10"
left_delta="2" name="lossless_check" width="280" />
<check_box bottom="37" control_name="TemporaryUpload" enabled="true"
follows="bottom|left" font="SansSerifSmall" height="16"
initial_value="false" label="Temporaire (Gratuit)"
left_delta="155" name="temp_check" width="280" tooltip="chargement gratuit mais qui disparaitra a votre reconnection." />
<button bottom="10" follows="bottom|right" height="20" label="Annuler" left="165"
name="cancel_btn" width="125" />
<button bottom="10" follows="bottom|left" height="20" label="Charger ([UPLOADFEE])"
left="15" name="ok_btn" width="125" />
</floater>

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Import" title="">
<text name="name_label">
Nom :
</text>
<text name="description_label">
Description :
</text>
<text name="preview_label">
Fichiers à charger :
</text>
<button label="Annuler" name="cancel_btn"/>
<button label="Charger (10 L$)" name="ok_btn"/>
<text name="preview_label2">
Prévisualisation de l&apos;image :
</text>
</floater>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="inspect" title="Inspecter les objets">
<scroll_list name="object_list"
tool_tip="Sélectionner un objet de la liste pour le mettre en surbrillance dans le Monde.">
<column label="Nom" name="object_name" />
<column label="Propriétaire" name="owner_name" />
<column label="Créateur" name="creator_name" />
<column label="Date de création" name="creation_date" />
</scroll_list>
<button label="Voir le profil du propriétaire" name="button owner" width="180"
tool_tip="Voir le profil du propriétaire de l&apos;objet en surbrillance" />
<button label="Voir le profil du créateur" name="button creator" left="192" width="180"
tool_tip="Voir le profil du créateur de l&apos;objet en surbrillance" />
</floater>

View File

@@ -0,0 +1,56 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater label="(inconnue)" name="im_floater" title="(inconnue)">
<string name="ringing">
Appel en cours...
</string>
<string name="answering">
Connexion en cours...
</string>
<string name="connected">
Connecté(e), cliquez sur Raccrocher pour terminer l&apos;appel
</string>
<string name="hang_up">
Appel terminé
</string>
<string name="inventory_item_offered">
Objet de l&apos;inventaire offert
</string>
<string name="voice_icon">
icn_voice-pvtfocus.tga
</string>
<string name="title_string">
Envoyer un message instantané à [NAME]
</string>
<string name="typing_start_string">
[NAME] est en train d&apos;écrire…
</string>
<string name="session_start_string">
Début de la session avec [NAME], veuillez patienter.
</string>
<string name="default_text_label">
Cliquez ici pour envoyer un message instantané.
</string>
<string name="unavailable_text_label">
Le chat écrit n&apos;est pas disponible pour cet appel.
</string>
<button bottom="-40" follows="left|top" height="20" label="Profil" left="5"
name="profile_callee_btn" width="80" />
<button bottom="-40" follows="left|top" halign="center" height="20" label="Teleporter" left_delta="80"
name="profile_tele_btn" width="80" />
<button bottom="-40" follows="left|top" halign="center" height="20" label="Historique" left_delta="80"
name="history_btn" visible="true" width="80" />
<button label="Profil" name="profile_callee_btn"/>
<button label="Appeler" name="start_call_btn"/>
<button label="Raccrocher" name="end_call_btn"/>
<panel name="speaker_controls">
<button label="" name="mute_btn" tool_tip="Ignorez"/>
</panel>
<line_editor label="Cliquez ici pour envoyer un message instantané" name="chat_editor"/>
<button label="Envoyer" name="send_btn"/>
<string name="live_help_dialog">
*** Bienvenue sur la page Demande d&apos;aide ***
Veuillez au préalable consulter les pages d&apos;aide de Second Life en appuyant sur la touche F1, ou en accédant à la base de connaissances http://secondlife.com/knowledgebase/
Si vous ne trouvez pas ce que vous cherchez, saisissez votre question et attendez quelques instants pour que quelqu&apos;un vous réponde.
-=-=- Les temps de réponse varient, surtout pendant les périodes de pointe -=-=-
</string>
</floater>

View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater label="(inconnu)" name="im_floater" title="(inconnu)">
<string name="ringing">
En train de rejoindre le chat vocal...
</string>
<string name="connected">
Connecté(e), cliquez sur Raccrocher pour terminer l&apos;appel
</string>
<string name="hang_up">
A quitté le chat vocal
</string>
<string name="voice_icon">
icn_voice-groupfocus.tga
</string>
<string name="title_string">
Envoyer un message instantané à [NAME]
</string>
<string name="typing_start_string">
[NAME] est en train d&apos;écrire…
</string>
<string name="session_start_string">
Début de la session avec [NAME], veuillez patienter.
</string>
<string name="default_text_label">
Cliquez ici pour envoyer un message instantané.
</string>
<layout_stack name="panels">
<layout_panel name="im_contents_panel">
<button label="Appeler" name="start_call_btn" width="95"/>
<button halign="right" label="Raccrocher" name="end_call_btn" width="95"/>
<button label="&lt; &lt;" label_selected="&gt; &gt;" name="toggle_active_speakers_btn" tool_tip="Affichez/masquez la liste des intervenants actifs dans cette session IM."/>
<line_editor label="Cliquez ici pour envoyer un message instantané" name="chat_editor"/>
<button label="Envoyer" name="send_btn"/>
</layout_panel>
</layout_stack>
<string name="live_help_dialog">
*** Bienvenue sur la page Demande d&apos;aide ***
Veuillez au préalable consulter les pages d&apos;aide de Second Life en appuyant sur la touche F1, ou en accédant à la base de connaissances http://secondlife.com/knowledgebase/
Si vous ne trouvez pas ce que vous cherchez, saisissez votre question et attendez quelques instants pour que quelqu&apos;un vous réponde.
-=-=- Les temps de réponse varient, surtout pendant les périodes de pointe -=-=-
</string>
</floater>

View File

@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater label="(inconnu)" name="im_floater" title="(inconnu)" min_width="460" >
<string name="ringing">
En train de rejoindre le chat vocal...
</string>
<string name="connected">
Connecté(e), cliquez sur Raccrocher pour terminer l&apos;appel
</string>
<string name="hang_up">
A quitté le chat vocal
</string>
<string name="voice_icon">
icn_voice-groupfocus.tga
</string>
<string name="live_help_dialog">
*** Bienvenue sur la page Demande d&apos;aide ***
Veuillez au préalable consulter les pages d&apos;aide de Second Life en appuyant sur la touche F1, ou en accédant à la base de connaissances http://secondlife.com/knowledgebase/
Si vous ne trouvez pas ce que vous cherchez, saisissez votre question et attendez quelques instants pour que quelqu&apos;un vous réponde.
-=-=- Les temps de réponse varient, surtout pendant les périodes de pointe -=-=-
</string>
<string name="title_string">
Envoyer un message instantané à [NAME]
</string>
<string name="typing_start_string">
[NAME] est en train d&apos;écrire…
</string>
<string name="session_start_string">
Début de la session avec [NAME], veuillez patienter.
</string>
<string name="moderated_chat_label">
(Modéré : Voix désactivées par défaut)
</string>
<string name="default_text_label">
Cliquez ici pour envoyer un message instantané.
</string>
<string name="muted_text_label">
Votre chat écrit a été désactivé par un modérateur de groupe.
</string>
<layout_stack name="panels">
<layout_panel name="im_contents_panel">
<button label="Infos sur le groupe" name="group_info_btn" width="130"/>
<button label="Participer à l&apos;appel" left_delta="135" name="start_call_btn" width="145"/>
<button halign="center" label="Raccrocher" name="end_call_btn" width="145"/>
<button label="&lt; &lt;" label_selected="&gt; &gt;" name="toggle_active_speakers_btn" tool_tip="Affichez/Masquez la liste des intervenants actifs dans cette session IM."/>
<button label="Envoyer" name="send_btn"/>
</layout_panel>
</layout_stack>
</floater>

View File

@@ -0,0 +1,95 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Inventory" title="Inventaire">
<search_editor label="Saisissez votre recherche ici" name="inventory search editor"/>
<text name="group_titles_textbox" halign="right" font="SansSerifSmall" follows="left|top"
height="16" left="30" bottom_delta="2" right="93">Filtre rapidie:</text>
<!-- Inventory Type Filter Labels -->
<string name="filter_type_all">TOUT</string>
<string name="filter_type_animation">Animations</string>
<string name="filter_type_callingcard">Cartes de Visite</string>
<string name="filter_type_wearable">Habits / Body Parts</string>
<string name="filter_type_gesture">Gestures</string>
<string name="filter_type_landmark">Reperes / Landmarks</string>
<string name="filter_type_notecard">Notecards</string>
<string name="filter_type_object">Objets</string>
<string name="filter_type_script">Scripts</string>
<string name="filter_type_sound">Sons</string>
<string name="filter_type_texture">Textures</string>
<string name="filter_type_snapshot">Photos</string>
<string name="filter_type_custom">Custom...</string>
<combo_box name="Quick Filter" label="Filtre Rapide" follows="left|top|right" height="20" left="95" right="-6" bottom_delta="0">
<combo_item name="filter_type_all">TOUT</combo_item>
<separator />
<combo_item name="filter_type_animation">Animations</combo_item>
<combo_item name="filter_type_callingcard">Cartes de Visite</combo_item>
<combo_item name="filter_type_wearable">Habits / Body Parts</combo_item>
<combo_item name="filter_type_gesture">Gestures</combo_item>
<combo_item name="filter_type_landmark">Reperes / Landmarks</combo_item>
<combo_item name="filter_type_notecard">Notecards</combo_item>
<combo_item name="filter_type_object">Objets</combo_item>
<combo_item name="filter_type_script">Scripts</combo_item>
<combo_item name="filter_type_sound">Sons</combo_item>
<combo_item name="filter_type_texture">Textures</combo_item>
<combo_item name="filter_type_snapshot">Photos</combo_item>
<separator />
<combo_item name="filter_type_custom">Custom...</combo_item>
</combo_box>
<tab_container name="inventory filter tabs">
<inventory_panel label="Tous les objets" name="All Items"/>
<inventory_panel label="Objets récents" name="Recent Items"/>
<inventory_panel label="Objets Portés" name="Worn Items"/>
</tab_container>
<menu_bar name="Inventory Menu">
<menu label="Fichier" name="File">
<tearoff_menu label="~~~~~~~~~~~" name="~~~~~~~~~~~"/>
<menu_item_call label="Ouvrir" name="Open"/>
<menu_item_call label="Nouvelle fenêtre" name="New Window"/>
<menu_item_call label="Afficher les filtres" name="Show Filters"/>
<menu_item_call label="Réinitialiser les filtres" name="Reset Current"/>
<menu_item_call label="Fermer tous les dossiers" name="Close All Folders"/>
<menu_item_call label="Vider la corbeille" name="Empty Trash"/>
<menu_item_call label="Rafraichir l'inventaire" name="Refresh Inventory"/>
</menu>
<menu label="Créer" name="Create">
<tearoff_menu label="~~~~~~~~~~~" name="~~~~~~~~~~~"/>
<menu_item_call label="Nouveau dossier" name="New Folder"/>
<menu_item_call label="Nouveau script" name="New Script"/>
<menu_item_call label="Nouvelle note" name="New Note"/>
<menu_item_call label="Nouvelle gesture" name="New Gesture"/>
<menu name="New Clothes">
<menu_item_call label="Nouvelle chemise" name="New Shirt"/>
<menu_item_call label="Nouveau pantalon" name="New Pants"/>
<menu_item_call label="Nouvelles chaussures" name="New Shoes"/>
<menu_item_call label="Nouvelles chaussettes" name="New Socks"/>
<menu_item_call label="Nouvelle veste" name="New Jacket"/>
<menu_item_call label="Nouvelle jupe" name="New Skirt"/>
<menu_item_call label="Nouveaux gants" name="New Gloves"/>
<menu_item_call label="Nouveaux sous-vêtements (haut)" name="New Undershirt"/>
<menu_item_call label="Nouveaux sous-vêtements (bas)" name="New Underpants"/>
</menu>
<menu name="New Body Parts">
<menu_item_call label="Nouvelle silhouette" name="New Shape"/>
<menu_item_call label="Nouvelle peau" name="New Skin"/>
<menu_item_call label="Nouveaux cheveux" name="New Hair"/>
<menu_item_call label="Nouveaux yeux" name="New Eyes"/>
</menu>
</menu>
<menu label="Trier" name="Sort">
<tearoff_menu label="~~~~~~~~~~~" name="~~~~~~~~~~~"/>
<menu_item_check label="Par nom" name="By Name"/>
<menu_item_check label="Par date" name="By Date"/>
<menu_item_check label="Trier les dossiers par nom" name="Folders Always By Name"/>
<menu_item_check label="Dossiers système en premier" name="System Folders To Top"/>
</menu>
<menu label="Chercher" name="Search">
<menu_item_check label="Par nom" name="Item name"/>
<menu_item_check label="par description" name="Item description"/>
<menu_item_check label="par créateur" name="Item creatorr"/>
</menu>
<menu label="Filters" name="Filters">
<tearoff_menu label="~~~~~~~~~~~" name="~~~~~~~~~~~"/>
<menu_item_check label="Modifier actuel" name="Modify Current"/>
<menu_item_call label="Réinitialiser actuel" name="Reset Current"/>
</menu>
</menu_bar>
</floater>

View File

@@ -0,0 +1,85 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="item properties" title="Propriétés de l&apos;objet de l&apos;inventaire">
<text name="LabelItemNameTitle">
Nom :
</text>
<text name="LabelItemDescTitle">
Description :
</text>
<text name="LabelCreatorTitle">
Créateur :
</text>
<text name="LabelCreatorName">
Nicole Linden
</text>
<button label="Profil..." label_selected="" name="BtnCreator"/>
<text name="LabelOwnerTitle">
Propriétaire :
</text>
<text name="LabelOwnerName">
Thrax Linden
</text>
<button label="Profil..." label_selected="" name="BtnOwner"/>
<text name="LabelAcquiredTitle">
Acquis :
</text>
<text name="LabelAcquiredDate">
Wed May 24 12:50:46 2006
</text>
<text name="OwnerLabel">
Vous pouvez :
</text>
<check_box label="Modifier" name="CheckOwnerModify"/>
<check_box label="Copier" name="CheckOwnerCopy"/>
<check_box label="Revendre/Donner" name="CheckOwnerTransfer"/>
<text name="BaseMaskDebug">
B :
</text>
<text name="OwnerMaskDebug">
O :
</text>
<text name="GroupMaskDebug">
G :
</text>
<text name="EveryoneMaskDebug">
E :
</text>
<text name="NextMaskDebug">
N :
</text>
<check_box label="Partager avec le groupe" name="CheckShareWithGroup"/>
<check_box label="Autoriser tout le monde à copier" name="CheckEveryoneCopy"/>
<text name="NextOwnerLabel" width="192">
Le prochain propriétaire pourra :
</text>
<check_box label="Modifier" name="CheckNextOwnerModify"/>
<check_box label="Copier" name="CheckNextOwnerCopy"/>
<check_box label="Revendre/Donner" name="CheckNextOwnerTransfer"/>
<text name="SaleLabel">
Marquer l&apos;objet :
</text>
<check_box label="À vendre" name="CheckPurchase"/>
<radio_group name="RadioSaleType">
<radio_item name="radio">
Original
</radio_item>
<radio_item name="radio2">
Copie
</radio_item>
</radio_group>
<text name="TextPrice">
Prix : L$
</text>
<string name="unknown">
(inconnu)
</string>
<string name="public">
(public)
</string>
<string name="you_can">
Vous pouvez :
</string>
<string name="owner_can">
Le propriétaire peut :
</string>
</floater>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Inventory Finder" title="inventory_recent_items">
<check_box label="Animations" name="check_animation"/>
<check_box label="Cartes de visite" name="check_calling_card"/>
<check_box label="Habits / Body Parts" name="check_clothing"/>
<check_box label="Gestures" name="check_gesture"/>
<check_box label="Reperes / Landmarks" name="check_landmark"/>
<check_box label="Notecards" name="check_notecard"/>
<check_box label="Objets" name="check_object"/>
<check_box label="Scripts" name="check_script"/>
<check_box label="Sons" name="check_sound"/>
<check_box label="Textures" name="check_texture"/>
<check_box label="Photos" name="check_snapshot"/>
<button label="Tout" label_selected="Tout" name="All" width="70"/>
<button label="Aucun" label_selected="Aucun" name="None" width="70" bottom_delta="0" left="83"/>
<check_box label="Toujours montrer &#10;les dossiers" name="check_show_empty" bottom_delta="-20"/>
<check_box label="Depuis la déconnexion" name="check_since_logoff" bottom_delta="-36"/>
<text length="1" name="- OR -" type="string">
Ou il y a...
</text>
<spinner label="Heures" name="spin_hours_ago"/>
<spinner label="Jours" name="spin_days_ago"/>
<button label="Fermer" label_selected="Fermer" name="Close" bottom_delta="-30"/>
</floater>

Some files were not shown because too many files have changed in this diff Show More