diff --git a/indra/llaudio/llstreamingaudio_fmodex.cpp b/indra/llaudio/llstreamingaudio_fmodex.cpp
index 1ad1b2eae..6d97bcc49 100644
--- a/indra/llaudio/llstreamingaudio_fmodex.cpp
+++ b/indra/llaudio/llstreamingaudio_fmodex.cpp
@@ -74,7 +74,9 @@ LLStreamingAudio_FMODEX::LLStreamingAudio_FMODEX(FMOD::System *system) :
{
// Number of milliseconds of audio to buffer for the audio card.
// Must be larger than the usual Second Life frame stutter time.
- mSystem->setStreamBufferSize(200, FMOD_TIMEUNIT_MS);
+ const U32 buffer_seconds = 5; //sec
+ const U32 estimated_bitrate = 128; //kbit/sec
+ mSystem->setStreamBufferSize(estimated_bitrate * buffer_seconds * 128/*bytes/kbit*/, FMOD_TIMEUNIT_RAWBYTES);
// Here's where we set the size of the network buffer and some buffering
// parameters. In this case we want a network buffer of 16k, we want it
@@ -372,7 +374,7 @@ LLAudioStreamManagerFMODEX::LLAudioStreamManagerFMODEX(FMOD::System *system, con
exinfo.cbsize = sizeof(exinfo);
exinfo.suggestedsoundtype = FMOD_SOUND_TYPE_MPEG; //Hint to speed up loading.
- FMOD_RESULT result = mSystem->createStream(url.c_str(), FMOD_2D | FMOD_NONBLOCKING, &exinfo, &mInternetStream);
+ FMOD_RESULT result = mSystem->createStream(url.c_str(), FMOD_2D | FMOD_NONBLOCKING | FMOD_IGNORETAGS, &exinfo, &mInternetStream);
if (result!= FMOD_OK)
{
diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt
index e939bb468..5450cc386 100644
--- a/indra/llcommon/CMakeLists.txt
+++ b/indra/llcommon/CMakeLists.txt
@@ -17,7 +17,9 @@ include_directories(
set(llcommon_SOURCE_FILES
aiframetimer.cpp
imageids.cpp
- indra_constants.cpp
+ indra_constants.cpp
+ llallocator.cpp
+ llallocator_heap_profile.cpp
llapp.cpp
llapr.cpp
llaprpool.cpp
@@ -52,6 +54,7 @@ set(llcommon_SOURCE_FILES
llmd5.cpp
llmemory.cpp
llmemorystream.cpp
+ llmemtype.cpp
llmetrics.cpp
llmortician.cpp
lloptioninterface.cpp
@@ -101,6 +104,8 @@ set(llcommon_HEADER_FILES
linden_common.h
linked_lists.h
llaccountingcost.h
+ llallocator.h
+ llallocator_heap_profile.h
llagentconstants.h
llavatarname.h
llapp.h
diff --git a/indra/llcommon/llallocator.cpp b/indra/llcommon/llallocator.cpp
new file mode 100644
index 000000000..6f6abefc6
--- /dev/null
+++ b/indra/llcommon/llallocator.cpp
@@ -0,0 +1,134 @@
+/**
+ * @file llallocator.cpp
+ * @brief Implementation of the LLAllocator class.
+ *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+ * $/LicenseInfo$
+ */
+
+#include "linden_common.h"
+#include "llallocator.h"
+
+#if LL_USE_TCMALLOC
+
+#include "google/heap-profiler.h"
+#include "google/commandlineflags_public.h"
+
+DECLARE_bool(heap_profile_use_stack_trace);
+//DECLARE_double(tcmalloc_release_rate);
+
+// static
+void LLAllocator::pushMemType(S32 type)
+{
+ if(isProfiling())
+ {
+ PushMemType(type);
+ }
+}
+
+// static
+S32 LLAllocator::popMemType()
+{
+ if (isProfiling())
+ {
+ return PopMemType();
+ }
+ else
+ {
+ return -1;
+ }
+}
+
+void LLAllocator::setProfilingEnabled(bool should_enable)
+{
+ // NULL disables dumping to disk
+ static char const * const PREFIX = NULL;
+ if(should_enable)
+ {
+ HeapProfilerSetUseStackTrace(false);
+ HeapProfilerStart(PREFIX);
+ }
+ else
+ {
+ HeapProfilerStop();
+ }
+}
+
+// static
+bool LLAllocator::isProfiling()
+{
+ return IsHeapProfilerRunning();
+}
+
+std::string LLAllocator::getRawProfile()
+{
+ // *TODO - fix google-perftools to accept an buffer to avoid this
+ // malloc-copy-free cycle.
+ char * buffer = GetHeapProfile();
+ std::string ret = buffer;
+ free(buffer);
+ return ret;
+}
+
+#else // LL_USE_TCMALLOC
+
+//
+// stub implementations for when tcmalloc is disabled
+//
+
+// static
+void LLAllocator::pushMemType(S32 type)
+{
+}
+
+// static
+S32 LLAllocator::popMemType()
+{
+ return -1;
+}
+
+void LLAllocator::setProfilingEnabled(bool should_enable)
+{
+}
+
+// static
+bool LLAllocator::isProfiling()
+{
+ return false;
+}
+
+std::string LLAllocator::getRawProfile()
+{
+ return std::string();
+}
+
+#endif // LL_USE_TCMALLOC
+
+LLAllocatorHeapProfile const & LLAllocator::getProfile()
+{
+ mProf.mLines.clear();
+
+ // *TODO - avoid making all these extra copies of things...
+ std::string prof_text = getRawProfile();
+ //std::cout << prof_text << std::endl;
+ mProf.parse(prof_text);
+ return mProf;
+}
diff --git a/indra/llcommon/llallocator.h b/indra/llcommon/llallocator.h
new file mode 100644
index 000000000..a91dd57d1
--- /dev/null
+++ b/indra/llcommon/llallocator.h
@@ -0,0 +1,57 @@
+/**
+ * @file llallocator.h
+ * @brief Declaration of the LLAllocator class.
+ *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+ * $/LicenseInfo$
+ */
+
+#ifndef LL_LLALLOCATOR_H
+#define LL_LLALLOCATOR_H
+
+#include
+
+#include "llmemtype.h"
+#include "llallocator_heap_profile.h"
+
+class LL_COMMON_API LLAllocator {
+ friend class LLMemoryView;
+ friend class LLMemType;
+
+private:
+ static void pushMemType(S32 type);
+ static S32 popMemType();
+
+public:
+ void setProfilingEnabled(bool should_enable);
+
+ static bool isProfiling();
+
+ LLAllocatorHeapProfile const & getProfile();
+
+private:
+ std::string getRawProfile();
+
+private:
+ LLAllocatorHeapProfile mProf;
+};
+
+#endif // LL_LLALLOCATOR_H
diff --git a/indra/llcommon/llallocator_heap_profile.cpp b/indra/llcommon/llallocator_heap_profile.cpp
new file mode 100644
index 000000000..b574ef668
--- /dev/null
+++ b/indra/llcommon/llallocator_heap_profile.cpp
@@ -0,0 +1,147 @@
+/**
+ * @file llallocator_heap_profile.cpp
+ * @brief Implementation of the parser for tcmalloc heap profile data.
+ * @author Brad Kittenbrink
+ *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+ * $/LicenseInfo$
+ */
+
+#include "linden_common.h"
+#include "llallocator_heap_profile.h"
+
+#if LL_MSVC
+// disable warning about boost::lexical_cast returning uninitialized data
+// when it fails to parse the string
+#pragma warning (disable:4701)
+#pragma warning (disable:4702)
+#endif
+
+#include
+#include
+#include
+#include
+
+static const std::string HEAP_PROFILE_MAGIC_STR = "heap profile:";
+
+static bool is_separator(char c)
+{
+ return isspace(c) || c == '[' || c == ']' || c == ':';
+}
+
+void LLAllocatorHeapProfile::parse(std::string const & prof_text)
+{
+ // a typedef for handling a token in the string buffer
+ // it's a begin/end pair of string::const_iterators
+ typedef boost::iterator_range range_t;
+
+ mLines.clear();
+
+ if(prof_text.compare(0, HEAP_PROFILE_MAGIC_STR.length(), HEAP_PROFILE_MAGIC_STR) != 0)
+ {
+ // *TODO - determine if there should be some better error state than
+ // mLines being empty. -brad
+ llwarns << "invalid heap profile data passed into parser." << llendl;
+ return;
+ }
+
+ std::vector< range_t > prof_lines;
+
+ std::string::const_iterator prof_begin = prof_text.begin() + HEAP_PROFILE_MAGIC_STR.length();
+
+ range_t prof_range(prof_begin, prof_text.end());
+ boost::algorithm::split(prof_lines,
+ prof_range,
+ boost::bind(std::equal_to(), '\n', _1));
+
+ std::vector< range_t >::const_iterator i;
+ for(i = prof_lines.begin(); i != prof_lines.end() && !i->empty(); ++i)
+ {
+ range_t const & line_text = *i;
+
+ std::vector line_elems;
+
+ boost::algorithm::split(line_elems,
+ line_text,
+ is_separator);
+
+ std::vector< range_t >::iterator j;
+ j = line_elems.begin();
+
+ while(j != line_elems.end() && j->empty()) { ++j; } // skip any separator tokens
+ llassert_always(j != line_elems.end());
+ U32 live_count = boost::lexical_cast(*j);
+ ++j;
+
+ while(j != line_elems.end() && j->empty()) { ++j; } // skip any separator tokens
+ llassert_always(j != line_elems.end());
+ U64 live_size = boost::lexical_cast(*j);
+ ++j;
+
+ while(j != line_elems.end() && j->empty()) { ++j; } // skip any separator tokens
+ llassert_always(j != line_elems.end());
+ U32 tot_count = boost::lexical_cast(*j);
+ ++j;
+
+ while(j != line_elems.end() && j->empty()) { ++j; } // skip any separator tokens
+ llassert_always(j != line_elems.end());
+ U64 tot_size = boost::lexical_cast(*j);
+ ++j;
+
+ while(j != line_elems.end() && j->empty()) { ++j; } // skip any separator tokens
+ llassert(j != line_elems.end());
+ if (j != line_elems.end())
+ {
+ ++j; // skip the '@'
+
+ mLines.push_back(line(live_count, live_size, tot_count, tot_size));
+ line & current_line = mLines.back();
+
+ for(; j != line_elems.end(); ++j)
+ {
+ if(!j->empty())
+ {
+ U32 marker = boost::lexical_cast(*j);
+ current_line.mTrace.push_back(marker);
+ }
+ }
+ }
+ }
+ // *TODO - parse MAPPED_LIBRARIES section here if we're ever interested in it
+}
+
+void LLAllocatorHeapProfile::dump(std::ostream & out) const
+{
+ lines_t::const_iterator i;
+ for(i = mLines.begin(); i != mLines.end(); ++i)
+ {
+ out << i->mLiveCount << ": " << i->mLiveSize << '[' << i->mTotalCount << ": " << i->mTotalSize << "] @";
+
+ stack_trace::const_iterator j;
+ for(j = i->mTrace.begin(); j != i->mTrace.end(); ++j)
+ {
+ out << ' ' << *j;
+ }
+ out << '\n';
+ }
+ out.flush();
+}
+
diff --git a/indra/llcommon/llallocator_heap_profile.h b/indra/llcommon/llallocator_heap_profile.h
new file mode 100644
index 000000000..69300b829
--- /dev/null
+++ b/indra/llcommon/llallocator_heap_profile.h
@@ -0,0 +1,71 @@
+/**
+ * @file llallocator_heap_profile.h
+ * @brief Declaration of the parser for tcmalloc heap profile data.
+ * @author Brad Kittenbrink
+ *
+ * $LicenseInfo:firstyear=2009&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+ * $/LicenseInfo$
+ */
+
+#ifndef LL_LLALLOCATOR_HEAP_PROFILE_H
+#define LL_LLALLOCATOR_HEAP_PROFILE_H
+
+#include "stdtypes.h"
+
+#include
+ MemProfiling
+
MenuAccessKeyTime
- RenderUseStreamVBO
-
RenderPreferStreamDraw
+
list llCastRay( Vector start, Vector end, list options )
Returns a list consisting of the following three values for each hit: UUID, Link number, Hit position.
@@ -1803,18 +1804,32 @@ key llAvatarOnLinkSitTarget( integer link )
Returns a key that is the UUID of the user seated on the prim.
+
+
+ Not Away
+ Away
+ Not Busy
+ Busy
Press ESC to return to World View
-
+ Stone
+ Metal
+ Glass
+ Wood
+ Flesh
+ Plastic
+ Rubber
+ Light
+
Ctrl-
Cmd-
Opt-
diff --git a/indra/newview/skins/default/xui/fr/strings.xml b/indra/newview/skins/default/xui/fr/strings.xml
index e31f823e6..b051c2eb7 100644
--- a/indra/newview/skins/default/xui/fr/strings.xml
+++ b/indra/newview/skins/default/xui/fr/strings.xml
@@ -1,677 +1,713 @@
-
-
-
- L$
- Linden Lab
-
- Second Life
-
-
- Singularity Viewer
-
-
- SINGULARITY VIEWER
-
-
- Grille de Second Life
-
-
- Portail Assistance Second Life
-
-
- Détection du matériel...
-
-
- Chargement de [APP_NAME]...
-
-
- Vidage du cache...
-
-
- Initialisation du cache des textures...
-
-
- Initialisation VFS...
-
-
- Échec d'initialisation des graphiques. Veuillez mettre votre pilote graphique à jour.
-
-
- Restauration...
-
-
- Changement de la résolution...
-
-
- La connexion à [APP_NAME] apparaît peut-être comme étant gelée. Veuillez patienter.
-
-
- Connexion...
-
-
- Authentification en cours
-
-
- Maintenance du compte en cours…
-
-
- La tentative de connexion précédente a échoué. Connexion, esssai [NUMBER]
-
-
- Monde en cours de chargement PATIENCE…
-
-
- Navigateur Web incorporé en cours d'initialisation…
-
-
- Multimédia en cours d'initialisation. Aimez vous Brahms ?…
-
-
- Fichiers du cache en cours de vérification (peut prendre 60-90 s)ou pire...
-
-
- Réponse en cours de traitement…
-
-
- Monde en cours d'initialisation…
-
-
- Décodage des images en cours, croisons les doigts...
-
-
- Quicktime en cours d'initialisation
-
-
- Quicktime introuvable, impossible de procéder à l'initialisation.
-
-
- Initialisation de Quicktime réussie.
-
-
- Capacités de la région demandées...
-
-
- Capacités de la région demandées... Tentative n° [NUMBER].
-
-
- Liaison avec la région en cours de création...
-
-
- Connexion avec la région en cours, avec un peu de chance ...
-
-
- Habits en cours de téléchargement, esperons le ...
-
-
- Échec de la connexion.
-
-
- Quitter
-
-
- Il y a peut-être des problèmes techniques dans cette region. Veuillez vérifier votre connexion Internet.
-
-
- Enregistrement des paramètres...
-
-
- Déconnexion...
-
-
- Arrêt en cours...
-
-
- Vous avez été déconnecté de la région où vous étiez.
-
-
- Vous avez été transféré vers une région non valide.
-
-
- Personne
-
-
- (pas de nom)
-
-
- Propriétaire :
-
-
- Public
-
-
- (Groupe)
-
-
- Script
-
-
- Propriétés physique
-
-
- Toucher
-
-
- [CURRENCY]
-
-
- Laisser tomber l'inventaire
-
-
- Fantôme
-
-
- Temporaire
-
-
- (cliquez-droit pour le menu)
-
-
- Copie autorisée
-
-
- À vendre : [AMOUNT] [CURRENCY]
-
-
- À vendre : [MESSAGE]
-
-
- Contruction de groupe
-
-
- Pas de construction
-
-
- Contruction de groupe
-
-
- Non sécurisé
-
-
- Interdiction de voler
-
-
- Scripts de groupe
-
-
- Pas de scripts
-
-
- Terrain :
-
-
- Impossible de faire glisser plus d'un objet ici
-
-
- En cours d'extraction...
-
-
- Notes de version
-
-
- Chargement..
-
-
- (personne)
-
-
- (en attente)
-
-
- (hippos)
-
-
- (aucun)
-
-
- Aucune erreur
-
-
- Requête de l'actif : échec
-
-
- Requête de l'actif : fichier inexistant
-
-
- Requête de l'actif : actif introuvable dans la base de données
-
-
- Fin du ficher
-
-
- Impossible d'ouvrir le fichier
-
-
- Fichier introuvable
-
-
- Délai d'attente du transfert du fichier dépassé
-
-
- Disparition du circuit
-
-
- Il y a une différence de prix entre le client et le serveur
-
-
- Statut inconnu
-
-
- (Apparence en cours de modification)
-
-
- Absent
-
-
- Occupé
-
-
- Ignoré - Mute
-
-
- Effrayé
-
-
- En colère
-
-
- Absent
-
-
- Salto arrière
-
-
- Rire en se tenant le ventre
-
-
- Grand sourire
-
-
- Envoyer un baiser
-
-
- Bailler d'ennui
-
-
- S'incliner
-
-
- Applaudir
-
-
- Révérence de cour
-
-
- Pleurer
-
-
- Danse 1
-
-
- Danse 2
-
-
- Danse 3
-
-
- Danse 4
-
-
- Danse 5
-
-
- Danse 6
-
-
- Danse 7
-
-
- Danse 8
-
-
- Mépris
-
-
- Boire
-
-
- Gêne
-
-
- Désapprobation
-
-
- Victoire
-
-
- Yoga
-
-
- Froncer les sourcils
-
-
- Impatient
-
-
- Sauter de joie
-
-
- Va te faire voir !
-
-
- Baiser
-
-
- Rire
-
-
- Montrer ses muscles
-
-
- Non (mécontent)
-
-
- Non
-
-
- Na na na na nère
-
-
- Gauche-droite
-
-
- Bouche ouverte
-
-
- Paix
-
-
- Montrer quelqu'un du doigt
-
-
- Se montrer du doigt
-
-
- Gauche
-
-
- Droite
-
-
- Compter (pierre-papier-ciseaux)
-
-
- Papier (pierre-papier-ciseaux)
-
-
- Pierre (pierre-papier-ciseaux)
-
-
- Ciseaux (pierre-papier-ciseaux)
-
-
- Dégoût
-
-
- Coup de pied circulaire
-
-
- Triste
-
-
- Salut
-
-
- Crier
-
-
- Hausser les épaules
-
-
- Sourire
-
-
- Fumer, immobile
-
-
- Fumer, prendre une bouffée
-
-
- Fumer, jeter son mégot
-
-
- Surprise
-
-
- Coup d'épée
-
-
- Caprice
-
-
- Tirer la langue
-
-
- Faire signe
-
-
- Chuchoter
-
-
- Siffler
-
-
- Clin d'œil
-
-
- Clin d'œil (Hollywood)
-
-
- Soucis
-
-
- Oui (Joie)
-
-
- Oui
-
-
- Chargement...
-
-
- Hors ligne
-
-
- chuchote :
-
-
- crie :
-
-
- PG
-
-
- Mature
-
-
- Adult
-
-
- Hors ligne
-
-
- Inconnu
-
-
- (inconnu)
-
-
- Dernière modification : (jamais)
-
-
- Dernière modification :
-
-
- Tous fichiers
-
-
- Sons
-
-
- Animations
-
-
- Images
-
-
- Enregistrer
-
-
- Charger
-
-
- Images Targa
-
-
- Images Bitmap
-
-
- Fichier de film AVI
-
-
- Fichier d'animation XAF
-
-
- Fichier XML
-
-
- Fichier RAW
-
-
- Images compressées
-
-
- Charger des fichiers
-
-
- Choisir le répertoire
-
-
-
- Appuyez sur ESC pour quitter la vue subjective
-
-
-
- Ctrl-
-
-
- Cmd-
-
-
- Opt-
-
-
- Maj-
-
-
- Ctrl-
-
-
- Alt-
-
-
- Maj-
-
-
- Une erreur est survenue lors de la lecture de la ligne de commande.
-Merci de consulter : http://wiki.secondlife.com/wiki/Client_parameters
-Erreur :
-
-
- [APP_NAME] - Utilisation de la ligne de commande :
-
-
- [APP_NAME] ne peut accéder à un fichier requis.
-
-Cela vient du fait que quelqu'un a ouvert plusieurs copies ou que votre système pense qu'un fichier est ouvert.
-Si ce message persiste, veuillez redémarrer votre ordinateur.
-Si le problème persiste, vous devrez peut-être complètement désinstaller puis réinstaller [APP_NAME].
-
-
- Erreur fatale
-
-
- [APP_NAME] nécessite un microprocesseur AltiVec (version G4 ou antérieure).
-
-
- [APP_NAME] est déjà en cours d'exécution.
-Vérifiez si une version minimisée du programme apparaît dans votre barre de tâches.
-Si ce message persiste, redémarrez votre ordinateur.
-
-
- [APP_NAME] semble avoir crashé lors de l'utilisation précédente.
-Voulez-vous envoyer un rapport de crash ?
-
-
- Notification
-
-
- [APP_NAME] ne peut détecter DirectX 9.0b ou une version supérieure.
-[APP_NAME] utilise DirectX pour détecter les matériels et/ou les pilotes qui ne sont pas à jour et peuvent causer des problèmes de stabilité, de performance ou des plantages. Bien que vous puissiez utiliser [APP_NAME] sans DirectX, nous vous recommandons de l'utiliser avec DirectX 9.0b.
-
-Voulez-vous continuer ?
-
-
- Avertissement
-
-
- RegisterClass a échoué
-
-
- Erreur
-
-
- Impossible d'ouvrir le mode plein écran à [WIDTH] x [HEIGHT].
-Utilisation du mode fenêtré.
-
-
- Erreur de fermeture lors de la destruction de la fenêtre (DestroyWindow() a échoué)
-
-
- Erreur de fermeture
-
-
- Impossible de créer le contexte GL
-
-
- Impossible de trouver le format pixel approprié
-
-
- Impossible de trouver la description du format pixel
-
-
- [APP_NAME] nécessite True Color (32 bits) pour s'exécuter.
-Accédez aux paramètres d'affichage de votre ordinateur et réglez le mode couleur sur 32 bits.
-
-
- [APP_NAME] ne peut pas s'exécuter, car il n'y pas de canal alpha 8 bits accessible. En général, ceci vient de problèmes avec le pilote de la carte vidéo.
-Assurez-vous d'avoir installé le pilote de carte vidéo le plus récent possible.
-Assurez-vous aussi que votre écran est réglé sur True Color (32 bits) sous Panneau de configuration > Affichage > Paramètres.
-Si ce message persiste, veuillez aller sur la page [SUPPORT_SITE].
-
-
- Impossible de trouver le format pixel approprié
-
-
- Impossible de créer le contexte de rendu GL
-
-
- Impossible d'activer le contexte de rendu GL
-
-
- [APP_NAME] ne peut pas s'exécuter car les pilotes de votre carte vidéo n'ont pas été installés correctement, ne sont pas à jour, ou sont pour du matériel non pris en charge. Assurez-vous d'avoir des pilotes de cartes vidéos récents, et même si vous avez les plus récents, réinstallez-les.
-
-Si ce message persiste, veuillez aller sur la page [SUPPORT_SITE].
-
+
+
+
+ L$
+ Linden Lab
+
+ Second Life
+
+
+ Singularity Viewer
+
+
+ SINGULARITY VIEWER
+
+
+ Grille de Second Life
+
+
+ Portail Assistance Second Life
+
+
+ Détection du matériel...
+
+
+ Chargement de [APP_NAME]...
+
+
+ Vidage du cache...
+
+
+ Initialisation du cache des textures...
+
+
+ Initialisation VFS...
+
+
+ Échec d'initialisation des graphiques. Veuillez mettre votre pilote graphique à jour.
+
+
+ Restauration...
+
+
+ Changement de la résolution...
+
+
+ La connexion à [APP_NAME] apparaît peut-être comme étant gelée. Veuillez patienter.
+
+
+ Connexion...
+
+
+ Authentification en cours
+
+
+ Maintenance du compte en cours…
+
+
+ La tentative de connexion précédente a échoué. Connexion, esssai [NUMBER]
+
+
+ Monde en cours de chargement PATIENCE…
+
+
+ Navigateur Web incorporé en cours d'initialisation…
+
+
+ Multimédia en cours d'initialisation. Aimez vous Brahms ?…
+
+
+ Fichiers du cache en cours de vérification (peut prendre 60-90 s)ou pire...
+
+
+ Réponse en cours de traitement…
+
+
+ Monde en cours d'initialisation…
+
+
+ Décodage des images en cours, croisons les doigts...
+
+
+ Quicktime en cours d'initialisation
+
+
+ Quicktime introuvable, impossible de procéder à l'initialisation.
+
+
+ Initialisation de Quicktime réussie.
+
+
+ Capacités de la région demandées...
+
+
+ Capacités de la région demandées... Tentative n° [NUMBER].
+
+
+ Liaison avec la région en cours de création...
+
+
+ Connexion avec la région en cours, avec un peu de chance ...
+
+
+ Habits en cours de téléchargement, esperons le ...
+
+
+ Échec de la connexion.
+
+
+ Quitter
+
+
+ Il y a peut-être des problèmes techniques dans cette region. Veuillez vérifier votre connexion Internet.
+
+
+ Enregistrement des paramètres...
+
+
+ Déconnexion...
+
+
+ Arrêt en cours...
+
+
+ Vous avez été déconnecté de la région où vous étiez.
+
+
+ Vous avez été transféré vers une région non valide.
+
+
+ Personne
+
+
+ (pas de nom)
+
+
+ Propriétaire :
+
+
+ Public
+
+
+ (Groupe)
+
+
+ Script
+
+
+ Propriétés physique
+
+
+ Toucher
+
+
+ [CURRENCY]
+
+
+ Laisser tomber l'inventaire
+
+
+ Fantôme
+
+
+ Temporaire
+
+
+ (cliquez-droit pour le menu)
+
+
+ Copie autorisée
+
+
+ À vendre : [AMOUNT] [CURRENCY]
+
+
+ À vendre : [MESSAGE]
+
+
+ Contruction de groupe
+
+
+ Pas de construction
+
+
+ Contruction de groupe
+
+
+ Non sécurisé
+
+
+ Interdiction de voler
+
+
+ Scripts de groupe
+
+
+ Pas de scripts
+
+
+ Terrain :
+
+
+ Impossible de faire glisser plus d'un objet ici
+
+
+ En cours d'extraction...
+
+
+ Notes de version
+
+
+ Chargement..
+
+
+ (personne)
+
+
+ (en attente)
+
+
+ (hippos)
+
+
+ (aucun)
+
+
+ Aucune erreur
+
+
+ Requête de l'actif : échec
+
+
+ Requête de l'actif : fichier inexistant
+
+
+ Requête de l'actif : actif introuvable dans la base de données
+
+
+ Fin du ficher
+
+
+ Impossible d'ouvrir le fichier
+
+
+ Fichier introuvable
+
+
+ Délai d'attente du transfert du fichier dépassé
+
+
+ Disparition du circuit
+
+
+ Il y a une différence de prix entre le client et le serveur
+
+
+ Statut inconnu
+
+
+ (Apparence en cours de modification)
+
+
+ Absent
+
+
+ Occupé
+
+
+ Ignoré - Mute
+
+
+ Effrayé
+
+
+ En colère
+
+
+ Absent
+
+
+ Salto arrière
+
+
+ Rire en se tenant le ventre
+
+
+ Grand sourire
+
+
+ Envoyer un baiser
+
+
+ Bailler d'ennui
+
+
+ S'incliner
+
+
+ Applaudir
+
+
+ Révérence de cour
+
+
+ Pleurer
+
+
+ Danse 1
+
+
+ Danse 2
+
+
+ Danse 3
+
+
+ Danse 4
+
+
+ Danse 5
+
+
+ Danse 6
+
+
+ Danse 7
+
+
+ Danse 8
+
+
+ Mépris
+
+
+ Boire
+
+
+ Gêne
+
+
+ Désapprobation
+
+
+ Victoire
+
+
+ Yoga
+
+
+ Froncer les sourcils
+
+
+ Impatient
+
+
+ Sauter de joie
+
+
+ Va te faire voir !
+
+
+ Baiser
+
+
+ Rire
+
+
+ Montrer ses muscles
+
+
+ Non (mécontent)
+
+
+ Non
+
+
+ Na na na na nère
+
+
+ Gauche-droite
+
+
+ Bouche ouverte
+
+
+ Paix
+
+
+ Montrer quelqu'un du doigt
+
+
+ Se montrer du doigt
+
+
+ Gauche
+
+
+ Droite
+
+
+ Compter (pierre-papier-ciseaux)
+
+
+ Papier (pierre-papier-ciseaux)
+
+
+ Pierre (pierre-papier-ciseaux)
+
+
+ Ciseaux (pierre-papier-ciseaux)
+
+
+ Dégoût
+
+
+ Coup de pied circulaire
+
+
+ Triste
+
+
+ Salut
+
+
+ Crier
+
+
+ Hausser les épaules
+
+
+ Sourire
+
+
+ Fumer, immobile
+
+
+ Fumer, prendre une bouffée
+
+
+ Fumer, jeter son mégot
+
+
+ Surprise
+
+
+ Coup d'épée
+
+
+ Caprice
+
+
+ Tirer la langue
+
+
+ Faire signe
+
+
+ Chuchoter
+
+
+ Siffler
+
+
+ Clin d'œil
+
+
+ Clin d'œil (Hollywood)
+
+
+ Soucis
+
+
+ Oui (Joie)
+
+
+ Oui
+
+
+ Chargement...
+
+
+ Hors ligne
+
+
+ chuchote :
+
+
+ crie :
+
+
+ PG
+
+
+ Mature
+
+
+ Adult
+
+
+ Hors ligne
+
+
+ Inconnu
+
+
+ (inconnu)
+
+
+ Dernière modification : (jamais)
+
+
+ Dernière modification :
+
+
+ Tous fichiers
+
+
+ Sons
+
+
+ Animations
+
+
+ Images
+
+
+ Enregistrer
+
+
+ Charger
+
+
+ Images Targa
+
+
+ Images Bitmap
+
+
+ Fichier de film AVI
+
+
+ Fichier d'animation XAF
+
+
+ Fichier XML
+
+
+ Fichier RAW
+
+
+ Images compressées
+
+
+ Charger des fichiers
+
+
+ Choisir le répertoire
+
+
+ Présent
+
+
+ Absent
+
+
+ Pas occupé
+
+
+ Occupé
+
+
+ Pierre
+
+
+ Métal
+
+
+ Verre
+
+
+ Bois
+
+
+ Chair
+
+
+ Plastique
+
+
+ Caoutchouc
+
+
+ Léger
+
+
+
+ Appuyez sur ESC pour quitter la vue subjective
+
+
+
+ Ctrl-
+
+
+ Cmd-
+
+
+ Opt-
+
+
+ Maj-
+
+
+ Ctrl-
+
+
+ Alt-
+
+
+ Maj-
+
+
+ Une erreur est survenue lors de la lecture de la ligne de commande.
+Merci de consulter : http://wiki.secondlife.com/wiki/Client_parameters
+Erreur :
+
+
+ [APP_NAME] - Utilisation de la ligne de commande :
+
+
+ [APP_NAME] ne peut accéder à un fichier requis.
+
+Cela vient du fait que quelqu'un a ouvert plusieurs copies ou que votre système pense qu'un fichier est ouvert.
+Si ce message persiste, veuillez redémarrer votre ordinateur.
+Si le problème persiste, vous devrez peut-être complètement désinstaller puis réinstaller [APP_NAME].
+
+
+ Erreur fatale
+
+
+ [APP_NAME] nécessite un microprocesseur AltiVec (version G4 ou antérieure).
+
+
+ [APP_NAME] est déjà en cours d'exécution.
+Vérifiez si une version minimisée du programme apparaît dans votre barre de tâches.
+Si ce message persiste, redémarrez votre ordinateur.
+
+
+ [APP_NAME] semble avoir crashé lors de l'utilisation précédente.
+Voulez-vous envoyer un rapport de crash ?
+
+
+ Notification
+
+
+ [APP_NAME] ne peut détecter DirectX 9.0b ou une version supérieure.
+[APP_NAME] utilise DirectX pour détecter les matériels et/ou les pilotes qui ne sont pas à jour et peuvent causer des problèmes de stabilité, de performance ou des plantages. Bien que vous puissiez utiliser [APP_NAME] sans DirectX, nous vous recommandons de l'utiliser avec DirectX 9.0b.
+
+Voulez-vous continuer ?
+
+
+ Avertissement
+
+
+ RegisterClass a échoué
+
+
+ Erreur
+
+
+ Impossible d'ouvrir le mode plein écran à [WIDTH] x [HEIGHT].
+Utilisation du mode fenêtré.
+
+
+ Erreur de fermeture lors de la destruction de la fenêtre (DestroyWindow() a échoué)
+
+
+ Erreur de fermeture
+
+
+ Impossible de créer le contexte GL
+
+
+ Impossible de trouver le format pixel approprié
+
+
+ Impossible de trouver la description du format pixel
+
+
+ [APP_NAME] nécessite True Color (32 bits) pour s'exécuter.
+Accédez aux paramètres d'affichage de votre ordinateur et réglez le mode couleur sur 32 bits.
+
+
+ [APP_NAME] ne peut pas s'exécuter, car il n'y pas de canal alpha 8 bits accessible. En général, ceci vient de problèmes avec le pilote de la carte vidéo.
+Assurez-vous d'avoir installé le pilote de carte vidéo le plus récent possible.
+Assurez-vous aussi que votre écran est réglé sur True Color (32 bits) sous Panneau de configuration > Affichage > Paramètres.
+Si ce message persiste, veuillez aller sur la page [SUPPORT_SITE].
+
+
+ Impossible de trouver le format pixel approprié
+
+
+ Impossible de créer le contexte de rendu GL
+
+
+ Impossible d'activer le contexte de rendu GL
+
+
+ [APP_NAME] ne peut pas s'exécuter car les pilotes de votre carte vidéo n'ont pas été installés correctement, ne sont pas à jour, ou sont pour du matériel non pris en charge. Assurez-vous d'avoir des pilotes de cartes vidéos récents, et même si vous avez les plus récents, réinstallez-les.
+
+Si ce message persiste, veuillez aller sur la page [SUPPORT_SITE].
+
diff --git a/indra/newview/skins/emerald/textures/textures.xml b/indra/newview/skins/emerald/textures/textures.xml
index 9e1d9b519..8ccd5fa5d 100644
--- a/indra/newview/skins/emerald/textures/textures.xml
+++ b/indra/newview/skins/emerald/textures/textures.xml
@@ -130,6 +130,9 @@
+
+
+
diff --git a/indra/newview/skins/gemini/textures/textures.xml b/indra/newview/skins/gemini/textures/textures.xml
index 2c4b0cbea..792f6a453 100644
--- a/indra/newview/skins/gemini/textures/textures.xml
+++ b/indra/newview/skins/gemini/textures/textures.xml
@@ -130,6 +130,9 @@
+
+
+
diff --git a/indra/newview/skins/gred/textures/textures.xml b/indra/newview/skins/gred/textures/textures.xml
index 4dbbdf01b..451b70062 100644
--- a/indra/newview/skins/gred/textures/textures.xml
+++ b/indra/newview/skins/gred/textures/textures.xml
@@ -154,6 +154,9 @@
+
+
+
diff --git a/indra/newview/skins/kdarknv/textures/textures.xml b/indra/newview/skins/kdarknv/textures/textures.xml
index 07c74c2b1..d26f9ccb4 100644
--- a/indra/newview/skins/kdarknv/textures/textures.xml
+++ b/indra/newview/skins/kdarknv/textures/textures.xml
@@ -130,6 +130,9 @@
+
+
+
diff --git a/indra/newview/skins/kliteat/textures/textures.xml b/indra/newview/skins/kliteat/textures/textures.xml
index 82e990837..195b13f42 100644
--- a/indra/newview/skins/kliteat/textures/textures.xml
+++ b/indra/newview/skins/kliteat/textures/textures.xml
@@ -134,6 +134,9 @@
+
+
+
diff --git a/indra/newview/skins/openlife/textures/textures.xml b/indra/newview/skins/openlife/textures/textures.xml
index 7adbcd402..b3b964c2e 100644
--- a/indra/newview/skins/openlife/textures/textures.xml
+++ b/indra/newview/skins/openlife/textures/textures.xml
@@ -134,6 +134,9 @@
+
+
+
diff --git a/indra/newview/skins/pslgreen/textures/textures.xml b/indra/newview/skins/pslgreen/textures/textures.xml
index 4dbbdf01b..451b70062 100644
--- a/indra/newview/skins/pslgreen/textures/textures.xml
+++ b/indra/newview/skins/pslgreen/textures/textures.xml
@@ -154,6 +154,9 @@
+
+
+
diff --git a/indra/newview/skins/pslpurple/textures/textures.xml b/indra/newview/skins/pslpurple/textures/textures.xml
index 4dbbdf01b..451b70062 100644
--- a/indra/newview/skins/pslpurple/textures/textures.xml
+++ b/indra/newview/skins/pslpurple/textures/textures.xml
@@ -154,6 +154,9 @@
+
+
+
diff --git a/indra/newview/skins/wisdom/textures/textures.xml b/indra/newview/skins/wisdom/textures/textures.xml
index 34c9dea7e..550ea5ff1 100644
--- a/indra/newview/skins/wisdom/textures/textures.xml
+++ b/indra/newview/skins/wisdom/textures/textures.xml
@@ -130,6 +130,9 @@
+
+
+
diff --git a/indra/newview/statemachine/aistatemachine.cpp b/indra/newview/statemachine/aistatemachine.cpp
index 49f7ee0ba..cbe261cc4 100644
--- a/indra/newview/statemachine/aistatemachine.cpp
+++ b/indra/newview/statemachine/aistatemachine.cpp
@@ -38,6 +38,8 @@
#include "aithreadsafe.h"
#include "aistatemachine.h"
+extern F64 calc_clock_frequency(void);
+
extern LLControlGroup gSavedSettings;
// Local variables.
@@ -79,7 +81,7 @@ AITHREADSAFESIMPLE(U64, AIStateMachine::sMaxCount, );
void AIStateMachine::updateSettings(void)
{
Dout(dc::statemachine, "Initializing AIStateMachine::sMaxCount");
- *AIAccess(sMaxCount) = LLFastTimer::sClockResolution * gSavedSettings.getU32("StateMachineMaxTime") / 1000;
+ *AIAccess(sMaxCount) = calc_clock_frequency() * gSavedSettings.getU32("StateMachineMaxTime") / 1000;
}
//----------------------------------------------------------------------------
@@ -320,7 +322,7 @@ void AIStateMachine::mainloop(void*)
if (total_clocks >= max_count)
{
#ifndef LL_RELEASE_FOR_DOWNLOAD
- llwarns << "AIStateMachine::mainloop did run for " << (total_clocks * 1000 / LLFastTimer::sClockResolution) << " ms." << llendl;
+ llwarns << "AIStateMachine::mainloop did run for " << (total_clocks * 1000 / calc_clock_frequency()) << " ms." << llendl;
#endif
std::sort(active_statemachines.begin(), active_statemachines.end(), QueueElementComp());
break;