Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm
commit
35781178ec
|
|
@ -1,9 +1,5 @@
|
|||
First, make sure gcc-5.4 and g++-5.4 are installed.
|
||||
|
||||
Ensure you can build a stock viewer-development try as described in the SL wiki. Before asking for any help
|
||||
compiling Firestorm, make sure you can build viewer-development first. If you try and skip this step, you may
|
||||
receive much less help. http://wiki.secondlife.com/wiki/Compiling_the_viewer_(Linux)
|
||||
|
||||
If you want to use licensed FMOD or KDU build libraries (they are optional) you have to provision these yourself.
|
||||
If you're licensing these with Phoenix/Firestorm, ask for the libraries for fmod and kdu. Put them into:
|
||||
/opt/firestorm
|
||||
|
|
@ -31,6 +27,9 @@ Other examples:
|
|||
autobuild build -A64 -c ReleaseFS --no-configure -- --clean # Clean rebuild
|
||||
autobuild build -A64 -c ReleaseFS -- --package # Complete a build and package it into a tarball
|
||||
|
||||
If you want to build with clang you can call autobuild like this:
|
||||
CC=clang CXX=clang++ autobuild configure -A64 -c ReleaseFS
|
||||
|
||||
Any of the configure options can also be used (and do the same thing) with the build options.
|
||||
Typical LL autobuild configure options should also work, as long as they don't duplicate configuration we are
|
||||
already doing.
|
||||
|
|
|
|||
|
|
@ -213,6 +213,10 @@ if (LINUX)
|
|||
endif (NOT USESYSTEMLIBS)
|
||||
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "-fno-inline ${CMAKE_CXX_FLAGS_DEBUG}")
|
||||
|
||||
if( NOT (CMAKE_CXX_COMPILER MATCHES ".*clang") )
|
||||
set( CMAKE_CXX_FLAGS "-fabi-version=9 ${CMAKE_CXX_FLAGS}" )
|
||||
endif()
|
||||
endif (LINUX)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -188,6 +188,8 @@ S32 NUM_AGENT_NO_ROTATE_ANIMS = LL_ARRAY_SIZE(AGENT_NO_ROTATE_ANIMS);
|
|||
LLUUID AGENT_STAND_ANIMS[] = {ANIM_AGENT_STAND, ANIM_AGENT_STAND_1, ANIM_AGENT_STAND_2, ANIM_AGENT_STAND_3, ANIM_AGENT_STAND_4};
|
||||
S32 NUM_AGENT_STAND_ANIMS = LL_ARRAY_SIZE(AGENT_STAND_ANIMS);
|
||||
|
||||
// <FS:Zi> Run Prio 0 default bento pose in the background to fix splayed hands, open mouths, etc.
|
||||
LLUUID const ANIM_AGENT_BENTO_IDLE ("0e720142-0d4b-cf1d-cae5-277f58299604");
|
||||
|
||||
LLAnimationLibrary gAnimLibrary;
|
||||
|
||||
|
|
|
|||
|
|
@ -183,6 +183,9 @@ extern const LLUUID ANIM_AGENT_YES;
|
|||
extern const LLUUID ANIM_AGENT_YES_HAPPY;
|
||||
extern const LLUUID ANIM_AGENT_YOGA_FLOAT;
|
||||
|
||||
// <FS:Zi> Run Prio 0 default bento pose in the background to fix splayed hands, open mouths, etc.
|
||||
extern const LLUUID ANIM_AGENT_BENTO_IDLE;
|
||||
|
||||
extern LLUUID AGENT_WALK_ANIMS[];
|
||||
extern S32 NUM_AGENT_WALK_ANIMS;
|
||||
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@ LLJoint *LLCharacter::getJoint( const std::string &name )
|
|||
|
||||
if (!joint)
|
||||
{
|
||||
LL_WARNS() << "Failed to find joint." << LL_ENDL;
|
||||
LL_WARNS() << "Failed to find joint: " << name << LL_ENDL;
|
||||
}
|
||||
return joint;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -241,10 +241,12 @@ void LLMotionController::purgeExcessMotions()
|
|||
}
|
||||
|
||||
U32 loaded_count = mLoadedMotions.size();
|
||||
if (loaded_count > (2 * MAX_MOTION_INSTANCES) && loaded_count > mLastCountAfterPurge)
|
||||
{
|
||||
LL_WARNS_ONCE("Animation") << loaded_count << " Loaded Motions. Amount of motions is over limit." << LL_ENDL;
|
||||
}
|
||||
// <FS:Ansariel> Can't do anything about it anyway - stop spamming the log
|
||||
//if (loaded_count > (2 * MAX_MOTION_INSTANCES) && loaded_count > mLastCountAfterPurge)
|
||||
//{
|
||||
// LL_WARNS_ONCE("Animation") << loaded_count << " Loaded Motions. Amount of motions is over limit." << LL_ENDL;
|
||||
//}
|
||||
// </FS:Ansariel>
|
||||
mLastCountAfterPurge = loaded_count;
|
||||
}
|
||||
|
||||
|
|
@ -347,6 +349,13 @@ void LLMotionController::removeMotionInstance(LLMotion* motionp)
|
|||
//-----------------------------------------------------------------------------
|
||||
LLMotion* LLMotionController::createMotion( const LLUUID &id )
|
||||
{
|
||||
// <FS:Ansariel> Don't try to create invalid motions
|
||||
if (id.isNull())
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
// </FS:Ansariel>
|
||||
|
||||
// do we have an instance of this motion for this character?
|
||||
LLMotion *motion = findMotion(id);
|
||||
|
||||
|
|
|
|||
|
|
@ -134,6 +134,8 @@ public:
|
|||
|
||||
typedef std::vector<LLUUID> uuid_vec_t;
|
||||
typedef std::set<LLUUID> uuid_set_t;
|
||||
// <FS:Beq> cleanupDeadObject spam avoidance
|
||||
typedef std::multiset<LLUUID> uuid_multiset_t;
|
||||
|
||||
// Helper structure for ordering lluuids in stl containers. eg:
|
||||
// std::map<LLUUID, LLWidget*, lluuid_less> widget_map;
|
||||
|
|
|
|||
|
|
@ -196,6 +196,7 @@ void LLCoprocedureManager::setPropertyMethods(SettingQuery_t queryfn, SettingUpd
|
|||
// workaround until we get mutex into initializePool
|
||||
initializePool("AssetStorage");
|
||||
initializePool("Upload");
|
||||
initializePool("AIS");
|
||||
initializePool("ExpCache"); // <FS:Ansariel> FIRE-30731: ExpCache coroutine pool crash
|
||||
}
|
||||
|
||||
|
|
@ -345,7 +346,7 @@ LLUUID LLCoprocedurePool::enqueueCoprocedure(const std::string &name, LLCoproced
|
|||
{
|
||||
LLUUID id(LLUUID::generateNewID());
|
||||
|
||||
LL_INFOS("CoProcMgr") << "Coprocedure(" << name << ") enqueuing with id=" << id.asString() << " in pool \"" << mPoolName << "\" at " << mPending << LL_ENDL;
|
||||
LL_DEBUGS("CoProcMgr") << "Coprocedure(" << name << ") enqueuing with id=" << id.asString() << " in pool \"" << mPoolName << "\" at " << mPending << LL_ENDL;
|
||||
auto pushed = mPendingCoprocs->try_push(boost::make_shared<QueuedCoproc>(name, id, proc));
|
||||
if (pushed == boost::fibers::channel_op_status::success)
|
||||
{
|
||||
|
|
@ -361,7 +362,7 @@ LLUUID LLCoprocedurePool::enqueueCoprocedure(const std::string &name, LLCoproced
|
|||
}
|
||||
|
||||
// The queue should never fill up.
|
||||
LL_ERRS("CoProcMgr") << "Enqueue into '" << name << "' failed (" << unsigned(pushed) << ")" << LL_ENDL;
|
||||
LL_ERRS("CoProcMgr") << "Enqueue into '" << name << "' failed (" << unsigned(pushed) << "; pending: " << mPending <<")" << LL_ENDL;
|
||||
return {}; // never executed, pacify the compiler
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2174,8 +2174,8 @@ void LLTextBase::createUrlContextMenu(S32 x, S32 y, const std::string &in_url)
|
|||
if (mIsFriendSignal)
|
||||
{
|
||||
bool isFriend = *(*mIsFriendSignal)(LLUUID(LLUrlAction::getUserID(url)));
|
||||
LLView* addFriendButton = menu->getChild<LLView>("add_friend");
|
||||
LLView* removeFriendButton = menu->getChild<LLView>("remove_friend");
|
||||
LLView* addFriendButton = menu->findChild<LLView>("add_friend");
|
||||
LLView* removeFriendButton = menu->findChild<LLView>("remove_friend");
|
||||
|
||||
if (addFriendButton && removeFriendButton)
|
||||
{
|
||||
|
|
@ -2187,8 +2187,8 @@ void LLTextBase::createUrlContextMenu(S32 x, S32 y, const std::string &in_url)
|
|||
if (mIsObjectBlockedSignal)
|
||||
{
|
||||
bool is_blocked = *(*mIsObjectBlockedSignal)(LLUUID(LLUrlAction::getObjectId(url)), LLUrlAction::getObjectName(url));
|
||||
LLView* blockButton = menu->getChild<LLView>("block_object");
|
||||
LLView* unblockButton = menu->getChild<LLView>("unblock_object");
|
||||
LLView* blockButton = menu->findChild<LLView>("block_object");
|
||||
LLView* unblockButton = menu->findChild<LLView>("unblock_object");
|
||||
|
||||
if (blockButton && unblockButton)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1516,7 +1516,7 @@
|
|||
<key>Comment</key>
|
||||
<string>Enable debug output to more precisely identify sources of import errors. Warning: the output can slow down import on many machines.</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<integer>0</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
|
|
@ -22429,7 +22429,29 @@ Change of this parameter will affect the layout of buttons in notification toast
|
|||
<key>FSShowVoiceVisualizer</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Hides the voice dot over avatars if disabled.</string>
|
||||
<string>Shows the voice visualizer over avatars if enabled.</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>FSShowMyOwnVoiceVisualizer</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Show voice visualizer over my own avatar.</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>FSShowVoiceVisualizerWithDot</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Shows the voice dot over avatars as part of the voice visualizer.</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
|
|
@ -25634,5 +25656,16 @@ Change of this parameter will affect the layout of buttons in notification toast
|
|||
<key>Value</key>
|
||||
<string>Language</string>
|
||||
</map>
|
||||
<key>FSPlayDefaultBentoAnimation</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>If enabled, the viewer will run a default, priority 0 bento animation that poses hands, wings, mouth and tail in a natural position when no other bento animation is running.</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
</map>
|
||||
</llsd>
|
||||
|
|
|
|||
|
|
@ -16,6 +16,8 @@
|
|||
|
||||
#extension GL_ARB_texture_rectangle : enable
|
||||
|
||||
/*[EXTRA_CODE_HERE]*/
|
||||
|
||||
#ifdef DEFINE_GL_FRAGCOLOR
|
||||
out vec4 frag_color;
|
||||
#else
|
||||
|
|
|
|||
|
|
@ -1038,16 +1038,25 @@ boost::signals2::connection LLAgent::addParcelChangedCallback(parcel_changed_cal
|
|||
}
|
||||
|
||||
// static
|
||||
void LLAgent::capabilityReceivedCallback(const LLUUID ®ion_id)
|
||||
// <FS:Beq> FIRE-30774 displayname capability is targetting previous region
|
||||
// void LLAgent::capabilityReceivedCallback(const LLUUID ®ion_id)
|
||||
// {
|
||||
// LLViewerRegion* region = gAgent.getRegion();
|
||||
// if (region && region->getRegionID() == region_id)
|
||||
// {
|
||||
// region->requestSimulatorFeatures();
|
||||
// LLAppViewer::instance()->updateNameLookupUrl();
|
||||
// }
|
||||
// }
|
||||
void LLAgent::capabilityReceivedCallback(LLViewerRegion* regionp)
|
||||
{
|
||||
LLViewerRegion* region = gAgent.getRegion();
|
||||
if (region && region->getRegionID() == region_id)
|
||||
if (regionp)
|
||||
{
|
||||
region->requestSimulatorFeatures();
|
||||
LLAppViewer::instance()->updateNameLookupUrl();
|
||||
regionp->requestSimulatorFeatures();
|
||||
LLAppViewer::instance()->updateNameLookupUrl(regionp);
|
||||
}
|
||||
}
|
||||
|
||||
// </FS:Beq>
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// setRegion()
|
||||
|
|
@ -1099,11 +1108,17 @@ void LLAgent::setRegion(LLViewerRegion *regionp)
|
|||
if (regionp->capabilitiesReceived())
|
||||
{
|
||||
regionp->requestSimulatorFeatures();
|
||||
LLAppViewer::instance()->updateNameLookupUrl();
|
||||
// <FS:Beq> FIRE-30774 displayname capability is targetting previous region
|
||||
// LLAppViewer::instance()->updateNameLookupUrl();
|
||||
LLAppViewer::instance()->updateNameLookupUrl(regionp);
|
||||
// </FS:Beq>
|
||||
}
|
||||
else
|
||||
{
|
||||
regionp->setCapabilitiesReceivedCallback(LLAgent::capabilityReceivedCallback);
|
||||
// <FS:Beq> FIRE-30774 displayname capability is targetting previous region
|
||||
// regionp->setCapabilitiesReceivedCallback(LLAgent::capabilityReceivedCallback);
|
||||
regionp->setCapabilitiesReceivedCallback(boost::bind(&LLAgent::capabilityReceivedCallback, regionp));
|
||||
// </FS:Beq>
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1125,11 +1140,17 @@ void LLAgent::setRegion(LLViewerRegion *regionp)
|
|||
|
||||
if (regionp->capabilitiesReceived())
|
||||
{
|
||||
LLAppViewer::instance()->updateNameLookupUrl();
|
||||
// <FS:Beq> FIRE-30774 displayname capability is targetting previous region
|
||||
// LLAppViewer::instance()->updateNameLookupUrl();
|
||||
LLAppViewer::instance()->updateNameLookupUrl(regionp);
|
||||
// </FS:Beq>
|
||||
}
|
||||
else
|
||||
{
|
||||
regionp->setCapabilitiesReceivedCallback([](const LLUUID ®ion_id) {LLAppViewer::instance()->updateNameLookupUrl(); });
|
||||
// <FS:Beq> FIRE-30774 displayname capability is targetting previous region
|
||||
// regionp->setCapabilitiesReceivedCallback([regionp](const LLUUID ®ion_id) {LLAppViewer::instance()->updateNameLookupUrl(); });
|
||||
regionp->setCapabilitiesReceivedCallback([regionp](const LLUUID ®ion_id) { LLAppViewer::instance()->updateNameLookupUrl(regionp); });
|
||||
// </FS:Beq>
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1177,6 +1198,13 @@ void LLAgent::setRegion(LLViewerRegion *regionp)
|
|||
}
|
||||
// </FS:Ansariel> [Legacy Bake]
|
||||
|
||||
// <FS:Zi> Run Prio 0 default bento pose in the background to fix splayed hands, open mouths, etc.
|
||||
if (gSavedSettings.getBOOL("FSPlayDefaultBentoAnimation"))
|
||||
{
|
||||
sendAnimationRequest(ANIM_AGENT_BENTO_IDLE, ANIM_REQUEST_START);
|
||||
}
|
||||
// </FS:Zi>
|
||||
|
||||
LL_DEBUGS("AgentLocation") << "Calling RegionChanged callbacks" << LL_ENDL;
|
||||
mRegionChangedSignal();
|
||||
}
|
||||
|
|
@ -5287,6 +5315,13 @@ void LLAgent::stopCurrentAnimations(bool force_keep_script_perms /*= false*/)
|
|||
// re-assert at least the default standing animation, because
|
||||
// viewers get confused by avs with no associated anims.
|
||||
sendAnimationRequest(ANIM_AGENT_STAND, ANIM_REQUEST_START);
|
||||
|
||||
// <FS:Zi> Run Prio 0 default bento pose in the background to fix splayed hands, open mouths, etc.
|
||||
if (gSavedSettings.getBOOL("FSPlayDefaultBentoAnimation"))
|
||||
{
|
||||
sendAnimationRequest(ANIM_AGENT_BENTO_IDLE, ANIM_REQUEST_START);
|
||||
}
|
||||
// </FS:Zi>
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -258,7 +258,10 @@ public:
|
|||
boost::signals2::connection addParcelChangedCallback(parcel_changed_callback_t);
|
||||
|
||||
private:
|
||||
static void capabilityReceivedCallback(const LLUUID ®ion_id);
|
||||
// <FS:Beq> FIRE-30774 displayname capability is targetting previous region
|
||||
// static void capabilityReceivedCallback(const LLUUID ®ion_id);
|
||||
static void capabilityReceivedCallback(LLViewerRegion* regionp);
|
||||
// </FS:Beq>
|
||||
|
||||
typedef boost::signals2::signal<void()> parcel_changed_signal_t;
|
||||
parcel_changed_signal_t mParcelChangedSignal;
|
||||
|
|
|
|||
|
|
@ -6140,16 +6140,19 @@ void LLAppViewer::sendLogoutRequest()
|
|||
}
|
||||
}
|
||||
|
||||
void LLAppViewer::updateNameLookupUrl()
|
||||
// <FS:Beq> FIRE-30774 displayname capability is targetting previous region
|
||||
// void LLAppViewer::updateNameLookupUrl()
|
||||
void LLAppViewer::updateNameLookupUrl(const LLViewerRegion * region)
|
||||
// </FS:Beq>
|
||||
{
|
||||
LLViewerRegion* region = gAgent.getRegion();
|
||||
// LLViewerRegion* region = gAgent.getRegion(); <FS:Beq/>
|
||||
if (!region || !region->capabilitiesReceived())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
LLAvatarNameCache *name_cache = LLAvatarNameCache::getInstance();
|
||||
bool had_capability = LLAvatarNameCache::getInstance()->hasNameLookupURL();
|
||||
bool had_capability = name_cache->hasNameLookupURL();
|
||||
std::string name_lookup_url;
|
||||
name_lookup_url.reserve(128); // avoid a memory allocation below
|
||||
name_lookup_url = region->getCapability("GetDisplayNames");
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@ class LLImageDecodeThread;
|
|||
class LLTextureFetch;
|
||||
class LLWatchdogTimeout;
|
||||
class LLViewerJoystick;
|
||||
class LLViewerRegion; // <FS:Beq/>
|
||||
|
||||
extern LLTrace::BlockTimerStatHandle FTM_FRAME;
|
||||
|
||||
|
|
@ -219,7 +220,10 @@ public:
|
|||
// llcorehttp init/shutdown/config information.
|
||||
LLAppCoreHttp & getAppCoreHttp() { return mAppCoreHttp; }
|
||||
|
||||
void updateNameLookupUrl();
|
||||
// <FS:Beq> FIRE-30774 displayname capability is targetting previous region
|
||||
// void updateNameLookupUrl();
|
||||
void updateNameLookupUrl( const LLViewerRegion * region );
|
||||
// </FS:Beq>
|
||||
|
||||
protected:
|
||||
virtual bool initWindow(); // Initialize the viewer's window.
|
||||
|
|
|
|||
|
|
@ -434,15 +434,18 @@ void LLAppViewerLinux::initCrashReporting(bool reportFreeze)
|
|||
pid_str << LLApp::getPid();
|
||||
std::string logdir = gDirUtilp->getExpandedFilename(LL_PATH_DUMP, "");
|
||||
std::string appname = gDirUtilp->getExecutableFilename();
|
||||
std::string grid{ LLGridManager::getInstance()->getGridId() };
|
||||
std::string title{ LLAppViewer::instance()->getSecondLifeTitle() };
|
||||
std::string pidstr{ pid_str.str() };
|
||||
// launch the actual crash logger
|
||||
const char * cmdargv[] =
|
||||
{cmd.c_str(),
|
||||
"-user",
|
||||
(char*)LLGridManager::getInstance()->getGridId().c_str(),
|
||||
grid.c_str(),
|
||||
"-name",
|
||||
LLAppViewer::instance()->getSecondLifeTitle().c_str(),
|
||||
title.c_str(),
|
||||
"-pid",
|
||||
pid_str.str().c_str(),
|
||||
pidstr.c_str(),
|
||||
"-dumpdir",
|
||||
logdir.c_str(),
|
||||
"-procname",
|
||||
|
|
|
|||
|
|
@ -152,7 +152,7 @@ void LLAvatarRenderNotifier::displayNotification(bool show_over_limit)
|
|||
}
|
||||
|
||||
// log unconditionally
|
||||
LL_WARNS("AvatarRenderInfo") << notification_name << " " << args << LL_ENDL;
|
||||
LL_DEBUGS("AvatarRenderInfo") << notification_name << " " << args << LL_ENDL;
|
||||
|
||||
if ( expire_delay // expiration of zero means do not show the notices
|
||||
&& gAgentCamera.getLastCameraMode() != CAMERA_MODE_MOUSELOOK // don't display notices in Mouselook
|
||||
|
|
|
|||
|
|
@ -439,19 +439,6 @@ bool LLInventoryFilter::checkAgainstFilterType(const LLFolderViewModelItemInvent
|
|||
}
|
||||
}
|
||||
|
||||
// <FS:Ansariel> FIRE-19340: search inventory by transferable permission
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// FILTERTYPE_TRANSFERABLE
|
||||
// Pass if this item is transferable
|
||||
if (filterTypes & FILTERTYPE_TRANSFERABLE)
|
||||
{
|
||||
if ((listener->getPermissionMask() & PERM_TRANSFER) == 0)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
// </FS:Ansariel>
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// FILTERTYPE_EMPTYFOLDERS
|
||||
// Pass if this item is a folder and is not a system folder that should be hidden
|
||||
|
|
@ -1161,26 +1148,6 @@ void LLInventoryFilter::setFindAllLinksMode(const std::string &search_name, cons
|
|||
setFilterLinks(FILTERLINK_ONLY_LINKS);
|
||||
}
|
||||
|
||||
// <FS:Ansariel> FIRE-19340: search inventory by transferable permission
|
||||
void LLInventoryFilter::setFilterTransferable(BOOL transferable)
|
||||
{
|
||||
BOOL current = (mFilterOps.mFilterTypes & FILTERTYPE_TRANSFERABLE) != 0;
|
||||
|
||||
if (current != transferable)
|
||||
{
|
||||
setModified();
|
||||
if (transferable)
|
||||
{
|
||||
mFilterOps.mFilterTypes |= FILTERTYPE_TRANSFERABLE;
|
||||
}
|
||||
else
|
||||
{
|
||||
mFilterOps.mFilterTypes &= ~FILTERTYPE_TRANSFERABLE;
|
||||
}
|
||||
}
|
||||
}
|
||||
// </FS:Ansariel>
|
||||
|
||||
void LLInventoryFilter::markDefault()
|
||||
{
|
||||
mDefaultFilterOps = mFilterOps;
|
||||
|
|
@ -1398,9 +1365,38 @@ const std::string& LLInventoryFilter::getFilterText()
|
|||
}
|
||||
|
||||
// <FS:Ansariel> FIRE-19340: search inventory by transferable permission
|
||||
if (getFilterTransferable())
|
||||
// Zi: FIRE-1175 - Filter Permissions Menu
|
||||
PermissionMask permissions = getFilterPermissions();
|
||||
if (permissions)
|
||||
{
|
||||
mFilterText += LLTrans::getString("Transfer Only");
|
||||
std::string perm_string;
|
||||
if (permissions & PERM_MODIFY)
|
||||
{
|
||||
perm_string = LLTrans::getString("Modifiable");
|
||||
}
|
||||
|
||||
if (permissions & PERM_COPY)
|
||||
{
|
||||
if (!perm_string.empty())
|
||||
{
|
||||
perm_string += ", ";
|
||||
}
|
||||
perm_string += LLTrans::getString("Copyable");
|
||||
}
|
||||
|
||||
if (permissions & PERM_TRANSFER)
|
||||
{
|
||||
if (!perm_string.empty())
|
||||
{
|
||||
perm_string += ", ";
|
||||
}
|
||||
perm_string += LLTrans::getString("Transferable");
|
||||
}
|
||||
|
||||
LLStringUtil::format_map_t args;
|
||||
args["[PERMISSIONS]"] = perm_string;
|
||||
|
||||
mFilterText += LLTrans::getString("PermissionsFilter", args);
|
||||
}
|
||||
// </FS:Ansariel>
|
||||
|
||||
|
|
@ -1422,8 +1418,6 @@ LLInventoryFilter& LLInventoryFilter::operator=( const LLInventoryFilter& othe
|
|||
setFilterPermissions(other.getFilterPermissions());
|
||||
setFilterSubString(other.getFilterSubString());
|
||||
setDateRangeLastLogoff(other.isSinceLogoff());
|
||||
// <FS:Ansariel> FIRE-19340: search inventory by transferable permission
|
||||
setFilterTransferable(other.getFilterTransferable());
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
|
@ -1443,8 +1437,6 @@ void LLInventoryFilter::toParams(Params& params) const
|
|||
params.filter_ops.show_folder_state = getShowFolderState();
|
||||
params.filter_ops.creator_type = getFilterCreatorType();
|
||||
params.filter_ops.permissions = getFilterPermissions();
|
||||
// <FS:Ansariel> FIRE-19340: search inventory by transferable permission
|
||||
params.filter_ops.transferable = getFilterTransferable();
|
||||
params.substring = getFilterSubString();
|
||||
params.since_logoff = isSinceLogoff();
|
||||
}
|
||||
|
|
@ -1504,12 +1496,6 @@ void LLInventoryFilter::fromParams(const Params& params)
|
|||
{
|
||||
setFilterPermissions(params.filter_ops.permissions);
|
||||
}
|
||||
// <FS:Ansariel> FIRE-19340: search inventory by transferable permission
|
||||
if (params.filter_ops.transferable.isProvided())
|
||||
{
|
||||
setFilterTransferable(params.filter_ops.transferable);
|
||||
}
|
||||
// </FS:Ansariel>
|
||||
// <FS:Ansariel> FIRE-8947: Don't restore filter string on relog
|
||||
//if (params.substring.isProvided())
|
||||
//{
|
||||
|
|
|
|||
|
|
@ -59,8 +59,7 @@ public:
|
|||
FILTERTYPE_MARKETPLACE_LISTING_FOLDER = 0x1 << 9, // pass iff folder is a listing folder
|
||||
FILTERTYPE_NO_MARKETPLACE_ITEMS = 0x1 << 10, // pass iff folder is not under the marketplace
|
||||
FILTERTYPE_WORN = 0x1 << 11, // pass if item is worn
|
||||
FILTERTYPE_SETTINGS = 0x1 << 12, // pass if the item is a settings object
|
||||
FILTERTYPE_TRANSFERABLE = 0x1 << 13 // <FS:Ansariel> FIRE-19340: search inventory by transferable permission
|
||||
FILTERTYPE_SETTINGS = 0x1 << 12 // pass if the item is a settings object
|
||||
};
|
||||
|
||||
enum EFilterDateDirection
|
||||
|
|
@ -131,7 +130,6 @@ public:
|
|||
Optional<EFolderShow> show_folder_state;
|
||||
Optional<PermissionMask> permissions;
|
||||
Optional<EFilterCreatorType> creator_type;
|
||||
Optional<bool> transferable; // <FS:Ansariel> FIRE-19340: search inventory by transferable permission
|
||||
|
||||
Params()
|
||||
: types("filter_types", FILTERTYPE_OBJECT),
|
||||
|
|
@ -146,8 +144,7 @@ public:
|
|||
date_search_direction("date_search_direction", FILTERDATEDIRECTION_NEWER),
|
||||
show_folder_state("show_folder_state", SHOW_NON_EMPTY_FOLDERS),
|
||||
creator_type("creator_type", FILTERCREATOR_ALL),
|
||||
permissions("permissions", PERM_NONE),
|
||||
transferable("transferable", false) // <FS:Ansariel> FIRE-19340: search inventory by transferable permission
|
||||
permissions("permissions", PERM_NONE)
|
||||
{}
|
||||
};
|
||||
|
||||
|
|
@ -252,11 +249,6 @@ public:
|
|||
// <FS>
|
||||
BOOL getFilterWorn() const { return mFilterOps.mFilterTypes & FILTERTYPE_WORN; }
|
||||
|
||||
// <FS:Ansariel> FIRE-19340: search inventory by transferable permission
|
||||
void setFilterTransferable(BOOL transferable);
|
||||
BOOL getFilterTransferable() const { return mFilterOps.mFilterTypes & FILTERTYPE_TRANSFERABLE; }
|
||||
// </FS:Ansariel>
|
||||
|
||||
// +-------------------------------------------------------------------+
|
||||
// + Execution And Results
|
||||
// +-------------------------------------------------------------------+
|
||||
|
|
|
|||
|
|
@ -495,6 +495,18 @@ void LLInventoryPanel::setDateSearchDirection(U32 direction)
|
|||
getFilter().setDateSearchDirection(direction);
|
||||
}
|
||||
|
||||
// <FS:Zi> FIRE-1175 - Filter Permissions Menu
|
||||
void LLInventoryPanel::setFilterPermissions(PermissionMask filter_permissions)
|
||||
{
|
||||
getFilter().setFilterPermissions(filter_permissions);
|
||||
}
|
||||
|
||||
PermissionMask LLInventoryPanel::getFilterPermissions()
|
||||
{
|
||||
return getFilter().getFilterPermissions();
|
||||
}
|
||||
// </FS:Zi>
|
||||
|
||||
void LLInventoryPanel::setFilterLinks(U64 filter_links)
|
||||
{
|
||||
getFilter().setFilterLinks(filter_links);
|
||||
|
|
@ -517,13 +529,6 @@ LLInventoryFilter::ESearchType LLInventoryPanel::getSearchType()
|
|||
return getFilter().getSearchType();
|
||||
}
|
||||
|
||||
// <FS:Ansariel> FIRE-19340: search inventory by transferable permission
|
||||
void LLInventoryPanel::setTransferable(BOOL transferable)
|
||||
{
|
||||
getFilter().setFilterTransferable(transferable);
|
||||
}
|
||||
// </FS:Ansariel>
|
||||
|
||||
void LLInventoryPanel::setShowFolderState(LLInventoryFilter::EFolderShow show)
|
||||
{
|
||||
getFilter().setShowFolderState(show);
|
||||
|
|
|
|||
|
|
@ -201,9 +201,12 @@ public:
|
|||
BOOL getSinceLogoff();
|
||||
void setFilterLinks(U64 filter_links);
|
||||
U64 getFilterLinks(); // <FS:Zi> Filter Links Menu
|
||||
// <FS:Zi> FIRE-1175 - Filter Permissions Menu
|
||||
void setFilterPermissions(PermissionMask filter_permissions);
|
||||
PermissionMask getFilterPermissions();
|
||||
// </FS:Zi>
|
||||
void setSearchType(LLInventoryFilter::ESearchType type);
|
||||
LLInventoryFilter::ESearchType getSearchType();
|
||||
void setTransferable(BOOL transferable); // <FS:Ansariel> FIRE-19340: search inventory by transferable permission
|
||||
|
||||
void setShowFolderState(LLInventoryFilter::EFolderShow show);
|
||||
LLInventoryFilter::EFolderShow getShowFolderState();
|
||||
|
|
|
|||
|
|
@ -232,7 +232,11 @@ BOOL LLLandmarksPanel::postBuild()
|
|||
initMyInventoryPanel();
|
||||
initLibraryInventoryPanel();
|
||||
|
||||
LLAccordionCtrl* accordion = getChild<LLAccordionCtrl>("landmarks_accordion");
|
||||
// <FS:Ansariel> Fix warnings log spam
|
||||
//LLAccordionCtrl* accordion = getChild<LLAccordionCtrl>("landmarks_accordion");
|
||||
LLView* accordion_view = findChildView("landmarks_accordion");
|
||||
LLAccordionCtrl* accordion = dynamic_cast<LLAccordionCtrl*>(accordion_view);
|
||||
// </FS:Ansariel>
|
||||
if (accordion)
|
||||
{
|
||||
accordion->setSkipScrollToChild(true);
|
||||
|
|
|
|||
|
|
@ -100,6 +100,8 @@ public:
|
|||
void onCreatorSelfFilterCommit();
|
||||
void onCreatorOtherFilterCommit();
|
||||
|
||||
void onPermissionsChanged(); // <FS:Zi> FIRE-1175 - Filter Permissions Menu
|
||||
|
||||
static void onTimeAgo(LLUICtrl*, void *);
|
||||
static void onCloseBtn(void* user_data);
|
||||
static void selectAllTypes(void* user_data);
|
||||
|
|
@ -150,6 +152,11 @@ LLPanelMainInventory::LLPanelMainInventory(const LLPanel::Params& p)
|
|||
mEnableCallbackRegistrar.add("Inventory.FilterLinks.Check", boost::bind(&LLPanelMainInventory::isFilterLinksChecked, this, _2));
|
||||
// </FS:Zi> Filter Links Menu
|
||||
|
||||
// <FS:Zi> FIRE-1175 - Filter Permissions Menu
|
||||
mCommitCallbackRegistrar.add("Inventory.FilterPermissions.Set", boost::bind(&LLPanelMainInventory::onFilterPermissionsChecked, this, _2));
|
||||
mEnableCallbackRegistrar.add("Inventory.FilterPermissions.Check", boost::bind(&LLPanelMainInventory::isFilterPermissionsChecked, this, _2));
|
||||
// </FS:Zi>
|
||||
|
||||
// <FS:Zi> Extended Inventory Search
|
||||
mCommitCallbackRegistrar.add("Inventory.SearchType.Set", boost::bind(&LLPanelMainInventory::onSearchTypeChecked, this, _2));
|
||||
mEnableCallbackRegistrar.add("Inventory.SearchType.Check", boost::bind(&LLPanelMainInventory::isSearchTypeChecked, this, _2));
|
||||
|
|
@ -499,7 +506,7 @@ void LLPanelMainInventory::resetFilters()
|
|||
filter.resetDefault();
|
||||
filter.setFilterCreator(LLInventoryFilter::FILTERCREATOR_ALL);
|
||||
filter.setSearchType(LLInventoryFilter::SEARCHTYPE_NAME);
|
||||
filter.setFilterTransferable(FALSE);
|
||||
filter.setFilterPermissions(PERM_NONE); // <FS:Zi> FIRE-1175 - Filter Permissions Menu
|
||||
getActivePanel()->updateShowInboxFolder(gSavedSettings.getBOOL("FSShowInboxFolder"));
|
||||
getActivePanel()->updateHideEmptySystemFolders(gSavedSettings.getBOOL("DebugHideEmptySystemFolders"));
|
||||
updateFilterDropdown(&filter);
|
||||
|
|
@ -1207,6 +1214,13 @@ BOOL LLFloaterInventoryFinder::postBuild()
|
|||
getChild<LLButton>("btnReset")->setClickedCallback(boost::bind(&LLFloaterInventoryFinder::onResetBtn, this));
|
||||
|
||||
updateElementsFromFilter();
|
||||
|
||||
// <FS:Zi> FIRE-1175 - Filter Permissions Menu
|
||||
getChild<LLUICtrl>("check_modify")->setCommitCallback(boost::bind(&LLFloaterInventoryFinder::onPermissionsChanged, this));
|
||||
getChild<LLUICtrl>("check_copy")->setCommitCallback(boost::bind(&LLFloaterInventoryFinder::onPermissionsChanged, this));
|
||||
getChild<LLUICtrl>("check_transfer")->setCommitCallback(boost::bind(&LLFloaterInventoryFinder::onPermissionsChanged, this));
|
||||
// </FS:Zi>
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
void LLFloaterInventoryFinder::onTimeAgo(LLUICtrl *ctrl, void *user_data)
|
||||
|
|
@ -1291,7 +1305,6 @@ void LLFloaterInventoryFinder::updateElementsFromFilter()
|
|||
getChild<LLUICtrl>("check_texture")->setValue((S32) (filter_types & 0x1 << LLInventoryType::IT_TEXTURE));
|
||||
getChild<LLUICtrl>("check_snapshot")->setValue((S32) (filter_types & 0x1 << LLInventoryType::IT_SNAPSHOT));
|
||||
getChild<LLUICtrl>("check_settings")->setValue((S32)(filter_types & 0x1 << LLInventoryType::IT_SETTINGS));
|
||||
getChild<LLUICtrl>("check_transferable")->setValue(mFilter->getFilterTransferable()); // <FS:Ansariel> FIRE-19340: search inventory by transferable permission
|
||||
getChild<LLUICtrl>("check_show_empty")->setValue(show_folders == LLInventoryFilter::SHOW_ALL_FOLDERS);
|
||||
|
||||
getChild<LLUICtrl>("check_created_by_me")->setValue(show_created_by_me);
|
||||
|
|
@ -1301,6 +1314,12 @@ void LLFloaterInventoryFinder::updateElementsFromFilter()
|
|||
mSpinSinceHours->set((F32)(hours % 24));
|
||||
mSpinSinceDays->set((F32)(hours / 24));
|
||||
getChild<LLRadioGroup>("date_search_direction")->setSelectedIndex(date_search_direction);
|
||||
|
||||
// <FS:Zi> FIRE-1175 - Filter Permissions Menu
|
||||
getChild<LLUICtrl>("check_modify")->setValue((BOOL) (mFilter->getFilterPermissions() & PERM_MODIFY));
|
||||
getChild<LLUICtrl>("check_copy")->setValue((BOOL) (mFilter->getFilterPermissions() & PERM_COPY));
|
||||
getChild<LLUICtrl>("check_transfer")->setValue((BOOL) (mFilter->getFilterPermissions() & PERM_TRANSFER));
|
||||
// </FS:Zi>
|
||||
}
|
||||
|
||||
void LLFloaterInventoryFinder::draw()
|
||||
|
|
@ -1417,8 +1436,6 @@ void LLFloaterInventoryFinder::draw()
|
|||
|
||||
mPanelMainInventory->getPanel()->setHoursAgo(hours);
|
||||
mPanelMainInventory->getPanel()->setSinceLogoff(getCheckSinceLogoff());
|
||||
// <FS:Ansariel> FIRE-19340: search inventory by transferable permission
|
||||
mPanelMainInventory->getPanel()->setTransferable(getChild<LLUICtrl>("check_transferable")->getValue().asBoolean());
|
||||
mPanelMainInventory->setFilterTextFromFilter();
|
||||
mPanelMainInventory->getPanel()->setDateSearchDirection(getDateSearchDirection());
|
||||
|
||||
|
|
@ -1465,6 +1482,30 @@ void LLFloaterInventoryFinder::onCreatorOtherFilterCommit()
|
|||
}
|
||||
}
|
||||
|
||||
// <FS:Zi> FIRE-1175 - Filter Permissions Menu
|
||||
void LLFloaterInventoryFinder::onPermissionsChanged()
|
||||
{
|
||||
PermissionMask perms = PERM_NONE;
|
||||
|
||||
if (getChild<LLUICtrl>("check_modify")->getValue().asBoolean())
|
||||
{
|
||||
perms |= PERM_MODIFY;
|
||||
}
|
||||
|
||||
if (getChild<LLUICtrl>("check_copy")->getValue().asBoolean())
|
||||
{
|
||||
perms |= PERM_COPY;
|
||||
}
|
||||
|
||||
if (getChild<LLUICtrl>("check_transfer")->getValue().asBoolean())
|
||||
{
|
||||
perms |= PERM_TRANSFER;
|
||||
}
|
||||
|
||||
mFilter->setFilterPermissions(perms);
|
||||
}
|
||||
// </FS:Zi>
|
||||
|
||||
BOOL LLFloaterInventoryFinder::getCheckShowEmpty()
|
||||
{
|
||||
return getChild<LLUICtrl>("check_show_empty")->getValue();
|
||||
|
|
@ -1977,6 +2018,55 @@ BOOL LLPanelMainInventory::isFilterLinksChecked(const LLSD& userdata)
|
|||
}
|
||||
// </FS:Zi> Filter Links Menu
|
||||
|
||||
// <FS:Zi> FIRE-1175 - Filter Permissions Menu
|
||||
void LLPanelMainInventory::onFilterPermissionsChecked(const LLSD &userdata)
|
||||
{
|
||||
U64 permissions = getActivePanel()->getFilterPermissions();
|
||||
|
||||
const std::string command_name = userdata.asString();
|
||||
if (command_name == "only_modify")
|
||||
{
|
||||
getActivePanel()->setFilterPermissions(permissions ^ PERM_MODIFY);
|
||||
}
|
||||
|
||||
if (command_name == "only_copy")
|
||||
{
|
||||
getActivePanel()->setFilterPermissions(permissions ^ PERM_COPY);
|
||||
}
|
||||
|
||||
if (command_name == "only_transfer")
|
||||
{
|
||||
getActivePanel()->setFilterPermissions(permissions ^ PERM_TRANSFER);
|
||||
}
|
||||
|
||||
if (getFinder())
|
||||
{
|
||||
getFinder()->updateElementsFromFilter();
|
||||
}
|
||||
}
|
||||
|
||||
BOOL LLPanelMainInventory::isFilterPermissionsChecked(const LLSD &userdata)
|
||||
{
|
||||
const std::string command_name = userdata.asString();
|
||||
if (command_name == "only_modify")
|
||||
{
|
||||
return (getActivePanel()->getFilter().getFilterPermissions() & PERM_MODIFY);
|
||||
}
|
||||
|
||||
if (command_name == "only_copy")
|
||||
{
|
||||
return (getActivePanel()->getFilter().getFilterPermissions() & PERM_COPY);
|
||||
}
|
||||
|
||||
if (command_name == "only_transfer")
|
||||
{
|
||||
return (getActivePanel()->getFilter().getFilterPermissions() & PERM_TRANSFER);
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
// </FS:Zi>
|
||||
|
||||
// <FS:Zi> Extended Inventory Search
|
||||
void LLPanelMainInventory::onSearchTypeChecked(const LLSD& userdata)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -199,6 +199,11 @@ protected:
|
|||
void onFilterLinksChecked(const LLSD& userdata);
|
||||
// </FS:Zi> Filter Links Menu
|
||||
|
||||
// <FS:Zi> FIRE-1175 - Filter Permissions Menu
|
||||
BOOL isFilterPermissionsChecked(const LLSD &userdata);
|
||||
void onFilterPermissionsChecked(const LLSD &userdata);
|
||||
// </FS:Zi>
|
||||
|
||||
// <FS:Zi> Extended Inventory Search
|
||||
BOOL isSearchTypeChecked(const LLSD& userdata);
|
||||
void onSearchTypeChecked(const LLSD& userdata);
|
||||
|
|
|
|||
|
|
@ -105,6 +105,9 @@
|
|||
#include "NACLantispam.h"
|
||||
#include "nd/ndlogthrottle.h"
|
||||
|
||||
// <FS:Zi> Run Prio 0 default bento pose in the background to fix splayed hands, open mouths, etc.
|
||||
#include "llanimationstates.h"
|
||||
|
||||
// Third party library includes
|
||||
#include <boost/algorithm/string.hpp>
|
||||
|
||||
|
|
@ -1059,6 +1062,20 @@ void handleStatusbarTimeformatChanged(const LLSD& newValue)
|
|||
}
|
||||
// </FS:Zi>
|
||||
|
||||
// <FS:Zi> Run Prio 0 default bento pose in the background to fix splayed hands, open mouths, etc.
|
||||
void handlePlayBentoIdleAnimationChanged(const LLSD& newValue)
|
||||
{
|
||||
EAnimRequest startStop = ANIM_REQUEST_STOP;
|
||||
|
||||
if (newValue.asBoolean())
|
||||
{
|
||||
startStop = ANIM_REQUEST_START;
|
||||
}
|
||||
|
||||
gAgent.sendAnimationRequest(ANIM_AGENT_BENTO_IDLE, startStop);
|
||||
}
|
||||
// </FS:Zi>
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void settings_setup_listeners()
|
||||
|
|
@ -1312,6 +1329,9 @@ void settings_setup_listeners()
|
|||
|
||||
// <FS:Zi> FIRE-20390, FIRE-4269 - Option for 12/24 hour clock and seconds display
|
||||
gSavedSettings.getControl("FSStatusBarTimeFormat")->getSignal()->connect(boost::bind(&handleStatusbarTimeformatChanged, _2));
|
||||
|
||||
// <FS:Zi> Run Prio 0 default bento pose in the background to fix splayed hands, open mouths, etc.
|
||||
gSavedSettings.getControl("FSPlayDefaultBentoAnimation")->getSignal()->connect(boost::bind(&handlePlayBentoIdleAnimationChanged, _2));
|
||||
}
|
||||
|
||||
#if TEST_CACHED_CONTROL
|
||||
|
|
|
|||
|
|
@ -9079,6 +9079,14 @@ void handle_selected_script_action(const std::string& action)
|
|||
msg = "SetRunningNot";
|
||||
title = LLTrans::getString("NotRunQueueTitle");
|
||||
}
|
||||
// <FS> Delete scripts
|
||||
else if (action == "delete")
|
||||
{
|
||||
name = "delete_queue";
|
||||
msg = "delete";
|
||||
title = LLTrans::getString("DeleteQueueTitle");
|
||||
}
|
||||
// </FS> Delete scripts
|
||||
LLUUID id; id.generate();
|
||||
|
||||
LLFloaterScriptQueue* queue = LLFloaterReg::getTypedInstance<LLFloaterScriptQueue>(name, LLSD(id));
|
||||
|
|
|
|||
|
|
@ -403,6 +403,7 @@ LLViewerObject* LLViewerObjectList::processObjectUpdateFromCache(LLVOCacheEntry*
|
|||
bool justCreated = false;
|
||||
if (!objectp)
|
||||
{
|
||||
|
||||
objectp = createObjectFromCache(pcode, regionp, fullid, entry->getLocalID());
|
||||
|
||||
LL_DEBUGS("ObjectUpdate") << "uuid " << fullid << " created objectp " << objectp << LL_ENDL;
|
||||
|
|
@ -1415,25 +1416,20 @@ void LLViewerObjectList::cleanupReferences(LLViewerObject *objectp)
|
|||
// bool new_dead_object = true;
|
||||
if (mDeadObjects.find(objectp->mID) != mDeadObjects.end())
|
||||
{
|
||||
LL_INFOS() << "Object " << objectp->mID << " already on dead list!" << LL_ENDL;
|
||||
// <FS:Beq> FIRE-30694 DeadObject Spam
|
||||
// LL_INFOS() << "Object " << objectp->mID << " already on dead list!" << LL_ENDL;
|
||||
// new_dead_object = false;
|
||||
LL_DEBUGS() << "Object " << objectp->mID << " already on dead list!" << LL_ENDL;
|
||||
// </FS:Beq>
|
||||
}
|
||||
else
|
||||
// <FS:Beq> detect but still delete dupes
|
||||
// else
|
||||
{
|
||||
// <FS:Beq> FIRE-30694 DeadObject Spam
|
||||
// mDeadObjects.insert(objectp->mID);
|
||||
bool success;
|
||||
std::tie( std::ignore, success ) = mDeadObjects.insert( objectp->mID );
|
||||
if( success )
|
||||
{
|
||||
mNumDeadObjects++;
|
||||
llassert( mNumDeadObjects == mDeadObjects.size() );
|
||||
}
|
||||
else
|
||||
{
|
||||
LL_WARNS() << "Object " << objectp->mID << " failed to insert on dead list!" << LL_ENDL;
|
||||
}
|
||||
mDeadObjects.insert( objectp->mID );
|
||||
mNumDeadObjects++;
|
||||
llassert( mNumDeadObjects == mDeadObjects.size() );
|
||||
// </FS:Beq>
|
||||
}
|
||||
|
||||
|
|
@ -1641,11 +1637,17 @@ void LLViewerObjectList::cleanDeadObjects(BOOL use_timer)
|
|||
{
|
||||
// <FS:Beq> FIRE-30694 DeadObject Spam
|
||||
// mDeadObjects.erase(objectp->mID); // <FS:Ansariel> Use timer for cleaning up dead objects
|
||||
if(mDeadObjects.erase(objectp->mID)==0)
|
||||
{
|
||||
auto delete_me = mDeadObjects.find(objectp->mID);
|
||||
if( delete_me !=mDeadObjects.end() )
|
||||
{
|
||||
mDeadObjects.erase( delete_me );
|
||||
}
|
||||
else
|
||||
{
|
||||
LL_WARNS() << "Attempt to delete object " << objectp->mID << " but object not in dead list" << LL_ENDL;
|
||||
num_divergent++; // this is the number we are adrift in the count
|
||||
}
|
||||
}
|
||||
|
||||
LLPointer<LLViewerObject>::swap(*iter, *target);
|
||||
*target = NULL;
|
||||
++target;
|
||||
|
|
@ -1682,7 +1684,7 @@ void LLViewerObjectList::cleanDeadObjects(BOOL use_timer)
|
|||
// TODO(Beq) If this still happens, we ought to realign at this point. Do a full sweep and reset.
|
||||
if ( mNumDeadObjects != mDeadObjects.size() )
|
||||
{
|
||||
LL_WARNS() << "Num dead objects (" << mNumDeadObjects << ") != dead object list size (" << mDeadObjects.size() << "), deadlist discrepancy (" << num_divergent << ")" << LL_ENDL;
|
||||
LL_WARNS_ONCE() << "Num dead objects (" << mNumDeadObjects << ") != dead object list size (" << mDeadObjects.size() << "), deadlist discrepancy (" << num_divergent << ")" << LL_ENDL;
|
||||
}
|
||||
// </FS:Ansariel>
|
||||
}
|
||||
|
|
@ -2326,7 +2328,7 @@ LLViewerObject *LLViewerObjectList::createObject(const LLPCode pcode, LLViewerRe
|
|||
return NULL;
|
||||
}
|
||||
// </FS:Ansariel>
|
||||
|
||||
|
||||
LLUUID fullid;
|
||||
if (uuid == LLUUID::null)
|
||||
{
|
||||
|
|
@ -2519,7 +2521,9 @@ void LLViewerObjectList::findOrphans(LLViewerObject* objectp, U32 ip, U32 port)
|
|||
}
|
||||
else
|
||||
{
|
||||
LL_INFOS() << "Missing orphan child, removing from list" << LL_ENDL;
|
||||
// <FS:Beq> descope uninteresting spam we can do nothing about.
|
||||
// LL_INFOS() << "Missing orphan child, removing from list" << LL_ENDL;
|
||||
LL_DEBUGS() << "Missing orphan child, removing from list" << LL_ENDL;
|
||||
|
||||
iter = mOrphanChildren.erase(iter);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -223,7 +223,10 @@ protected:
|
|||
|
||||
vobj_list_t mMapObjects;
|
||||
|
||||
uuid_set_t mDeadObjects;
|
||||
// <FS:Beq> deadobject cleanup
|
||||
// uuid_set_t mDeadObjects;
|
||||
uuid_multiset_t mDeadObjects;
|
||||
// </FS:Beq>
|
||||
|
||||
std::map<LLUUID, LLPointer<LLViewerObject> > mUUIDObjectMap;
|
||||
|
||||
|
|
|
|||
|
|
@ -2864,7 +2864,8 @@ void LLVOAvatar::idleUpdateVoiceVisualizer(bool voice_enabled)
|
|||
// <FS:Ansariel> Faster debug settings
|
||||
//if(gAgentCamera.cameraMouselook() || gSavedSettings.getBOOL("VoiceDisableMic"))
|
||||
static LLCachedControl<bool> voiceDisableMic(gSavedSettings, "VoiceDisableMic");
|
||||
if (gAgentCamera.cameraMouselook() || voiceDisableMic)
|
||||
static LLCachedControl<bool> fsShowMyOwnVoiceVisualizer(gSavedSettings, "FSShowMyOwnVoiceVisualizer"); // <FS:PP> FIRE-21210: Don't show my voice visualizer
|
||||
if (gAgentCamera.cameraMouselook() || voiceDisableMic || !fsShowMyOwnVoiceVisualizer)
|
||||
// </FS:Ansariel>
|
||||
{
|
||||
render_visualizer = false;
|
||||
|
|
@ -4466,6 +4467,13 @@ void LLVOAvatar::updateAnimationDebugText()
|
|||
motion_name = item->getName();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (motionp->getID() == ANIM_AGENT_BENTO_IDLE)
|
||||
{
|
||||
motion_name = "bento_idle";
|
||||
}
|
||||
}
|
||||
}
|
||||
if (motion_name.empty())
|
||||
{
|
||||
|
|
|
|||
|
|
@ -374,25 +374,33 @@ void LLVoiceVisualizer::render()
|
|||
// bind texture 0 (the dot)
|
||||
//-----------------------------
|
||||
gGL.getTexUnit(0)->bind(mSoundSymbol.mTexture[0]);
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// now render the dot
|
||||
//-------------------------------------------------------------
|
||||
gGL.color4fv( LLColor4( 1.0f, 1.0f, 1.0f, DOT_OPACITY ).mV );
|
||||
|
||||
gGL.begin( LLRender::TRIANGLE_STRIP );
|
||||
gGL.texCoord2i( 0, 0 ); gGL.vertex3fv( bottomLeft.mV );
|
||||
gGL.texCoord2i( 1, 0 ); gGL.vertex3fv( bottomRight.mV );
|
||||
gGL.texCoord2i( 0, 1 ); gGL.vertex3fv( topLeft.mV );
|
||||
gGL.end();
|
||||
|
||||
gGL.begin( LLRender::TRIANGLE_STRIP );
|
||||
gGL.texCoord2i( 1, 0 ); gGL.vertex3fv( bottomRight.mV );
|
||||
gGL.texCoord2i( 1, 1 ); gGL.vertex3fv( topRight.mV );
|
||||
gGL.texCoord2i( 0, 1 ); gGL.vertex3fv( topLeft.mV );
|
||||
gGL.end();
|
||||
|
||||
// <FS:PP> FIRE-22570: Option to show visualizers as waves without the dot
|
||||
static LLCachedControl<bool> fsShowVoiceVisualizerWithDot(gSavedSettings, "FSShowVoiceVisualizerWithDot");
|
||||
if (fsShowVoiceVisualizerWithDot)
|
||||
{
|
||||
// </FS:PP>
|
||||
|
||||
//-------------------------------------------------------------
|
||||
// now render the dot
|
||||
//-------------------------------------------------------------
|
||||
gGL.color4fv( LLColor4( 1.0f, 1.0f, 1.0f, DOT_OPACITY ).mV );
|
||||
|
||||
gGL.begin( LLRender::TRIANGLE_STRIP );
|
||||
gGL.texCoord2i( 0, 0 ); gGL.vertex3fv( bottomLeft.mV );
|
||||
gGL.texCoord2i( 1, 0 ); gGL.vertex3fv( bottomRight.mV );
|
||||
gGL.texCoord2i( 0, 1 ); gGL.vertex3fv( topLeft.mV );
|
||||
gGL.end();
|
||||
|
||||
gGL.begin( LLRender::TRIANGLE_STRIP );
|
||||
gGL.texCoord2i( 1, 0 ); gGL.vertex3fv( bottomRight.mV );
|
||||
gGL.texCoord2i( 1, 1 ); gGL.vertex3fv( topRight.mV );
|
||||
gGL.texCoord2i( 0, 1 ); gGL.vertex3fv( topLeft.mV );
|
||||
gGL.end();
|
||||
|
||||
// <FS:PP> FIRE-22570: Option to show visualizers as waves without the dot
|
||||
}
|
||||
// </FS:PP>
|
||||
|
||||
//--------------------------------------------------------------------------------------
|
||||
// if currently speaking, trigger waves (1 through 6) based on speaking amplitude
|
||||
|
|
|
|||
|
|
@ -5080,13 +5080,15 @@ static LLTrace::BlockTimerStatHandle FTM_REGISTER_FACE("Register Face");
|
|||
void LLVolumeGeometryManager::registerFace(LLSpatialGroup* group, LLFace* facep, U32 type)
|
||||
{
|
||||
LL_RECORD_BLOCK_TIME(FTM_REGISTER_FACE);
|
||||
if ( type == LLRenderPass::PASS_ALPHA
|
||||
&& facep->getTextureEntry()->getMaterialParams().notNull()
|
||||
&& !facep->getVertexBuffer()->hasDataType(LLVertexBuffer::TYPE_TANGENT)
|
||||
&& LLViewerShaderMgr::instance()->getShaderLevel(LLViewerShaderMgr::SHADER_OBJECT) > 1)
|
||||
{
|
||||
LL_WARNS_ONCE("RenderMaterials") << "Oh no! No binormals for this alpha blended face!" << LL_ENDL;
|
||||
}
|
||||
// <FS:Ansariel> Can't do anything about it anyway - stop spamming the log
|
||||
//if ( type == LLRenderPass::PASS_ALPHA
|
||||
// && facep->getTextureEntry()->getMaterialParams().notNull()
|
||||
// && !facep->getVertexBuffer()->hasDataType(LLVertexBuffer::TYPE_TANGENT)
|
||||
// && LLViewerShaderMgr::instance()->getShaderLevel(LLViewerShaderMgr::SHADER_OBJECT) > 1)
|
||||
//{
|
||||
// LL_WARNS_ONCE("RenderMaterials") << "Oh no! No binormals for this alpha blended face!" << LL_ENDL;
|
||||
//}
|
||||
// </FS:Ansariel>
|
||||
|
||||
// bool selected = facep->getViewerObject()->isSelected();
|
||||
//
|
||||
|
|
|
|||
|
|
@ -71,6 +71,9 @@
|
|||
<menu_item_check name="inventory_filter_show_links" label="Verknüpfungen anzeigen"/>
|
||||
<menu_item_check name="inventory_filter_only_links" label="Nur Verknüpfungen anzeigen"/>
|
||||
<menu_item_check name="inventory_filter_hide_links" label="Verknüpfungen verstecken"/>
|
||||
<menu_item_check name="inventory_filter_only_modify" label="Nur modifizierbar"/>
|
||||
<menu_item_check name="inventory_filter_only_copy" label="Nur kopierbar"/>
|
||||
<menu_item_check name="inventory_filter_only_transfer" label="Nur transferierbar"/>
|
||||
<!-- Not implemented yet
|
||||
<menu_item_check name="inventory_show_partial_results" label="Zeige unvollständige Suchergebnisse"/>
|
||||
-->
|
||||
|
|
|
|||
|
|
@ -453,6 +453,37 @@
|
|||
function="Inventory.FilterLinks.Check"
|
||||
parameter="hide_links" />
|
||||
</menu_item_check>
|
||||
<menu_item_separator />
|
||||
<menu_item_check
|
||||
name="inventory_filter_only_modify"
|
||||
label="Only Modifiable">
|
||||
<on_click
|
||||
function="Inventory.FilterPermissions.Set"
|
||||
parameter="only_modify" />
|
||||
<on_check
|
||||
function="Inventory.FilterPermissions.Check"
|
||||
parameter="only_modify" />
|
||||
</menu_item_check>
|
||||
<menu_item_check
|
||||
name="inventory_filter_only_copy"
|
||||
label="Only Copyable">
|
||||
<on_click
|
||||
function="Inventory.FilterPermissions.Set"
|
||||
parameter="only_copy" />
|
||||
<on_check
|
||||
function="Inventory.FilterPermissions.Check"
|
||||
parameter="only_copy" />
|
||||
</menu_item_check>
|
||||
<menu_item_check
|
||||
name="inventory_filter_only_transfer"
|
||||
label="Only Transferable">
|
||||
<on_click
|
||||
function="Inventory.FilterPermissions.Set"
|
||||
parameter="only_transfer" />
|
||||
<on_check
|
||||
function="Inventory.FilterPermissions.Check"
|
||||
parameter="only_transfer" />
|
||||
</menu_item_check>
|
||||
</menu>
|
||||
</menu_bar>
|
||||
|
||||
|
|
|
|||
|
|
@ -73,6 +73,9 @@
|
|||
<menu_item_check name="inventory_filter_show_links" label="Pokaż linki" />
|
||||
<menu_item_check name="inventory_filter_only_links" label="Pokaż tylko linki" />
|
||||
<menu_item_check name="inventory_filter_hide_links" label="Ukryj linki" />
|
||||
<menu_item_check name="inventory_filter_only_modify" label="Tylko modyfikowalne" />
|
||||
<menu_item_check name="inventory_filter_only_copy" label="Tylko kopiowalne" />
|
||||
<menu_item_check name="inventory_filter_only_transfer" label="Tylko transferowalne" />
|
||||
<menu_item_check name="inventory_show_partial_results" label="Pokaż częściowe wyniki wyszukiwania" />
|
||||
</menu>
|
||||
</menu_bar>
|
||||
|
|
|
|||
|
|
@ -6,9 +6,10 @@
|
|||
<panel.string name="ItemcountCompleted">
|
||||
[ITEM_COUNT] Элементов [FILTER]
|
||||
</panel.string>
|
||||
<text name="ItemcountText">
|
||||
Объекты:
|
||||
</text>
|
||||
<panel.string name="ItemcountUnknown">
|
||||
Обнаружено [ITEM_COUNT] элементов [FILTER]
|
||||
</panel.string>
|
||||
|
||||
<menu_bar name="inventory_menu_bar">
|
||||
<menu label="Инвентарь" name="inventory_inventory_menu">
|
||||
<menu_item_call name="inventory_open" label="Открыть" />
|
||||
|
|
@ -70,7 +71,9 @@
|
|||
<menu_item_check name="inventory_filter_show_links" label="Показать ссылки" />
|
||||
<menu_item_check name="inventory_filter_only_links" label="Показать только ссылки" />
|
||||
<menu_item_check name="inventory_filter_hide_links" label="Скрыть ссылки" />
|
||||
<menu_item_check name="inventory_show_partial_results" label="Показать частичные результаты поиска" />
|
||||
<menu_item_check name="inventory_filter_only_modify" label="Только изменяемое"/>
|
||||
<menu_item_check name="inventory_filter_only_copy" label="Только копируемое"/>
|
||||
<menu_item_check name="inventory_filter_only_transfer" label="Только передаваемое"/>
|
||||
</menu>
|
||||
</menu_bar>
|
||||
<filter_editor label="Фильтр" name="inventory search editor" tool_tip="Напишите одно или несколько слов для поиска. Для разделения используйте '+' "/>
|
||||
|
|
@ -108,7 +111,7 @@
|
|||
<button name="new_inv_btn" tool_tip="Дополнительное окно инвентаря"/>
|
||||
</panel>
|
||||
<panel name="dummy_panel">
|
||||
<text name="ItemcountText">
|
||||
<text name="ItemcountText" tool_tip="[ITEMS] предметов, [CATEGORIES] папок">
|
||||
Элементов
|
||||
</text>
|
||||
</panel>
|
||||
|
|
|
|||
|
|
@ -15,8 +15,9 @@
|
|||
<check_box label="Einstellungen" name="check_settings"/>
|
||||
<button label="Alle" label_selected="Alle" name="All"/>
|
||||
<button label="Keine" label_selected="Keine" name="None"/>
|
||||
<check_box label="Nur Transferierbar" name="check_transferable"/>
|
||||
<check_box label="Ordner immer anz." name="check_show_empty"/>
|
||||
<check_box label="Mod" name="check_modify"/>
|
||||
<check_box label="Kop" name="check_copy"/>
|
||||
<check_box label="Trans" name="check_transfer"/>
|
||||
<check_box label="Von mir erstellt" name="check_created_by_me"/>
|
||||
<check_box label="Von anderen erstellt" name="check_created_by_others"/>
|
||||
<check_box label="Seit Abmeldung" name="check_since_logoff"/>
|
||||
|
|
|
|||
|
|
@ -13,6 +13,9 @@
|
|||
<menu_item_check name="inventory_search_by_description" label="Beschreibung"/>
|
||||
<menu_item_check name="inventory_search_by_uuid" label="UUID"/>
|
||||
<menu_item_check name="inventory_search_by_all" label="Allem"/>
|
||||
<menu_item_check name="inventory_filter_only_modify" label="Nur modifizierbar"/>
|
||||
<menu_item_check name="inventory_filter_only_copy" label="Nur kopierbar"/>
|
||||
<menu_item_check name="inventory_filter_only_transfer" label="Nur transferierbar"/>
|
||||
<!-- Not implemented yet
|
||||
<menu_item_check name="inventory_show_partial_results" label="Zeige unvollständige Suchergebnisse"/>
|
||||
-->
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@
|
|||
<check_box label="Objekte immer mit der Landgruppe rezzen, falls möglich" name="grouplandrez" tool_tip="Versucht Objekte mit der Landgruppe zu rezzen, sofern du ein Mitglied der Gruppe bist, unabhängig davon, welche Gruppe gerade aktiv ist."/>
|
||||
<check_box label="Partikeleffekte erzeugen, wenn Skripte kommunizieren" name="EffectScriptChatParticles" tool_tip="Falls aktiviert, werden Partikeleffekte um kommunizierende Objekte erzeugt."/>
|
||||
<check_box label="Deaktiviere Leitstrahl, wenn Zielavatar erreicht wird (<= 3m)" name="FSDisableAvatarTrackerAtCloseIn" tool_tip="Falls aktiviert, wird der Leitstrahl zum Zielavatar deaktiviert, wenn die Distanz weniger als 3m beträgt. (Standard)"/>
|
||||
<check_box label="Bento-Leerlauf-Animation korrigieren" name="play_default_bento_idle_animation_toggle" tool_tip="Falls aktiviert wird eine Priorität-0-Animation abgespielt, die Hand, Flügel, Mund und Schwanz in natürliche Positionen versetzt, sofern keine andere Bento-Animation abgespielt wird."/>
|
||||
<check_box label="Deaktiviere Fortschrittsanzeige während des Logins" name="login_screen_toggle" tool_tip="Deaktiviert die schwarze Fortschrittsanzeige während des Logins."/>
|
||||
<check_box label="Deaktiviere Fortschrittsanzeige während des Logouts" name="logout_screen_toggle" tool_tip="Deaktiviert die schwarze Fortschrittsanzeige während des Logouts."/>
|
||||
<check_box label="Aktiviere progressives Draw-Distance-Stepping" name="FSRenderFarClipStepping" tool_tip="Falls aktiviert wird Firestorm nach einem Teleport die Draw Distance progressiv erhöhen."/>
|
||||
|
|
|
|||
|
|
@ -113,8 +113,10 @@
|
|||
<radio_item label="Voice-Chat von Avatarposition aus hören" name="1"/>
|
||||
</radio_group>
|
||||
<check_box label="Avatarlippen beim Sprechen bewegen" name="enable_lip_sync"/>
|
||||
<check_box label="Zeige Voice-Indikator über Avataren" name="FSShowVoiceVisualizer" tool_tip="Wenn diese Option aktiviert ist, wird der Voice-Indicator (weißer Punkt) über Avataren angezeigt."/>
|
||||
<check_box label="Zeige Voice-Indikator und Lippenbewegungen in P2P- und Gruppenchats" name="Show_Voice_Visualizers_In_Calls" tool_tip="Wenn diese Option aktiviert ist, werden der Voice-Indicator und Lippen Bewegungen auch im P2P- sowie im Gruppenchat angezeigt."/>
|
||||
<check_box label="Zeige Voice-Indikator über Avataren" name="FSShowVoiceVisualizer" tool_tip="Wenn diese Option aktiviert ist, wird der Voice-Indikator (weißer Punkt) über Avataren angezeigt."/>
|
||||
<check_box label="Zeige Voice-Indikator über eigenen Avatar" name="FSShowMyOwnVoiceVisualizer"/>
|
||||
<check_box label="Zeige Voice-Indikator mit Punkt" name="FSShowVoiceVisualizerWithDot" tool_tip="Wenn diese Option aktiviert ist, wird der weiße Punkt im Voice-Indikator mit angezeigt. Falls deaktiviert, werden nur die Wellen-Symbole beim Sprechen angezeigt."/>
|
||||
<check_box label="Zeige Voice-Indikator und Lippenbewegungen in P2P- und Gruppenchats" name="Show_Voice_Visualizers_In_Calls" tool_tip="Wenn diese Option aktiviert ist, werden der Voice-Indikator und Lippen Bewegungen auch im P2P- sowie im Gruppenchat angezeigt."/>
|
||||
<check_box label="Zeige Voice-Kanal-Status auf Gesprächs-Reitern" name="FSShowConversationVoiceStateIndicator" tool_tip="Zeigt den Status des aktuellen Voice-Kanals auf den Reitern im Gespräche-Fenster"/>
|
||||
<check_box label="Automatisch alle eingehenden Gruppenanrufe abweisen" name="VoiceCallsRejectGroup"/>
|
||||
<check_box label="Automatisch alle eingehenden Konferenzanrufe abweisen" name="VoiceCallsRejectAdHoc"/>
|
||||
|
|
|
|||
|
|
@ -1929,7 +1929,10 @@ Falls diese Meldung weiterhin angezeigt wird, wenden Sie sich unter http://suppo
|
|||
<string name="Snapshots" value=" Fotos,"/>
|
||||
<string name="No Filters" value="Keine"/>
|
||||
<string name="Since Logoff" value=" - Seit Abmeldung"/>
|
||||
<string name="Transfer Only" value=" - Nur Transfer"/>
|
||||
<string name="Modifiable" value="Modifizierbar" />
|
||||
<string name="Copyable" value="Kopierbar" />
|
||||
<string name="Transferable" value="Transferierbar" />
|
||||
<string name="PermissionsFilter" value=" - Nur [PERMISSIONS]" />
|
||||
<string name="InvFolder My Inventory">
|
||||
Inventar
|
||||
</string>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<!-- <FS:Zi> Changed height from 512 to 528 in this block -->
|
||||
<floater
|
||||
legacy_header_height="18"
|
||||
can_minimize="false"
|
||||
|
|
@ -229,14 +230,30 @@
|
|||
left="8"
|
||||
name="None"
|
||||
width="100" />
|
||||
<!-- <FS:Zi> FIRE-1175 - Filter Permissions Menu -->
|
||||
<check_box
|
||||
height="16"
|
||||
label="Transfer only"
|
||||
label="Mod"
|
||||
layout="topleft"
|
||||
left="8"
|
||||
name="check_transferable"
|
||||
name="check_modify"
|
||||
top_pad="6"
|
||||
width="144" />
|
||||
width="45" />
|
||||
<check_box
|
||||
height="16"
|
||||
label="Copy"
|
||||
layout="topleft"
|
||||
left_pad="2"
|
||||
name="check_copy"
|
||||
width="45" />
|
||||
<check_box
|
||||
height="16"
|
||||
label="Trans"
|
||||
layout="topleft"
|
||||
left_pad="2"
|
||||
name="check_transfer"
|
||||
width="45" />
|
||||
<!-- Changed top_pad from 6 to 0 in this block -->
|
||||
<check_box
|
||||
height="16"
|
||||
label="Always show folders"
|
||||
|
|
@ -245,6 +262,7 @@
|
|||
name="check_show_empty"
|
||||
top_pad="0"
|
||||
width="144" />
|
||||
<!-- </FS:Zi> -->
|
||||
<check_box
|
||||
height="16"
|
||||
label="Created by me"
|
||||
|
|
|
|||
|
|
@ -287,6 +287,40 @@
|
|||
<menu_item_separator />
|
||||
<!-- ## Zi: Filter Links Menu -->
|
||||
|
||||
<!-- <FS:Zi> FIRE-1175 - Filter Permissions Menu -->
|
||||
<menu_item_check
|
||||
name="inventory_filter_only_modify"
|
||||
label="Only Modifiable">
|
||||
<on_click
|
||||
function="Inventory.FilterPermissions.Set"
|
||||
parameter="only_modify" />
|
||||
<on_check
|
||||
function="Inventory.FilterPermissions.Check"
|
||||
parameter="only_modify" />
|
||||
</menu_item_check>
|
||||
<menu_item_check
|
||||
name="inventory_filter_only_copy"
|
||||
label="Only Copyable">
|
||||
<on_click
|
||||
function="Inventory.FilterPermissions.Set"
|
||||
parameter="only_copy" />
|
||||
<on_check
|
||||
function="Inventory.FilterPermissions.Check"
|
||||
parameter="only_copy" />
|
||||
</menu_item_check>
|
||||
<menu_item_check
|
||||
name="inventory_filter_only_transfer"
|
||||
label="Show Transferable">
|
||||
<on_click
|
||||
function="Inventory.FilterPermissions.Set"
|
||||
parameter="only_transfer" />
|
||||
<on_check
|
||||
function="Inventory.FilterPermissions.Check"
|
||||
parameter="only_transfer" />
|
||||
</menu_item_check>
|
||||
<menu_item_separator />
|
||||
<!-- </FS:Zi> -->
|
||||
|
||||
<menu_item_call
|
||||
label="Empty Trash"
|
||||
layout="topleft"
|
||||
|
|
|
|||
|
|
@ -97,6 +97,15 @@
|
|||
top_pad="3"
|
||||
follows="left|top"
|
||||
height="16"
|
||||
label="Fix Bento Idle Animation"
|
||||
name="play_default_bento_idle_animation_toggle"
|
||||
tool_tip="If enabled, the viewer will run a default, priority 0 bento animation that poses hands, wings, mouth and tail in a natural position when no other bento animation is running."
|
||||
width="270"
|
||||
control_name="FSPlayDefaultBentoAnimation"/>
|
||||
<check_box
|
||||
top_pad="10"
|
||||
follows="left|top"
|
||||
height="16"
|
||||
label="Disable Login Progress Screen"
|
||||
name="login_screen_toggle"
|
||||
width="270"
|
||||
|
|
|
|||
|
|
@ -325,7 +325,7 @@
|
|||
follows="left|top"
|
||||
enabled_control="EnableMouselook"
|
||||
height="16"
|
||||
label="Don't close Conversations and Radar windows when changing into Mouselook"
|
||||
label="Keep Conversations and Radar windows open when changing into Mouselook"
|
||||
layout="topleft"
|
||||
name="FSShowConvoAndRadarInML"
|
||||
top_pad="5"
|
||||
|
|
|
|||
|
|
@ -950,6 +950,29 @@
|
|||
name="FSShowVoiceVisualizer"
|
||||
top_pad="3"
|
||||
width="237"/>
|
||||
<check_box
|
||||
enabled_control="EnableVoiceChat"
|
||||
control_name="FSShowMyOwnVoiceVisualizer"
|
||||
follows="left|top"
|
||||
height="15"
|
||||
label="Show voice visualizer over my own avatar"
|
||||
layout="topleft"
|
||||
left="35"
|
||||
name="FSShowMyOwnVoiceVisualizer"
|
||||
top_pad="3"
|
||||
width="237"/>
|
||||
<check_box
|
||||
enabled_control="EnableVoiceChat"
|
||||
control_name="FSShowVoiceVisualizerWithDot"
|
||||
follows="left|top"
|
||||
height="15"
|
||||
label="Show the dot as part of the voice visualizer"
|
||||
tool_tip="If enabled, the dot is shown as part of the voice visualizer. If disabled, it only shows voice waves."
|
||||
layout="topleft"
|
||||
left="35"
|
||||
name="FSShowVoiceVisualizerWithDot"
|
||||
top_pad="3"
|
||||
width="237"/>
|
||||
<check_box
|
||||
enabled_control="EnableVoiceChat"
|
||||
control_name="ShowVoiceVisualizersInCalls"
|
||||
|
|
@ -960,7 +983,7 @@
|
|||
layout="topleft"
|
||||
left="25"
|
||||
name="Show_Voice_Visualizers_In_Calls"
|
||||
top_pad="3"
|
||||
top_pad="5"
|
||||
width="237"/>
|
||||
<check_box
|
||||
enabled_control="EnableVoiceChat"
|
||||
|
|
|
|||
|
|
@ -887,7 +887,12 @@ If you continue to receive this message, please contact Second Life support for
|
|||
<string name="Snapshots" value=" Snapshots," />
|
||||
<string name="No Filters" value="No " />
|
||||
<string name="Since Logoff" value=" - Since Logoff" />
|
||||
<string name="Transfer Only" value=" - Transfer only" />
|
||||
<!-- <FS:Zi> FIRE-1175 - Filter Permissions Menu -->
|
||||
<string name="Modifiable" value="Modifiable" />
|
||||
<string name="Copyable" value="Copyable" />
|
||||
<string name="Transferable" value="Transferable" />
|
||||
<string name="PermissionsFilter" value=" - Only [PERMISSIONS]" />
|
||||
<!-- </FS:Zi> -->
|
||||
|
||||
<!-- inventory folder -->
|
||||
<string name="InvFolder My Inventory">Inventory</string>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<floater name="Toybox" title="BOTONES DE LA BARRA DE HERRAMIENTAS" width="680">
|
||||
<floater name="Toybox" title="BOTONES DE LA BARRA DE HERRAMIENTAS">
|
||||
<text name="toybox label 1">
|
||||
Puedes agregar o quitar botones arrastrándolos a las barras de herramientas o desde ellas.
|
||||
</text>
|
||||
|
|
|
|||
|
|
@ -1,16 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<floater name="floaterland" title="À PROPOS DU TERRAIN">
|
||||
<floater.string name="maturity_icon_general">
|
||||
"Parcel_PG_Dark"
|
||||
</floater.string>
|
||||
<floater.string name="maturity_icon_moderate">
|
||||
"Parcel_M_Dark"
|
||||
</floater.string>
|
||||
<floater.string name="maturity_icon_adult">
|
||||
"Parcel_R_Dark"
|
||||
</floater.string>
|
||||
<floater name="floaterland" title="À propos du terrain">
|
||||
<floater.string name="Hours">
|
||||
[HEURES] hrs.
|
||||
[HOURS] hrs.
|
||||
</floater.string>
|
||||
<floater.string name="Hour">
|
||||
hr.
|
||||
|
|
@ -31,7 +22,7 @@
|
|||
Toujours
|
||||
</floater.string>
|
||||
<tab_container name="landtab" tab_min_width="60">
|
||||
<panel label="GÉNÉRAL" name="land_general_panel">
|
||||
<panel label="Général" name="land_general_panel">
|
||||
<panel.string name="new users only">
|
||||
Nouveaux résidents uniquement
|
||||
</panel.string>
|
||||
|
|
@ -77,11 +68,12 @@
|
|||
<text name="Name:">
|
||||
Nom :
|
||||
</text>
|
||||
<line_editor name="Name"/>
|
||||
<text name="UUID:">
|
||||
ID terrain :
|
||||
</text>
|
||||
<text name="Description:">
|
||||
Description :
|
||||
</text>
|
||||
<text_editor name="Description"/>
|
||||
<text name="LandType">
|
||||
Type :
|
||||
</text>
|
||||
|
|
@ -151,7 +143,7 @@
|
|||
<button label="Abandonner le terrain" label_selected="Abandonner le terrain..." name="Abandon Land..."/>
|
||||
<button label="Récupérer le terrain" label_selected="Redemander le terrain…" name="Reclaim Land..."/>
|
||||
</panel>
|
||||
<panel label="RÈGLEMENT" name="land_covenant_panel">
|
||||
<panel label="Règlement" name="land_covenant_panel">
|
||||
<panel.string name="can_resell">
|
||||
Le terrain acheté dans cette région peut être revendu.
|
||||
</panel.string>
|
||||
|
|
@ -215,7 +207,7 @@ ou divisé.
|
|||
Le terrain dans cette région ne peut être fusionné/divisé.
|
||||
</text>
|
||||
</panel>
|
||||
<panel label="OBJETS" name="land_objects_panel">
|
||||
<panel label="Objets" name="land_objects_panel">
|
||||
<panel.string name="objects_available_text">
|
||||
[COUNT] sur [MAX] ([AVAILABLE] disponibles)
|
||||
</panel.string>
|
||||
|
|
@ -234,45 +226,27 @@ ou divisé.
|
|||
<text name="Primitives parcel supports:">
|
||||
Capacité de la parcelle :
|
||||
</text>
|
||||
<text name="object_contrib_text">
|
||||
[COUNT]
|
||||
</text>
|
||||
<text name="Primitives on parcel:">
|
||||
Impact sur la parcelle :
|
||||
</text>
|
||||
<text name="total_objects_text">
|
||||
[COUNT]
|
||||
</text>
|
||||
<text name="Owned by parcel owner:">
|
||||
Appartenant au propriétaire :
|
||||
</text>
|
||||
<text name="owner_objects_text">
|
||||
[COUNT]
|
||||
</text>
|
||||
<button label="Afficher" label_selected="Afficher" name="ShowOwner"/>
|
||||
<button label="Retour" label_selected="Renvoyer..." name="ReturnOwner..." tool_tip="Renvoyer les objets à leurs propriétaires."/>
|
||||
<text name="Set to group:">
|
||||
Données au groupe :
|
||||
</text>
|
||||
<text name="group_objects_text">
|
||||
[COUNT]
|
||||
</text>
|
||||
<button label="Afficher" label_selected="Afficher" name="ShowGroup"/>
|
||||
<button label="Retour" label_selected="Renvoyer..." name="ReturnGroup..." tool_tip="Renvoyer les objets à leurs propriétaires."/>
|
||||
<text name="Owned by others:">
|
||||
Appartenant à d'autres :
|
||||
</text>
|
||||
<text name="other_objects_text">
|
||||
[COUNT]
|
||||
</text>
|
||||
<button label="Afficher" label_selected="Afficher" name="ShowOther"/>
|
||||
<button label="Retour" label_selected="Renvoyer..." name="ReturnOther..." tool_tip="Renvoyer les objets à leurs propriétaires."/>
|
||||
<text name="Selected / sat upon:">
|
||||
Sélectionnées/où quelqu'un est assis :
|
||||
</text>
|
||||
<text name="selected_objects_text">
|
||||
[COUNT]
|
||||
</text>
|
||||
<text name="Autoreturn">
|
||||
Renvoi automatique des objets d'autres résidents (minutes, 0 pour désactiver) :
|
||||
</text>
|
||||
|
|
@ -285,11 +259,11 @@ ou divisé.
|
|||
<name_list label="Plus récents" name="owner list">
|
||||
<name_list.columns label="Type" name="type"/>
|
||||
<name_list.columns label="Nom" name="name"/>
|
||||
<name_list.columns label="Nombre" name="count"/>
|
||||
<name_list.columns label="Nbre" name="count"/>
|
||||
<name_list.columns label="Plus récents" name="mostrecent"/>
|
||||
</name_list>
|
||||
</panel>
|
||||
<panel label="OPTIONS" name="land_options_panel">
|
||||
<panel label="Options" name="land_options_panel">
|
||||
<panel.string name="search_enabled_tooltip">
|
||||
Permettre aux autres résidents de voir cette parcelle dans les résultats de recherche
|
||||
</panel.string>
|
||||
|
|
@ -321,13 +295,26 @@ Seules les parcelles de grande taille peuvent apparaître dans la recherche.
|
|||
<panel.string name="push_restrict_region_text">
|
||||
Pas de bousculades (les règles de la région priment)
|
||||
</panel.string>
|
||||
<panel.string name="DirectoryFree">
|
||||
Lieu dans la recherche
|
||||
</panel.string>
|
||||
<panel.string name="DirectoryFee">
|
||||
Lieu dans la recherche ([DIRECTORY_FEE]L$/sem.)
|
||||
</panel.string>
|
||||
<text name="allow_label">
|
||||
Autoriser les autres résidents à :
|
||||
</text>
|
||||
<text name="allow_label1">
|
||||
Modifier le terrain :
|
||||
</text>
|
||||
<check_box label="Tous" name="edit land check" tool_tip="Si cette option est cochée, tous le monde pourra terraformer votre terrain. Il laisser cette option décochée, car vous pouvez toujours modifier votre terrain."/>
|
||||
<text name="caution_text">
|
||||
(À utiliser prudemment !)
|
||||
</text>
|
||||
<text name="allow_label0">
|
||||
Voler :
|
||||
</text>
|
||||
<check_box label="Tous" name="check fly" tool_tip="Si cette option est cochée, les résidents peuvent voler sur votre terrain. Si elle n'est pas cochée, ils ne pourront voler que lorsqu'ils arrivent et passent au dessus de votre terrain."/>
|
||||
<check_box label="Tous" name="check fly" tool_tip="Si cette option est cochée, les résidents peuvent voler sur votre terrain. Si elle n'est pas cochée, ils ne pourront voler que lorsqu'ils arrivent et passent au dessus de votre terrain."/>
|
||||
<text name="allow_label2">
|
||||
Construire :
|
||||
</text>
|
||||
|
|
@ -344,6 +331,7 @@ Seules les parcelles de grande taille peuvent apparaître dans la recherche.
|
|||
<check_box label="Tous" name="check other scripts" tool_tip="Si la case est cochée, les membres du groupe de la parcelle peuvent exécuter des scripts sur votre parcelle, y compris des pièces jointes."/>
|
||||
<check_box label="Groupe" name="check group scripts" tool_tip="Si la case est cochée, les membres du groupe de la parcelle peuvent exécuter des scripts sur votre parcelle, y compris des pièces jointes."/>
|
||||
<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'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 label="Lieu dans la recherche (L$30/week)" name="ShowDirectoryCheck" tool_tip="Laisser les résidents voir cette parcelle dans les résultats de la recherche."/>
|
||||
<check_box label="Pas de bousculades" name="PushRestrictCheck" tool_tip="Empêche l'utilisation de scripts causant des bousculades. Cette option est utile pour empêcher les comportements abusifs sur votre terrain."/>
|
||||
<check_box label="Voir le lieu dans la recherche (30 L$/sem.)" name="ShowDirectoryCheck" tool_tip="Afficher la parcelle dans les résultats de recherche"/>
|
||||
<combo_box name="land category">
|
||||
|
|
@ -361,7 +349,7 @@ Seules les parcelles de grande taille peuvent apparaître dans la recherche.
|
|||
<combo_box.item label="Location" name="item13"/>
|
||||
<combo_box.item label="Autre" name="item12"/>
|
||||
</combo_box>
|
||||
<check_box label="Contenu Modéré" name="MatureCheck" tool_tip=""/>
|
||||
<check_box label="Contenu Modéré" name="MatureCheck" />
|
||||
<text name="Snapshot:">
|
||||
Photo :
|
||||
</text>
|
||||
|
|
@ -384,12 +372,11 @@ Seules les parcelles de grande taille peuvent apparaître dans la recherche.
|
|||
<combo_box.item label="Lieu d'arrivée libre" name="Anywhere"/>
|
||||
</combo_box>
|
||||
</panel>
|
||||
<panel label="MÉDIA" name="land_media_panel">
|
||||
<panel label="Médias" name="land_media_panel">
|
||||
<text name="with media:" width="85">
|
||||
Type :
|
||||
</text>
|
||||
<combo_box left="97" name="media type" tool_tip="Indiquez s'il s'agit de l'URL d'un film, d'une page web ou autre"/>
|
||||
<text name="mime_type"/>
|
||||
<text name="at URL:" width="85">
|
||||
Page d'accueil :
|
||||
</text>
|
||||
|
|
@ -421,7 +408,7 @@ texture :
|
|||
</text>
|
||||
<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."/>
|
||||
</panel>
|
||||
<panel label="SON" name="land_audio_panel">
|
||||
<panel label="Son" name="land_audio_panel">
|
||||
<text bottom_delta="-28" name="MusicURL:">
|
||||
URL de la
|
||||
musique :
|
||||
|
|
@ -442,7 +429,7 @@ musique :
|
|||
<check_box label="Activer la voix (contrôlé par le domaine)" name="parcel_enable_voice_channel_is_estate_disabled"/>
|
||||
<check_box label="Limiter le chat vocal à cette parcelle" name="parcel_enable_voice_channel_local"/>
|
||||
</panel>
|
||||
<panel label="ACCÈS" name="land_access_panel">
|
||||
<panel label="Accès" name="land_access_panel">
|
||||
<panel.string name="access_estate_defined">
|
||||
(défini par le domaine
|
||||
</panel.string>
|
||||
|
|
@ -451,7 +438,7 @@ musique :
|
|||
</panel.string>
|
||||
<check_box label="Tout le monde peut rendre visite" tool_tip="Des lignes d'interdiction seront créées si cette case n'est pas cochée" name="public_access"/>
|
||||
<check_box label="Doit avoir plus de 18 ans [ESTATE_AGE_LIMIT]" name="limit_age_verified" tool_tip="Pour accéder à cette parcelle, les résidents doivent avoir au moins 18 ans. Consultez le [SUPPORT_SITE] pour plus d'informations."/>
|
||||
<check_box label="Les infos de paiement doivent être enregistrées dans le dossier [ESTATE_PAYMENT_LIMIT]" name="limit_payment" tool_tip="Pour pouvoir accéder à cette parcelle, les résidents doivent avoir enregistré des informations de paiement. Consultez le [SUPPORT_SITE] pour plus d'informations."/>
|
||||
<check_box label="Les infos de paiement doivent être enregistrées dans le dossier [ESTATE_PAYMENT_LIMIT]" name="limit_payment" tool_tip="Pour pouvoir accéder à cette parcelle, les résidents doivent avoir enregistré des informations de paiement. Consultez le [SUPPORT_SITE] pour plus d'informations."/>
|
||||
<check_box label="Autoriser le groupe [GROUP] sans restrictions" name="GroupCheck" tool_tip="Définir le groupe à l'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" width="110">
|
||||
|
|
@ -483,7 +470,7 @@ musique :
|
|||
<button label="Supprimer" label_selected="Supprimer" name="remove_banned"/>
|
||||
</panel>
|
||||
</panel>
|
||||
<panel label="EXPÉRIENCES" name="land_experiences_panel"/>
|
||||
<panel label="ENVIRONNEMENT" name="land_environment_panel"/>
|
||||
<panel label="Expériences" name="land_experiences_panel"/>
|
||||
<panel label="Environnement" name="land_environment_panel" />
|
||||
</tab_container>
|
||||
</floater>
|
||||
|
|
|
|||
|
|
@ -81,12 +81,16 @@
|
|||
<menu_item_call label="Renommer" name="Rename"/>
|
||||
<menu_item_call label="Copier l'UUID (identifiant universel unique)" name="Copy Asset UUID"/>
|
||||
<menu_item_call label="Affiche le Panneau principal" name="Show in Main Panel"/>
|
||||
<menu_item_call label="Remettre à la dernière position" name="Restore to Last Position"/>
|
||||
<menu_item_call label="Couper" name="Cut"/>
|
||||
<menu_item_call label="Copier" name="Copy"/>
|
||||
<menu_item_call label="Coller" name="Paste"/>
|
||||
<menu_item_call label="Coller comme lien" name="Paste As Link"/>
|
||||
<menu_item_call label="Trouver tous les liens" name="Find Links"/>
|
||||
<menu_item_call label="Remplacer les liens" name="Replace Links"/>
|
||||
<menu_item_call label="Supprimer" name="Delete"/>
|
||||
<menu_item_call label="Nettoyer les liens cassés" name="Cleanup broken Links"/>
|
||||
<menu_item_call label="Déplacer vers le dossier par défaut" name="Move to Default Folder"/>
|
||||
<menu_item_call label="Supprimer le dossier système" name="Delete System Folder"/>
|
||||
<menu_item_call label="Démarrer le chat conférence" name="Conference Chat Folder"/>
|
||||
<menu_item_call label="Jouer" name="Sound Play"/>
|
||||
|
|
|
|||
|
|
@ -21,7 +21,27 @@
|
|||
<pie_slice label="Jupe" name="Skirt"/>
|
||||
</pie_menu>
|
||||
<pie_menu label="HUD >" name="Pie Object Detach HUD"/>
|
||||
<pie_menu label="Enlever >" name="Pie Object Detach"/>
|
||||
<pie_menu label="Enlever >" name="Pie Object Detach">
|
||||
<pie_menu label="Squelette (ext) >" name="Enhanced Skeleton">
|
||||
<pie_slice label="Aile droite" name="Right Wing"/>
|
||||
<pie_slice label="Aine" name="Groin"/>
|
||||
<pie_slice label="Base queue" name="Tail Base"/>
|
||||
<pie_slice label="Extr. queue" name="Tail Tip"/>
|
||||
<pie_slice label="Aile gauche" name="Left Wing"/>
|
||||
<pie_slice label="Pied arr. G" name="Left Hind Foot"/>
|
||||
<pie_menu label="Plus >" name="Enhanced Skeleton More">
|
||||
<pie_slice label="Oreille droite" name="Alt Right Ear"/>
|
||||
<pie_slice label="Oeil droit" name="Alt Right Eye"/>
|
||||
<pie_slice label="Langue" name="Tongue"/>
|
||||
<pie_slice label="Oeil gauche" name="Alt Left Eye"/>
|
||||
<pie_slice label="Oreille gauche" name="Alt Left Ear"/>
|
||||
<pie_slice label="Annulaire D" name="Left Ring Finger"/>
|
||||
<pie_slice label="Mâchoire" name="Jaw"/>
|
||||
<pie_slice label="Annulaire G" name="Right Ring Finger"/>
|
||||
</pie_menu>
|
||||
<pie_slice label="Pied arr. D" name="Right Hind Foot"/>
|
||||
</pie_menu>
|
||||
</pie_menu>
|
||||
<pie_slice label="Tout détacher" name="Detach All"/>
|
||||
</pie_menu>
|
||||
<pie_slice label="S'asseoir ici" name="Sit Down Here"/>
|
||||
|
|
|
|||
|
|
@ -13,7 +13,27 @@
|
|||
<pie_slice label="Porter" name="Wear"/>
|
||||
<pie_slice label="Prendre une copie" name="Take Copy"/>
|
||||
<pie_menu label="Attacher au HUD >" name="Pie Object Attach HUD"/>
|
||||
<pie_menu label="Attacher >" name="Pie Object Attach"/>
|
||||
<pie_menu label="Attacher >" name="Pie Object Attach">
|
||||
<pie_menu label="Squelette (ext) >" name="Enhanced Skeleton">
|
||||
<pie_slice label="Aile droite" name="Right Wing"/>
|
||||
<pie_slice label="Aine" name="Groin"/>
|
||||
<pie_slice label="Base queue" name="Tail Base"/>
|
||||
<pie_slice label="Extr. queue" name="Tail Tip"/>
|
||||
<pie_slice label="Aile gauche" name="Left Wing"/>
|
||||
<pie_slice label="Pied arr. G" name="Left Hind Foot"/>
|
||||
<pie_menu label="Plus >" name="Enhanced Skeleton More">
|
||||
<pie_slice label="Oreille droite" name="Alt Right Ear"/>
|
||||
<pie_slice label="Oeil droit" name="Alt Right Eye"/>
|
||||
<pie_slice label="Langue" name="Tongue"/>
|
||||
<pie_slice label="Oeil gauche" name="Alt Left Eye"/>
|
||||
<pie_slice label="Oreille gauche" name="Alt Left Ear"/>
|
||||
<pie_slice label="Annulaire G" name="Left Ring Finger"/>
|
||||
<pie_slice label="Mâchoire" name="Jaw"/>
|
||||
<pie_slice label="Annulaire D" name="Right Ring Finger"/>
|
||||
</pie_menu>
|
||||
<pie_slice label="Pied arr. D" name="Right Hind Foot"/>
|
||||
</pie_menu>
|
||||
</pie_menu>
|
||||
<pie_slice label="Renvoyer" name="Return..."/>
|
||||
<pie_menu label="Plus >" name="Object Pie More 2">
|
||||
<pie_slice label="Actualiser les textures" name="Texture Refresh"/>
|
||||
|
|
|
|||
|
|
@ -28,30 +28,46 @@
|
|||
(vide)
|
||||
</string>
|
||||
<string name="str_region_env">
|
||||
(environnement de la région)
|
||||
(envt de la région)
|
||||
</string>
|
||||
<layout_stack>
|
||||
<layout_panel name="pnl_environment_disabled">
|
||||
<text name="txt_environment_disabled">
|
||||
...
|
||||
<layout_stack name="ls_main">
|
||||
<layout_panel name="pnl_environment_region_msg">
|
||||
<text name="region_text_lbl">
|
||||
Région :
|
||||
</text>
|
||||
<text name="region_text">
|
||||
inconnu
|
||||
</text>
|
||||
</layout_panel>
|
||||
<layout_panel name="pnl_environment_config">
|
||||
<layout_stack>
|
||||
<layout_stack name="ls_environment_config">
|
||||
<layout_panel name="pnl_environment_config">
|
||||
<layout_stack>
|
||||
<layout_stack name="ls_environment_config2">
|
||||
<layout_panel name="pnl_environment_current">
|
||||
<button label="[USEDEFAULT]" name="btn_usedefault"/>
|
||||
<button label="Utiliser l'inventaire" name="btn_select_inventory"/>
|
||||
<text name="select_environment_label">
|
||||
Sélectionner l'environnement
|
||||
</text>
|
||||
<button label="Utiliser l'inventaire" name="btn_select_inventory"/>
|
||||
<button label="Personnaliser" name="btn_edit"/>
|
||||
<check_box label="Les propriétaires de parcelle peuvent neutraliser l'environnement" name="chk_allow_override"/>
|
||||
<check_box label="Les propriétaires de parcelles peuvent passer outre l'environnement" name="chk_allow_override"/>
|
||||
</layout_panel>
|
||||
<layout_panel name="pnl_environment_length">
|
||||
<text name="day_settings_label">
|
||||
Réglages de la journée
|
||||
</text>
|
||||
<text name="day_length_label">
|
||||
Durée de la journée (heures)
|
||||
</text>
|
||||
<text name="day_offset_label">
|
||||
Décalage horaire (heures)
|
||||
</text>
|
||||
<text name="apparent_time_of_day_label">
|
||||
Heure apparente de la journée :
|
||||
</text>
|
||||
<text name="lbl_apparent_time">
|
||||
[HH]:[MM][AP] ([PRC]%)
|
||||
</text>
|
||||
</layout_panel>
|
||||
<layout_panel name="pnl_environment_buttons"/>
|
||||
</layout_stack>
|
||||
</layout_panel>
|
||||
<layout_panel name="pnl_environment_altitudes">
|
||||
|
|
@ -63,7 +79,7 @@
|
|||
<line_editor name="edt_invname_alt1">
|
||||
Inconnu
|
||||
</line_editor>
|
||||
<settings_drop_target name="sdt_alt1" tool_tip="Faites glisser un paramètre de l'inventaire vers cette zone cible pour le sélectionner comme ciel actuel."/>
|
||||
<settings_drop_target name="sdt_alt1" tool_tip="Faites glisser un paramètre de l'inventaire vers cette zone cible pour le sélectionner comme ciel actuel."/>
|
||||
</panel>
|
||||
<panel name="pnl_alt2">
|
||||
<text name="txt_alt2">
|
||||
|
|
@ -73,7 +89,7 @@
|
|||
<line_editor name="edt_invname_alt2">
|
||||
Inconnu
|
||||
</line_editor>
|
||||
<settings_drop_target name="sdt_alt2" tool_tip="Faites glisser un paramètre de l'inventaire vers cette zone cible pour le sélectionner comme ciel actuel."/>
|
||||
<settings_drop_target name="sdt_alt2" tool_tip="Faites glisser un paramètre de l'inventaire vers cette zone cible pour le sélectionner comme ciel actuel."/>
|
||||
</panel>
|
||||
<panel name="pnl_alt3">
|
||||
<text name="txt_alt3">
|
||||
|
|
@ -83,13 +99,11 @@
|
|||
<line_editor name="edt_invname_alt3">
|
||||
Inconnu
|
||||
</line_editor>
|
||||
<settings_drop_target name="sdt_alt3" tool_tip="Faites glisser un paramètre de l'inventaire vers cette zone cible pour le sélectionner comme ciel actuel."/>
|
||||
<settings_drop_target name="sdt_alt3" tool_tip="Faites glisser un paramètre de l'inventaire vers cette zone cible pour le sélectionner comme ciel actuel."/>
|
||||
</panel>
|
||||
<multi_slider initial_value="0" name="sld_altitudes">
|
||||
<slider name="sld1" value="1000"/>
|
||||
<slider name="sld2" value="2000"/>
|
||||
<slider name="sld3" value="3000"/>
|
||||
</multi_slider>
|
||||
<text follows="top|left" name="sky_altitudes_label">
|
||||
Altitudes du ciel
|
||||
</text>
|
||||
<panel name="pnl_ground">
|
||||
<text name="txt_ground">
|
||||
Sol
|
||||
|
|
@ -97,7 +111,7 @@
|
|||
<line_editor name="edt_invname_ground">
|
||||
Inconnu
|
||||
</line_editor>
|
||||
<settings_drop_target name="sdt_ground" tool_tip="Faites glisser un paramètre de l'inventaire vers cette zone cible pour le sélectionner comme ciel au niveau du sol."/>
|
||||
<settings_drop_target name="sdt_ground" tool_tip="Faites glisser un paramètre de l'inventaire vers cette zone cible pour le sélectionner comme ciel au niveau du sol."/>
|
||||
</panel>
|
||||
<panel name="pnl_water">
|
||||
<text name="txt_water">
|
||||
|
|
@ -106,7 +120,7 @@
|
|||
<line_editor name="edt_invname_water">
|
||||
Inconnu
|
||||
</line_editor>
|
||||
<settings_drop_target name="sdt_water" tool_tip="Faites glisser un paramètre de l'inventaire vers cette zone cible pour le sélectionner comme eau actuelle."/>
|
||||
<settings_drop_target name="sdt_water" tool_tip="Faites glisser un paramètre de l'inventaire vers cette zone cible pour le sélectionner comme eau actuelle."/>
|
||||
</panel>
|
||||
<button label="Réinitialiser" name="btn_rst_altitudes" tool_tip="Rétablir les altitudes par défaut."/>
|
||||
</layout_panel>
|
||||
|
|
|
|||
|
|
@ -1919,6 +1919,51 @@ Si vous continuez de recevoir ce message, contactez l’assistance Second Life
|
|||
<string name="Avatar Center">
|
||||
Centre de l'avatar
|
||||
</string>
|
||||
<string name="Left Ring Finger">
|
||||
Annulaire gauche
|
||||
</string>
|
||||
<string name="Right Ring Finger">
|
||||
Annulaire droit
|
||||
</string>
|
||||
<string name="Tail Base">
|
||||
Base de la queue
|
||||
</string>
|
||||
<string name="Tail Tip">
|
||||
Extrémité de la queue
|
||||
</string>
|
||||
<string name="Left Wing">
|
||||
Aile gauche
|
||||
</string>
|
||||
<string name="Right Wing">
|
||||
Aile droite
|
||||
</string>
|
||||
<string name="Jaw">
|
||||
Machoire
|
||||
</string>
|
||||
<string name="Alt Left Ear">
|
||||
Oreille gauche (Alt)
|
||||
</string>
|
||||
<string name="Alt Right Ear">
|
||||
Oreille droite (Alt)
|
||||
</string>
|
||||
<string name="Alt Left Eye">
|
||||
Oeil gauche (Alt)
|
||||
</string>
|
||||
<string name="Alt Right Eye">
|
||||
Oeil droit (Alt)
|
||||
</string>
|
||||
<string name="Tongue">
|
||||
Langue
|
||||
</string>
|
||||
<string name="Groin">
|
||||
Aine
|
||||
</string>
|
||||
<string name="Left Hind Foot">
|
||||
Pied arrière gauche
|
||||
</string>
|
||||
<string name="Right Hind Foot">
|
||||
Pied arrière droit
|
||||
</string>
|
||||
<string name="Invalid Attachment">
|
||||
Point d'attache non valide
|
||||
</string>
|
||||
|
|
@ -2389,6 +2434,51 @@ Si vous continuez de recevoir ce message, contactez l’assistance Second Life
|
|||
<string name="ATTACH_AVATAR_CENTER">
|
||||
Centre de l'avatar
|
||||
</string>
|
||||
<string name="ATTACH_LHAND_RING1">
|
||||
Annulaire gauche
|
||||
</string>
|
||||
<string name="ATTACH_RHAND_RING1">
|
||||
Annulaire droit
|
||||
</string>
|
||||
<string name="ATTACH_TAIL_BASE">
|
||||
Base de la queue
|
||||
</string>
|
||||
<string name="ATTACH_TAIL_TIP">
|
||||
Extrémité de la queue
|
||||
</string>
|
||||
<string name="ATTACH_LWING">
|
||||
Aile gauche
|
||||
</string>
|
||||
<string name="ATTACH_RWING">
|
||||
Aile droite
|
||||
</string>
|
||||
<string name="ATTACH_FACE_JAW">
|
||||
Mâchoire
|
||||
</string>
|
||||
<string name="ATTACH_FACE_LEAR">
|
||||
Oreille gauche (Alt)
|
||||
</string>
|
||||
<string name="ATTACH_FACE_REAR">
|
||||
Oreille droite (Alt)
|
||||
</string>
|
||||
<string name="ATTACH_FACE_LEYE">
|
||||
Oeil gauche (Alt)
|
||||
</string>
|
||||
<string name="ATTACH_FACE_REYE">
|
||||
Oeil droit (Alt)
|
||||
</string>
|
||||
<string name="ATTACH_FACE_TONGUE">
|
||||
Langue
|
||||
</string>
|
||||
<string name="ATTACH_GROIN">
|
||||
Aine
|
||||
</string>
|
||||
<string name="ATTACH_HIND_LFOOT">
|
||||
Pied arrière gauche
|
||||
</string>
|
||||
<string name="ATTACH_HIND_RFOOT">
|
||||
Pied arrière droit
|
||||
</string>
|
||||
<string name="CursorPos">
|
||||
Ligne [LINE], colonne [COLUMN]
|
||||
</string>
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@
|
|||
<check_box label="Fotografie" name="check_snapshot"/>
|
||||
<button label="Tutti" label_selected="Tutti" name="All"/>
|
||||
<button label="Nessuno" label_selected="Nessuno" name="None"/>
|
||||
<check_box label="Solo trasferibili" name="check_transferable"/>
|
||||
<check_box label="Mostra sempre cartelle" name="check_show_empty"/>
|
||||
<check_box label="Creati da me" name="check_created_by_me" />
|
||||
<check_box label="Creati da altri" name="check_created_by_others" />
|
||||
|
|
|
|||
|
|
@ -1788,7 +1788,6 @@ Se il messaggio persiste, contattare il supporto Second Life per assistenza http
|
|||
<string name="Snapshots" value=" Fotografie,"/>
|
||||
<string name="No Filters" value="No "/>
|
||||
<string name="Since Logoff" value=" - Dall'uscita"/>
|
||||
<string name="Transfer Only" value=" - solo trasf." />
|
||||
<string name="InvFolder My Inventory">
|
||||
Inventario
|
||||
</string>
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@
|
|||
<check_box label="自然環境設定" name="check_settings"/>
|
||||
<button label="すべて" label_selected="すべて" name="All"/>
|
||||
<button label="なし" label_selected="なし" name="None"/>
|
||||
<check_box label="再販・プレゼントのみ" name="check_transferable" />
|
||||
<check_box label="常にフォルダを表示" name="check_show_empty"/>
|
||||
<check_box label="自作" name="check_created_by_me"/>
|
||||
<check_box label="他のユーザー作成" name="check_created_by_others"/>
|
||||
|
|
|
|||
|
|
@ -14,7 +14,9 @@
|
|||
<check_box label="Otoczenia" name="check_settings" />
|
||||
<button label="Wszystko" label_selected="Wszystko" name="All" />
|
||||
<button label="Żadne" label_selected="Żadne" name="None" />
|
||||
<check_box label="Tylko transferowalne" name="check_transferable" />
|
||||
<check_box label="Mod." name="check_modify" />
|
||||
<check_box label="Kop." name="check_copy" />
|
||||
<check_box label="Trans." name="check_transfer" />
|
||||
<check_box label="Zawsze pokaż foldery" name="check_show_empty" />
|
||||
<check_box label="Twórca: ja" name="check_created_by_me" />
|
||||
<check_box label="Twórca: inni" name="check_created_by_others" />
|
||||
|
|
|
|||
|
|
@ -27,5 +27,8 @@
|
|||
<menu_item_check name="inventory_filter_show_links" label="Pokaż linki"/>
|
||||
<menu_item_check name="inventory_filter_only_links" label="Pokaż tylko linki"/>
|
||||
<menu_item_check name="inventory_filter_hide_links" label="Ukryj linki"/>
|
||||
<menu_item_check name="inventory_filter_only_modify" label="Tylko modyfikowalne" />
|
||||
<menu_item_check name="inventory_filter_only_copy" label="Tylko kopiowalne" />
|
||||
<menu_item_check name="inventory_filter_only_transfer" label="Tylko transferowalne" />
|
||||
<menu_item_call label="Opróżnij Kosz" name="empty_trash"/>
|
||||
</toggleable_menu>
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
<check_box label="Twórz efekty cząsteczkowe, gdy skrypty się komunikują" name="EffectScriptChatParticles" tool_tip="Gdy włączysz tą opcję, to oskryptowane obiekty będą wyświetlać wirujące cząsteczki świetlne, gdy skrypty będą się komunikować." />
|
||||
<check_box label="Wyłączaj emiter śledzenia po osiągnięciu awatara docelowego (<= 3m)" name="FSDisableAvatarTrackerAtCloseIn" tool_tip="Gdy włączysz tą opcję, to emiter śledzenia będzie wyłączany automatycznie, jeśli dystans od awatara docelowego jest mniejszy niż 3m (domyślne)." />
|
||||
<check_box label="Wyłącz ekran postępu logowania się" name="login_screen_toggle" tool_tip="Wyłącza czarny ekran postępu logowania się" />
|
||||
<check_box label="Napraw animację bezczynności dla Bento" name="play_default_bento_idle_animation_toggle" tool_tip="Gdy włączysz tą opcję, to przeglądarka będzie uruchamiać domyślną animację Bento o priorytecie 0, która ustawia dłonie, skrzydła, usta i ogon w naturalnej pozycji, gdy nie jest uruchomiona żadna inna animacja Bento." />
|
||||
<check_box label="Wyłącz ekran postępu wylogowywania się" name="logout_screen_toggle" tool_tip="Wyłącza czarny ekran postępu wylogowywania się." />
|
||||
<check_box label="Stopniowe powiększanie pola widzenia" name="FSRenderFarClipStepping" tool_tip="Jeśli włączysz tą opcję, to Firestorm będzie stopniowo zwiększać pole widzenia po teleportacji." />
|
||||
<slider name="progressive_draw_distance_interval" tool_tip="Odstęp w sekundach pomiędzy każdym kolejnym powiększeniem pola widzenia." />
|
||||
|
|
|
|||
|
|
@ -105,6 +105,8 @@
|
|||
</radio_group>
|
||||
<check_box label="Poruszaj ustami awatara podczas mówienia" name="enable_lip_sync"/>
|
||||
<check_box label="Pokazuj wskaźniki dźwięku ponad awatarami" tool_tip="Pokazuj wskaźniki dźwięku (białe kropki) ponad awatarami" name="FSShowVoiceVisualizer"/>
|
||||
<check_box label="Pokazuj wskaźniki dźwięku ponad moim własnym awatarem" name="FSShowMyOwnVoiceVisualizer" />
|
||||
<check_box label="Pokazuj wskaźniki dźwięku wraz z kropką" tool_tip="Jeśli ta opcja jest włączona, to kropka jest wyświetlana jako część wskaźników dźwięku. Jeśli jest wyłączona, to pokazują się tylko fale głosowe." name="FSShowVoiceVisualizerWithDot" />
|
||||
<check_box label="Pokazuj wskaźniki dźwięku w rozmowach prywatnych i grupowych" tool_tip="Pokazuj wskaźniki dźwięku i poruszaj ustami awatara w świecie, gdy rozmawiasz w rozmowach prywatnych lub grupowych" name="Show_Voice_Visualizers_In_Calls"/>
|
||||
<check_box label="Pokazuj status kanału głosu na kartach rozmów" tool_tip="Pokazuje obecny status kanału głosu na kartach znajdujących się w oknie z listą wszystkich rozmów" name="FSShowConversationVoiceStateIndicator"/>
|
||||
<check_box label="Automatycznie odrzucaj zaproszenia grupowych rozmów głosowych" name="VoiceCallsRejectGroup"/>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
Użyj domyślnych
|
||||
</string>
|
||||
<string name="str_label_use_region">
|
||||
Użyj ust. regionu
|
||||
Użyj ustawień regionu
|
||||
</string>
|
||||
<string name="str_altitude_desription">
|
||||
Niebo [INDEX]([ALTITUDE]m)
|
||||
|
|
@ -44,7 +44,7 @@
|
|||
<text name="select_environment_label">
|
||||
Wybierz otoczenie
|
||||
</text>
|
||||
<button label="Z Szafy" name="btn_select_inventory" />
|
||||
<button label="Wybierz z Szafy" name="btn_select_inventory" />
|
||||
<button label="Dostosuj cykl dnia" name="btn_edit" />
|
||||
<check_box label="Właściciele działek mogą zastąpić" name="chk_allow_override" />
|
||||
</layout_panel>
|
||||
|
|
@ -68,7 +68,7 @@
|
|||
<panel name="pnl_alt1">
|
||||
<text name="txt_alt1">
|
||||
Niebo [INDEX]
|
||||
[ALTITUDE]m
|
||||
[ALTITUDE]m
|
||||
</text>
|
||||
<line_editor name="edt_invname_alt1">
|
||||
Nieznane
|
||||
|
|
@ -78,7 +78,7 @@
|
|||
<panel name="pnl_alt2">
|
||||
<text name="txt_alt2">
|
||||
Niebo [INDEX]
|
||||
[ALTITUDE]m
|
||||
[ALTITUDE]m
|
||||
</text>
|
||||
<line_editor name="edt_invname_alt2">
|
||||
Nieznane
|
||||
|
|
@ -88,7 +88,7 @@
|
|||
<panel name="pnl_alt3">
|
||||
<text name="txt_alt3">
|
||||
Niebo [INDEX]
|
||||
[ALTITUDE]m
|
||||
[ALTITUDE]m
|
||||
</text>
|
||||
<line_editor name="edt_invname_alt3">
|
||||
Nieznane
|
||||
|
|
|
|||
|
|
@ -1799,7 +1799,10 @@ Jeśli ciągle otrzymujesz tą wiadomość, to skontaktuj się z pomocą technic
|
|||
<string name="Snapshots" value=" Zdjęcia,"/>
|
||||
<string name="No Filters" value="Nie "/>
|
||||
<string name="Since Logoff" value=" - od wylogowania"/>
|
||||
<string name="Transfer Only" value=" - tylko transferowalne" />
|
||||
<string name="Modifiable" value="Modyfikowalne" />
|
||||
<string name="Copyable" value="Kopiowalne" />
|
||||
<string name="Transferable" value="Transferowalne" />
|
||||
<string name="PermissionsFilter" value=" - tylko [PERMISSIONS]" />
|
||||
<string name="InvFolder My Inventory">
|
||||
Moja Szafa
|
||||
</string>
|
||||
|
|
|
|||
|
|
@ -15,7 +15,9 @@
|
|||
<check_box label="Настройки" name="check_settings"/>
|
||||
<button label="Все" label_selected="Все" name="All"/>
|
||||
<button label="Нет" label_selected="Нет" name="None"/>
|
||||
<check_box label="Передаваемые" name="check_transferable"/>
|
||||
<check_box label="Изм." name="check_modify"/>
|
||||
<check_box label="Коп." name="check_copy"/>
|
||||
<check_box label="Пер." name="check_transfer"/>
|
||||
<check_box label="Показывать папки" name="check_show_empty"/>
|
||||
<check_box label="Создано мной" name="check_created_by_me"/>
|
||||
<check_box label="Создано другими" name="check_created_by_others"/>
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@
|
|||
<menu_item_check name="inventory_search_by_creator" label="Создателю"/>
|
||||
<menu_item_check name="inventory_search_by_description" label="Описанию"/>
|
||||
<menu_item_check name="inventory_search_by_all" label="Всему"/>
|
||||
<menu_item_check name="inventory_show_partial_results" label="Частичные результаты"/>
|
||||
</context_menu>
|
||||
<menu_item_check label="Добавление объектов по двойному нажатию" name="add_inv_toggle"/>
|
||||
<menu_item_check label="Добавление одежды по двойному нажатию" name="add_invclothing_toggle"/>
|
||||
|
|
@ -27,5 +26,8 @@
|
|||
<menu_item_check name="inventory_filter_show_links" label="Показать ссылки"/>
|
||||
<menu_item_check name="inventory_filter_only_links" label="Показать только ссылки"/>
|
||||
<menu_item_check name="inventory_filter_hide_links" label="Скрыть ссылки"/>
|
||||
<menu_item_check name="inventory_filter_only_modify" label="Только изменяемое"/>
|
||||
<menu_item_check name="inventory_filter_only_copy" label="Только копируемое"/>
|
||||
<menu_item_check name="inventory_filter_only_transfer" label="Показать передаваемое"/>
|
||||
<menu_item_call label="Очистить корзину" name="empty_trash"/>
|
||||
</toggleable_menu>
|
||||
|
|
|
|||
|
|
@ -3642,6 +3642,9 @@ URL: [AUDIOURL]
|
|||
Вы отправили обновление своей внешности через [TIME] сек.
|
||||
[STATUS]
|
||||
</notification>
|
||||
<notification name="AvatarRezSelfBakeForceUpdateNotification">
|
||||
Программа просмотра обнаружила, что вы можете выглядеть как облако, и пытается исправить это автоматически.
|
||||
</notification>
|
||||
<notification name="AvatarRezCloudNotification">
|
||||
( [EXISTENCE] сек. жизни )
|
||||
Аватар "[NAME]" стал облаком.
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
<check_box label="Строить и выкладывать под группой земли(при возм.)" name="grouplandrez" tool_tip="Пытаться выложить объекты под группой земели, если вы состоите в группе земли, независимо от того, какой тег текущей группы вы носите."/>
|
||||
<check_box label="Создание эффектов частиц, при общении скриптов" name="EffectScriptChatParticles" tool_tip="Если вы включите эту опцию, то скриптовые объекты будут отображать вращающиеся световые частицы, когда скрипты будут общаться" />
|
||||
<check_box label="Выключение отслеживающего маяка, после достижения цели аватаром (<= 3m)" name="FSDisableAvatarTrackerAtCloseIn" tool_tip="Когда вы включите эту опцию, отслеживающий маяк автоматически выключается, если расстояние до аватара меньше, чем 3 м (по умолчанию)." />
|
||||
<check_box label="Исправить бенто-анимацию простоя" name="play_default_bento_idle_animation_toggle" tool_tip="Если этот параметр включен, будет запускаться бенто-анимацию по умолчанию с приоритетом 0, которая помещает руки, крылья, рот и хвост в естественное положение, когда никакая другая бенто-анимация не запущена."/>
|
||||
<check_box label="Отключение экрана входа" name="login_screen_toggle" tool_tip="Отключение черного экрана входа" />
|
||||
<check_box label="Отключение экрана выхода" name="logout_screen_toggle" tool_tip="Отключение черного экрана выхода" />
|
||||
<check_box label="Постепенное увеличение дальности прорисовки" name="FSRenderFarClipStepping" tool_tip="Если вы включите эту опцию, Firestorm будет постепенно увеличивать дальность прорисовки после телепортации." />
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@
|
|||
</text>
|
||||
<button label="[USEDEFAULT]" name="btn_usedefault"/>
|
||||
<button label="Из инвентаря" name="btn_select_inventory"/>
|
||||
<button label="Настроить" name="btn_edit"/>
|
||||
<button label="Настроить цикл дня" name="btn_edit"/>
|
||||
<check_box label="Владельцы участков могут менять" name="chk_allow_override"/>
|
||||
</layout_panel>
|
||||
<layout_panel name="pnl_environment_length">
|
||||
|
|
|
|||
|
|
@ -1890,7 +1890,10 @@ http://www.firestormviewer.org/support за помощь в решении эт
|
|||
<string name="Snapshots" value=" Снимки,"/>
|
||||
<string name="No Filters" value="Нет "/>
|
||||
<string name="Since Logoff" value=" - с выхода"/>
|
||||
<string name="Transfer Only" value=" - только передающиеся"/>
|
||||
<string name="Modifiable" value="Изменяемое"/>
|
||||
<string name="Copyable" value="Копируемое"/>
|
||||
<string name="Transferable" value="Передаваемое"/>
|
||||
<string name="PermissionsFilter" value=" - Только [PERMISSIONS]"/>
|
||||
<string name="InvFolder My Inventory">
|
||||
Инвентарь
|
||||
</string>
|
||||
|
|
|
|||
|
|
@ -453,6 +453,39 @@
|
|||
function="Inventory.FilterLinks.Check"
|
||||
parameter="hide_links" />
|
||||
</menu_item_check>
|
||||
<!-- <FS:Zi> FIRE-1175 - Filter Permissions Menu -->
|
||||
<menu_item_separator />
|
||||
<menu_item_check
|
||||
name="inventory_filter_only_modify"
|
||||
label="Only Modifiable">
|
||||
<on_click
|
||||
function="Inventory.FilterPermissions.Set"
|
||||
parameter="only_modify" />
|
||||
<on_check
|
||||
function="Inventory.FilterPermissions.Check"
|
||||
parameter="only_modify" />
|
||||
</menu_item_check>
|
||||
<menu_item_check
|
||||
name="inventory_filter_only_copy"
|
||||
label="Only Copyable">
|
||||
<on_click
|
||||
function="Inventory.FilterPermissions.Set"
|
||||
parameter="only_copy" />
|
||||
<on_check
|
||||
function="Inventory.FilterPermissions.Check"
|
||||
parameter="only_copy" />
|
||||
</menu_item_check>
|
||||
<menu_item_check
|
||||
name="inventory_filter_only_transfer"
|
||||
label="Only Transferable">
|
||||
<on_click
|
||||
function="Inventory.FilterPermissions.Set"
|
||||
parameter="only_transfer" />
|
||||
<on_check
|
||||
function="Inventory.FilterPermissions.Check"
|
||||
parameter="only_transfer" />
|
||||
</menu_item_check>
|
||||
<!-- </FS:Zi> -->
|
||||
</menu>
|
||||
|
||||
</menu_bar>
|
||||
|
|
|
|||
|
|
@ -70,6 +70,9 @@
|
|||
<menu_item_check name="inventory_filter_show_links" label="Pokaż linki" />
|
||||
<menu_item_check name="inventory_filter_only_links" label="Pokaż tylko linki" />
|
||||
<menu_item_check name="inventory_filter_hide_links" label="Ukryj linki" />
|
||||
<menu_item_check name="inventory_filter_only_modify" label="Tylko modyfikowalne" />
|
||||
<menu_item_check name="inventory_filter_only_copy" label="Tylko kopiowalne" />
|
||||
<menu_item_check name="inventory_filter_only_transfer" label="Tylko transferowalne" />
|
||||
<menu_item_check name="inventory_show_partial_results" label="Pokaż częściowe wyniki wyszukiwania" />
|
||||
</menu>
|
||||
</menu_bar>
|
||||
|
|
|
|||
|
|
@ -67,7 +67,9 @@
|
|||
<menu_item_check name="inventory_filter_show_links" label="Показать ссылки" />
|
||||
<menu_item_check name="inventory_filter_only_links" label="Показать только ссылки" />
|
||||
<menu_item_check name="inventory_filter_hide_links" label="Скрыть ссылки" />
|
||||
<menu_item_check name="inventory_show_partial_results" label="Показать частичные результаты поиска" />
|
||||
<menu_item_check name="inventory_filter_only_modify" label="Только изменяемые"/>
|
||||
<menu_item_check name="inventory_filter_only_copy" label="Только копируемые"/>
|
||||
<menu_item_check name="inventory_filter_only_transfer" label="Только передаваемые"/>
|
||||
</menu>
|
||||
</menu_bar>
|
||||
<filter_editor label="Фильтр" name="inventory search editor" tool_tip="Напишите одно или несколько слов для поиска. Для разделения используйте '+' "/>
|
||||
|
|
@ -96,7 +98,7 @@
|
|||
<recent_inventory_panel label="Недавние" name="Recent Items"/>
|
||||
<worn_inventory_panel label="Надетые" name="Worn Items"/>
|
||||
</tab_container>
|
||||
<text name="ItemcountText">
|
||||
<text name="ItemcountText" tool_tip="[ITEMS] предметов, [CATEGORIES] папок">
|
||||
Объекты:
|
||||
</text>
|
||||
</panel>
|
||||
|
|
|
|||
Loading…
Reference in New Issue