Merge branch 'master' of https://github.com/FirestormViewer/phoenix-firestorm
# Conflicts: # indra/newview/llviewerdisplay.cpp # indra/newview/llviewertexture.cpp # indra/newview/llviewertexturelist.cppmaster
commit
20294e9ee8
|
|
@ -1,6 +1,11 @@
|
||||||
name: Build viewer
|
name: Build viewer
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
include_tracy:
|
||||||
|
description: 'Include tracy profiling builds'
|
||||||
|
required: false
|
||||||
|
default: 'false'
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- "Firestorm*.*.*"
|
- "Firestorm*.*.*"
|
||||||
|
|
@ -116,7 +121,11 @@ jobs:
|
||||||
elif [[ "${{ github.ref_name }}" == *nightly* ]] || [[ "${{ github.event_name }}" == 'schedule' ]]; then
|
elif [[ "${{ github.ref_name }}" == *nightly* ]] || [[ "${{ github.event_name }}" == 'schedule' ]]; then
|
||||||
FS_RELEASE_TYPE=Nightly
|
FS_RELEASE_TYPE=Nightly
|
||||||
elif [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then
|
elif [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then
|
||||||
|
if [[ "${{ github.event.inputs.include_tracy }}" == "false" ]]; then
|
||||||
FS_RELEASE_TYPE=Manual
|
FS_RELEASE_TYPE=Manual
|
||||||
|
elif [[ "${{ github.event.inputs.include_tracy }}" == "true" ]]; then
|
||||||
|
FS_RELEASE_TYPE=Profiling
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
if [[ "${{ matrix.addrsize }}" == "64" ]]; then
|
if [[ "${{ matrix.addrsize }}" == "64" ]]; then
|
||||||
FS_RELEASE_CHAN="${FS_RELEASE_TYPE}x64"
|
FS_RELEASE_CHAN="${FS_RELEASE_TYPE}x64"
|
||||||
|
|
@ -243,7 +252,7 @@ jobs:
|
||||||
- name: Set expiration days based on FS_RELEASE_TYPE
|
- name: Set expiration days based on FS_RELEASE_TYPE
|
||||||
run: |
|
run: |
|
||||||
case "${{ env.FS_RELEASE_TYPE }}" in
|
case "${{ env.FS_RELEASE_TYPE }}" in
|
||||||
"Nightly" | "Manual")
|
"Nightly" | "Manual" | "Profiling")
|
||||||
EXPIRE_DAYS=14
|
EXPIRE_DAYS=14
|
||||||
;;
|
;;
|
||||||
"Alpha")
|
"Alpha")
|
||||||
|
|
@ -264,6 +273,10 @@ jobs:
|
||||||
echo "EXTRA_ARGS=${{ env.EXTRA_ARGS}}" >> $GITHUB_ENV
|
echo "EXTRA_ARGS=${{ env.EXTRA_ARGS}}" >> $GITHUB_ENV
|
||||||
fi
|
fi
|
||||||
shell: bash
|
shell: bash
|
||||||
|
- name: Add tracy builds for dev use if selected (manual builds only).
|
||||||
|
if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.include_tracy == 'true' }}
|
||||||
|
shell: bash
|
||||||
|
run: echo "EXTRA_ARGS=${{ env.EXTRA_ARGS }} --tracy" >> $GITHUB_ENV
|
||||||
|
|
||||||
- name: Clean up packages to give more space
|
- name: Clean up packages to give more space
|
||||||
run: rm *${{ env.fallback_platform }}*bz2
|
run: rm *${{ env.fallback_platform }}*bz2
|
||||||
|
|
@ -344,11 +357,14 @@ jobs:
|
||||||
FS_RELEASE_FOLDER:
|
FS_RELEASE_FOLDER:
|
||||||
if: always()
|
if: always()
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout files
|
- name: Checkout repository
|
||||||
uses: Bhacaz/checkout-files@v2
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
files: fsutils/download_list.py
|
sparse-checkout: |
|
||||||
branch: ${{ github.head_ref || github.ref_name || 'master' }}
|
fsutils/download_list.py
|
||||||
|
sparse-checkout-cone-mode: false
|
||||||
|
ref: ${{ github.head_ref || github.ref_name || 'master' }}
|
||||||
|
fetch-depth: 1
|
||||||
- name: Install discord-webhook library
|
- name: Install discord-webhook library
|
||||||
run: pip install discord-webhook
|
run: pip install discord-webhook
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2752,15 +2752,43 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
|
||||||
<key>archive</key>
|
<key>archive</key>
|
||||||
<map>
|
<map>
|
||||||
<key>hash</key>
|
<key>hash</key>
|
||||||
<string>fc67514183e7dbbb96bebb9970e1431c</string>
|
<string>ae3ac835e50d75e1c1691534bfddbf71</string>
|
||||||
<key>hash_algorithm</key>
|
<key>hash_algorithm</key>
|
||||||
<string>md5</string>
|
<string>md5</string>
|
||||||
<key>url</key>
|
<key>url</key>
|
||||||
<string>https://3p.firestormviewer.org/tracy-v0.10.241491433-windows-241491433.tar.bz2</string>
|
<string>https://3p.firestormviewer.org/tracy-v0.10.241831928-windows-241831928.tar.bz2</string>
|
||||||
</map>
|
</map>
|
||||||
<key>name</key>
|
<key>name</key>
|
||||||
<string>windows</string>
|
<string>windows</string>
|
||||||
</map>
|
</map>
|
||||||
|
<key>linux</key>
|
||||||
|
<map>
|
||||||
|
<key>archive</key>
|
||||||
|
<map>
|
||||||
|
<key>hash</key>
|
||||||
|
<string>9ab29796dc144431a9db46fddfbd88b0</string>
|
||||||
|
<key>hash_algorithm</key>
|
||||||
|
<string>md5</string>
|
||||||
|
<key>url</key>
|
||||||
|
<string>https://3p.firestormviewer.org/tracy-v0.10.241831929-linux-241831929.tar.bz2</string>
|
||||||
|
</map>
|
||||||
|
<key>name</key>
|
||||||
|
<string>linux</string>
|
||||||
|
</map>
|
||||||
|
<key>darwin</key>
|
||||||
|
<map>
|
||||||
|
<key>archive</key>
|
||||||
|
<map>
|
||||||
|
<key>hash</key>
|
||||||
|
<string>f87f9db3a3c69464b46cd59490bca842</string>
|
||||||
|
<key>hash_algorithm</key>
|
||||||
|
<string>md5</string>
|
||||||
|
<key>url</key>
|
||||||
|
<string>https://3p.firestormviewer.org/tracy-v0.10.241831925-darwin-241831925.tar.bz2</string>
|
||||||
|
</map>
|
||||||
|
<key>name</key>
|
||||||
|
<string>darwin</string>
|
||||||
|
</map>
|
||||||
</map>
|
</map>
|
||||||
<key>license</key>
|
<key>license</key>
|
||||||
<string>bsd</string>
|
<string>bsd</string>
|
||||||
|
|
|
||||||
|
|
@ -158,7 +158,7 @@ Available premade firestorm-specific build targets:
|
||||||
```
|
```
|
||||||
ReleaseFS (includes KDU, FMOD)
|
ReleaseFS (includes KDU, FMOD)
|
||||||
ReleaseFS_open (no KDU, no FMOD)
|
ReleaseFS_open (no KDU, no FMOD)
|
||||||
RelWithDebInfo_open (no KDU, no FMOD)
|
RelWithDebInfoFS_open (no KDU, no FMOD)
|
||||||
```
|
```
|
||||||
|
|
||||||
### Configuration Switches
|
### Configuration Switches
|
||||||
|
|
|
||||||
|
|
@ -39,6 +39,7 @@
|
||||||
#elif LL_LINUX
|
#elif LL_LINUX
|
||||||
# include <unistd.h>
|
# include <unistd.h>
|
||||||
# include <sys/resource.h>
|
# include <sys/resource.h>
|
||||||
|
# include <sys/sysinfo.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "llmemory.h"
|
#include "llmemory.h"
|
||||||
|
|
@ -85,6 +86,7 @@ void LLMemory::initMaxHeapSizeGB(F32Gigabytes max_heap_size)
|
||||||
void LLMemory::updateMemoryInfo()
|
void LLMemory::updateMemoryInfo()
|
||||||
{
|
{
|
||||||
LL_PROFILE_ZONE_SCOPED
|
LL_PROFILE_ZONE_SCOPED
|
||||||
|
U32Kilobytes avail_phys; // <FS:Beq/> align MemInfo across platforms
|
||||||
#if LL_WINDOWS
|
#if LL_WINDOWS
|
||||||
PROCESS_MEMORY_COUNTERS counters;
|
PROCESS_MEMORY_COUNTERS counters;
|
||||||
|
|
||||||
|
|
@ -95,23 +97,25 @@ void LLMemory::updateMemoryInfo()
|
||||||
}
|
}
|
||||||
|
|
||||||
sAllocatedMemInKB = U32Kilobytes::convert(U64Bytes(counters.WorkingSetSize));
|
sAllocatedMemInKB = U32Kilobytes::convert(U64Bytes(counters.WorkingSetSize));
|
||||||
sample(sAllocatedMem, sAllocatedMemInKB);
|
// sample(sAllocatedMem, sAllocatedMemInKB); // <FS:Beq/> align MemInfo across platforms
|
||||||
sAllocatedPageSizeInKB = U32Kilobytes::convert(U64Bytes(counters.PagefileUsage));
|
sAllocatedPageSizeInKB = U32Kilobytes::convert(U64Bytes(counters.PagefileUsage));
|
||||||
sample(sVirtualMem, sAllocatedPageSizeInKB);
|
sample(sVirtualMem, sAllocatedPageSizeInKB);
|
||||||
|
// <FS:Beq> align MemInfo across platforms
|
||||||
|
// U32Kilobytes avail_phys, avail_virtual;
|
||||||
|
// LLMemoryInfo::getAvailableMemoryKB(avail_phys, avail_virtual) ;
|
||||||
|
// sMaxPhysicalMemInKB = llmin(avail_phys + sAllocatedMemInKB, sMaxHeapSizeInKB);
|
||||||
|
|
||||||
U32Kilobytes avail_phys, avail_virtual;
|
// if(sMaxPhysicalMemInKB > sAllocatedMemInKB)
|
||||||
|
// {
|
||||||
|
// sAvailPhysicalMemInKB = sMaxPhysicalMemInKB - sAllocatedMemInKB ;
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// sAvailPhysicalMemInKB = U32Kilobytes(0);
|
||||||
|
// }
|
||||||
|
U32Kilobytes avail_virtual;
|
||||||
LLMemoryInfo::getAvailableMemoryKB(avail_phys, avail_virtual) ;
|
LLMemoryInfo::getAvailableMemoryKB(avail_phys, avail_virtual) ;
|
||||||
sMaxPhysicalMemInKB = llmin(avail_phys + sAllocatedMemInKB, sMaxHeapSizeInKB);
|
// </FS:Beq>
|
||||||
|
|
||||||
if(sMaxPhysicalMemInKB > sAllocatedMemInKB)
|
|
||||||
{
|
|
||||||
sAvailPhysicalMemInKB = sMaxPhysicalMemInKB - sAllocatedMemInKB ;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
sAvailPhysicalMemInKB = U32Kilobytes(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
#elif defined(LL_DARWIN)
|
#elif defined(LL_DARWIN)
|
||||||
task_vm_info info;
|
task_vm_info info;
|
||||||
mach_msg_type_number_t infoCount = TASK_VM_INFO_COUNT;
|
mach_msg_type_number_t infoCount = TASK_VM_INFO_COUNT;
|
||||||
|
|
@ -147,21 +151,47 @@ void LLMemory::updateMemoryInfo()
|
||||||
if (result == KERN_SUCCESS) {
|
if (result == KERN_SUCCESS) {
|
||||||
// This is what Chrome reports as 'the "Physical Memory Free" value reported by the Memory Monitor in Instruments.'
|
// This is what Chrome reports as 'the "Physical Memory Free" value reported by the Memory Monitor in Instruments.'
|
||||||
// Note though that inactive pages are not included here and not yet free, but could become so under memory pressure.
|
// Note though that inactive pages are not included here and not yet free, but could become so under memory pressure.
|
||||||
sAvailPhysicalMemInKB = U32Bytes(vmstat.free_count * page_size);
|
// <FS:Beq> align MemInfo across platforms
|
||||||
sMaxPhysicalMemInKB = LLMemoryInfo::getHardwareMemSize();
|
// sAvailPhysicalMemInKB = U32Bytes(vmstat.free_count * page_size);
|
||||||
|
// sMaxPhysicalMemInKB = LLMemoryInfo::getHardwareMemSize();
|
||||||
|
avail_phys = U32Bytes(vmstat.free_count * page_size);
|
||||||
|
sMaxHeapSizeInKB = LLMemoryInfo::getHardwareMemSize();
|
||||||
|
// </FS:Beq>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LL_WARNS() << "task_info failed" << LL_ENDL;
|
LL_WARNS() << "task_info failed" << LL_ENDL;
|
||||||
}
|
}
|
||||||
|
// <FS:Beq> align MemInfo across platforms
|
||||||
|
#elif defined(LL_LINUX)
|
||||||
|
// Use sysinfo() to get the total physical memory.
|
||||||
|
struct sysinfo info;
|
||||||
|
sysinfo(&info);
|
||||||
|
sMaxHeapSizeInKB = U32Kilobytes::convert((U64Bytes)info.totalram); // Total RAM in system
|
||||||
|
avail_phys = U32Kilobytes::convert((U64Bytes)info.freeram); // Total Free RAM in system
|
||||||
|
sAllocatedMemInKB = U32Kilobytes::convert(U64Bytes(LLMemory::getCurrentRSS())); // represents the RAM allocated by this process only (inline with the windows implementation)
|
||||||
|
// </FS:Beq>
|
||||||
#else
|
#else
|
||||||
//not valid for other systems for now.
|
//not valid for other systems for now.
|
||||||
|
LL_WARNS() << "LLMemory::updateMemoryInfo() not implemented for this platform." << LL_ENDL;
|
||||||
sAllocatedMemInKB = U64Bytes(LLMemory::getCurrentRSS());
|
sAllocatedMemInKB = U64Bytes(LLMemory::getCurrentRSS());
|
||||||
sMaxPhysicalMemInKB = U64Bytes(U32_MAX);
|
sMaxPhysicalMemInKB = U64Bytes(U32_MAX);
|
||||||
sAvailPhysicalMemInKB = U64Bytes(U32_MAX);
|
sAvailPhysicalMemInKB = U64Bytes(U32_MAX);
|
||||||
#endif
|
#endif
|
||||||
|
// <FS:Beq> align MemInfo across platforms
|
||||||
|
sample(sAllocatedMem, sAllocatedMemInKB);
|
||||||
|
// sMaxPhysicalMem - max this process can use = the lesser of (what we already have + what's available) or MaxHeap
|
||||||
|
sMaxPhysicalMemInKB = llmin(avail_phys + sAllocatedMemInKB, sMaxHeapSizeInKB);
|
||||||
|
|
||||||
|
if(sMaxPhysicalMemInKB > sAllocatedMemInKB)
|
||||||
|
{
|
||||||
|
sAvailPhysicalMemInKB = sMaxPhysicalMemInKB - sAllocatedMemInKB ;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sAvailPhysicalMemInKB = U32Kilobytes(0);
|
||||||
|
}
|
||||||
|
// </FS:Beq>
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -427,11 +427,20 @@ void LLQueuedThread::processRequest(LLQueuedThread::QueuedRequest* req)
|
||||||
if (req)
|
if (req)
|
||||||
{
|
{
|
||||||
// <FS:Beq> Deferred retry requests
|
// <FS:Beq> Deferred retry requests
|
||||||
// Potentially when there is nothing else to do this will loop until the retry time.
|
// Avoid loop when idle by restoring a sleep
|
||||||
// note that when there is nothing to do the thread still sleeps normally.
|
// note that when there is nothing to do the thread still sleeps normally.
|
||||||
|
using namespace std::chrono_literals;
|
||||||
|
|
||||||
|
const auto throttle_time = 2ms;
|
||||||
|
if( req->mDeferUntil > LL::WorkQueue::TimePoint::clock::now())
|
||||||
|
{
|
||||||
|
ms_sleep(throttle_time.count());
|
||||||
|
}
|
||||||
|
// if we're still not ready to retry then requeue
|
||||||
if( req->mDeferUntil > LL::WorkQueue::TimePoint::clock::now())
|
if( req->mDeferUntil > LL::WorkQueue::TimePoint::clock::now())
|
||||||
{
|
{
|
||||||
LL_PROFILE_ZONE_NAMED("qtpr - defer requeue");
|
LL_PROFILE_ZONE_NAMED("qtpr - defer requeue");
|
||||||
|
|
||||||
lockData();
|
lockData();
|
||||||
req->setStatus(STATUS_QUEUED);
|
req->setStatus(STATUS_QUEUED);
|
||||||
mRequestQueue.post([this, req]() { processRequest(req); });
|
mRequestQueue.post([this, req]() { processRequest(req); });
|
||||||
|
|
@ -487,7 +496,6 @@ void LLQueuedThread::processRequest(LLQueuedThread::QueuedRequest* req)
|
||||||
llassert(ret);
|
llassert(ret);
|
||||||
#else
|
#else
|
||||||
using namespace std::chrono_literals;
|
using namespace std::chrono_literals;
|
||||||
auto retry_time = LL::WorkQueue::TimePoint::clock::now() + 2ms; // <FS:Beq/> reduce delay on retry
|
|
||||||
// <FS:Beq> improve retry behaviour
|
// <FS:Beq> improve retry behaviour
|
||||||
// mRequestQueue.post([=]
|
// mRequestQueue.post([=]
|
||||||
// {
|
// {
|
||||||
|
|
@ -503,6 +511,8 @@ void LLQueuedThread::processRequest(LLQueuedThread::QueuedRequest* req)
|
||||||
// }
|
// }
|
||||||
// processRequest(req);
|
// processRequest(req);
|
||||||
// });
|
// });
|
||||||
|
const auto retry_backoff = 16ms;
|
||||||
|
auto retry_time = LL::WorkQueue::TimePoint::clock::now() + retry_backoff;
|
||||||
req->defer_until(retry_time);
|
req->defer_until(retry_time);
|
||||||
LL_PROFILE_ZONE_NAMED("processRequest - post deferred");
|
LL_PROFILE_ZONE_NAMED("processRequest - post deferred");
|
||||||
mRequestQueue.post([this, req]() { processRequest(req); });
|
mRequestQueue.post([this, req]() { processRequest(req); });
|
||||||
|
|
|
||||||
|
|
@ -1263,8 +1263,7 @@ LLNotifications::LLNotifications()
|
||||||
: LLNotificationChannelBase(LLNotificationFilters::includeEverything),
|
: LLNotificationChannelBase(LLNotificationFilters::includeEverything),
|
||||||
mIgnoreAllNotifications(false)
|
mIgnoreAllNotifications(false)
|
||||||
{
|
{
|
||||||
// <FS:Ansariel> Disable test API
|
mListener.reset(new LLNotificationsListener(*this));
|
||||||
//mListener.reset(new LLNotificationsListener(*this));
|
|
||||||
LLUICtrl::CommitCallbackRegistry::currentRegistrar().add("Notification.Show", boost::bind(&LLNotifications::addFromCallback, this, _2));
|
LLUICtrl::CommitCallbackRegistry::currentRegistrar().add("Notification.Show", boost::bind(&LLNotifications::addFromCallback, this, _2));
|
||||||
|
|
||||||
// touch the instance tracker for notification channels, so that it will still be around in our destructor
|
// touch the instance tracker for notification channels, so that it will still be around in our destructor
|
||||||
|
|
|
||||||
|
|
@ -98,8 +98,7 @@
|
||||||
#include "llrefcount.h"
|
#include "llrefcount.h"
|
||||||
#include "llsdparam.h"
|
#include "llsdparam.h"
|
||||||
|
|
||||||
// <FS:Ansariel> Disable test API
|
#include "llnotificationslistener.h"
|
||||||
//#include "llnotificationslistener.h"
|
|
||||||
|
|
||||||
class LLAvatarName;
|
class LLAvatarName;
|
||||||
typedef enum e_notification_priority
|
typedef enum e_notification_priority
|
||||||
|
|
@ -999,8 +998,7 @@ private:
|
||||||
|
|
||||||
bool mIgnoreAllNotifications;
|
bool mIgnoreAllNotifications;
|
||||||
|
|
||||||
// <FS:Ansariel> Disable test API
|
std::unique_ptr<LLNotificationsListener> mListener;
|
||||||
//std::unique_ptr<LLNotificationsListener> mListener;
|
|
||||||
|
|
||||||
std::vector<LLNotificationChannelPtr> mDefaultChannels;
|
std::vector<LLNotificationChannelPtr> mDefaultChannels;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -141,7 +141,9 @@ void LLUICtrlFactory::createChildren(LLView* viewp, LLXMLNodePtr node, const wid
|
||||||
//LL_WARNS() << child_name << " is not a valid child of " << node->getName()->mString << LL_ENDL;
|
//LL_WARNS() << child_name << " is not a valid child of " << node->getName()->mString << LL_ENDL;
|
||||||
std::string name;
|
std::string name;
|
||||||
node->getAttributeString("name", name);
|
node->getAttributeString("name", name);
|
||||||
LL_WARNS() << child_name << " is not a valid child of " << node->getName()->mString << " for " << name << " (line no. " << node->getLineNumber() << ")" << LL_ENDL;
|
std::string child_name_attribute;
|
||||||
|
child_node->getAttributeString("name", child_name_attribute);
|
||||||
|
LL_WARNS() << child_name << " with name " << child_name_attribute << " is not a valid child of " << node->getName()->mString << " for " << name << " (line no. " << node->getLineNumber() << ")" << LL_ENDL;
|
||||||
// </FS:Ansariel>
|
// </FS:Ansariel>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -150,7 +152,9 @@ void LLUICtrlFactory::createChildren(LLView* viewp, LLXMLNodePtr node, const wid
|
||||||
//LL_WARNS() << "Could not create widget named " << child_node->getName()->mString << LL_ENDL;
|
//LL_WARNS() << "Could not create widget named " << child_node->getName()->mString << LL_ENDL;
|
||||||
std::string name;
|
std::string name;
|
||||||
node->getAttributeString("name", name);
|
node->getAttributeString("name", name);
|
||||||
LL_WARNS() << "Could not create widget named " << child_node->getName()->mString << " for " << name << " (line no. " << node->getLineNumber() << ")" << LL_ENDL;
|
std::string child_name_attribute;
|
||||||
|
child_node->getAttributeString("name", child_name_attribute);
|
||||||
|
LL_WARNS() << "Could not create widget " << child_node->getName()->mString << " with name " << child_name_attribute << " for " << name << " (line no. " << node->getLineNumber() << ")" << LL_ENDL;
|
||||||
// </FS:Ansariel>
|
// </FS:Ansariel>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,6 @@
|
||||||
<string>RenderAvatarMaxComplexity</string>
|
<string>RenderAvatarMaxComplexity</string>
|
||||||
<string>RenderAvatarMaxNonImpostors</string>
|
<string>RenderAvatarMaxNonImpostors</string>
|
||||||
<string>RenderAvatarPhysicsLODFactor</string>
|
<string>RenderAvatarPhysicsLODFactor</string>
|
||||||
<string>RenderCloudShadowAmbianceFactor</string>
|
|
||||||
<string>RenderCompressTextures</string>
|
<string>RenderCompressTextures</string>
|
||||||
<string>RenderDeferredSSAO</string>
|
<string>RenderDeferredSSAO</string>
|
||||||
<string>RenderDepthOfField</string>
|
<string>RenderDepthOfField</string>
|
||||||
|
|
|
||||||
|
|
@ -2186,6 +2186,28 @@
|
||||||
<key>Value</key>
|
<key>Value</key>
|
||||||
<string>http://lecs-viewer-web-components.s3.amazonaws.com/v3.0/[GRID_LOWERCASE]/avatars.html</string>
|
<string>http://lecs-viewer-web-components.s3.amazonaws.com/v3.0/[GRID_LOWERCASE]/avatars.html</string>
|
||||||
</map>
|
</map>
|
||||||
|
<key>AvatarRotateThresholdSlow</key>
|
||||||
|
<map>
|
||||||
|
<key>Comment</key>
|
||||||
|
<string>Angle between avatar facing and camera facing at which avatar turns to face same direction as camera, when moving slowly (degrees)</string>
|
||||||
|
<key>Persist</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>F32</string>
|
||||||
|
<key>Value</key>
|
||||||
|
<integer>60</integer>
|
||||||
|
</map>
|
||||||
|
<key>AvatarRotateThresholdFast</key>
|
||||||
|
<map>
|
||||||
|
<key>Comment</key>
|
||||||
|
<string>Angle between avatar facing and camera facing at which avatar turns to face same direction as camera, when moving fast (degrees)</string>
|
||||||
|
<key>Persist</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>F32</string>
|
||||||
|
<key>Value</key>
|
||||||
|
<integer>2</integer>
|
||||||
|
</map>
|
||||||
<key>AvatarBakedTextureUploadTimeout</key>
|
<key>AvatarBakedTextureUploadTimeout</key>
|
||||||
<map>
|
<map>
|
||||||
<key>Comment</key>
|
<key>Comment</key>
|
||||||
|
|
@ -14970,6 +14992,19 @@ Change of this parameter will affect the layout of buttons in notification toast
|
||||||
<key>Backup</key>
|
<key>Backup</key>
|
||||||
<integer>0</integer>
|
<integer>0</integer>
|
||||||
</map>
|
</map>
|
||||||
|
<key>TextureBiasUnimportantFactor</key>
|
||||||
|
<map>
|
||||||
|
<key>Comment</key>
|
||||||
|
<string>When biasing textures to lower resolution due to lack of vram, the importance threshold below which is considered unimportant and getting an extra bias.</string>
|
||||||
|
<key>Persist</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>F32</string>
|
||||||
|
<key>Value</key>
|
||||||
|
<real>0.25</real>
|
||||||
|
<key>Backup</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
</map>
|
||||||
<key>TextureDecodeDisabled</key>
|
<key>TextureDecodeDisabled</key>
|
||||||
<map>
|
<map>
|
||||||
<key>Comment</key>
|
<key>Comment</key>
|
||||||
|
|
@ -25706,5 +25741,16 @@ Change of this parameter will affect the layout of buttons in notification toast
|
||||||
<key>Value</key>
|
<key>Value</key>
|
||||||
<integer>1</integer>
|
<integer>1</integer>
|
||||||
</map>
|
</map>
|
||||||
|
<key>FSMinFreeMainMemoryTextureDiscardThreshold</key>
|
||||||
|
<map>
|
||||||
|
<key>Comment</key>
|
||||||
|
<string>Minimum of available physical memory in MB before textures get scaled down</string>
|
||||||
|
<key>Persist</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>S32</string>
|
||||||
|
<key>Value</key>
|
||||||
|
<integer>512</integer>
|
||||||
|
</map>
|
||||||
</map>
|
</map>
|
||||||
</llsd>
|
</llsd>
|
||||||
|
|
|
||||||
|
|
@ -1980,10 +1980,6 @@ void FSPanelFace::updateUI(bool force_set_values /*false*/)
|
||||||
mCheckFullbright->setValue((S32)(fullbright_flag != 0));
|
mCheckFullbright->setValue((S32)(fullbright_flag != 0));
|
||||||
mCheckFullbright->setEnabled(editable );
|
mCheckFullbright->setEnabled(editable );
|
||||||
mCheckFullbright->setTentative(!identical_fullbright);
|
mCheckFullbright->setTentative(!identical_fullbright);
|
||||||
|
|
||||||
// TODO: find a better way to do this without relying on the name -Zi
|
|
||||||
childSetEnabled("panel_material_type_media", !has_pbr_material);
|
|
||||||
LL_DEBUGS("ENABLEDISABLETOOLS") << "panel_material_type_media " << !has_pbr_material << LL_ENDL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Repeats per meter
|
// Repeats per meter
|
||||||
|
|
@ -5985,22 +5981,22 @@ void FSPanelFace::selectPBRChannel(S32 pbr_channel)
|
||||||
{
|
{
|
||||||
if (pbr_channel == PBRTYPE_NORMAL)
|
if (pbr_channel == PBRTYPE_NORMAL)
|
||||||
{
|
{
|
||||||
mTabsMatChannel->selectTabByName("panel_pbr_transforms_base_color");
|
mTabsPBRChannel->selectTabByName("panel_pbr_transforms_normal");
|
||||||
}
|
}
|
||||||
else if (pbr_channel == PBRTYPE_BASE_COLOR)
|
else if (pbr_channel == PBRTYPE_BASE_COLOR)
|
||||||
{
|
{
|
||||||
mTabsMatChannel->selectTabByName("panel_pbr_transforms_normal");
|
mTabsPBRChannel->selectTabByName("panel_pbr_transforms_base_color");
|
||||||
}
|
}
|
||||||
else if (pbr_channel == PBRTYPE_METALLIC_ROUGHNESS)
|
else if (pbr_channel == PBRTYPE_METALLIC_ROUGHNESS)
|
||||||
{
|
{
|
||||||
mTabsMatChannel->selectTabByName("panel_pbr_transforms_metallic");
|
mTabsPBRChannel->selectTabByName("panel_pbr_transforms_metallic");
|
||||||
}
|
}
|
||||||
else if (pbr_channel == PBRTYPE_EMISSIVE)
|
else if (pbr_channel == PBRTYPE_EMISSIVE)
|
||||||
{
|
{
|
||||||
mTabsMatChannel->selectTabByName("panel_pbr_transforms_emissive");
|
mTabsPBRChannel->selectTabByName("panel_pbr_transforms_emissive");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
mTabsMatChannel->selectTabByName("panel_pbr_transforms_all");
|
mTabsPBRChannel->selectTabByName("panel_pbr_transforms_all");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,13 +23,23 @@ if [[ -f "$CONFIG_FILE" ]]; then
|
||||||
echo "Notarytool submit:"
|
echo "Notarytool submit:"
|
||||||
echo $res
|
echo $res
|
||||||
|
|
||||||
[[ "$res" =~ 'id: '([^[:space:]]+) ]]
|
if [[ "$res" =~ id:\ ([^[:space:]]+) ]]; then
|
||||||
match=$?
|
match="${BASH_REMATCH[1]}"
|
||||||
echo "Notarized with id: [$match]"
|
echo "Notarized with id: [$match]"
|
||||||
|
else
|
||||||
|
echo "No match found"
|
||||||
|
fi
|
||||||
|
|
||||||
# if [[ ! $match -eq 0 ]]; then
|
# if [[ ! $match -eq 0 ]]; then
|
||||||
echo "Running Stapler"
|
echo "Running Stapler"
|
||||||
xcrun stapler staple "$app_file"
|
xcrun stapler staple "$app_file"
|
||||||
|
# Delete the zip file to stop it being packed in the dmg
|
||||||
|
rm -f "$zip_file"
|
||||||
|
if [[ $? -eq 0 ]]; then
|
||||||
|
echo "$zip_file deleted successfully."
|
||||||
|
else
|
||||||
|
echo "Failed to delete $zip_file"
|
||||||
|
fi
|
||||||
exit 0
|
exit 0
|
||||||
# else
|
# else
|
||||||
# echo "Notarization error"
|
# echo "Notarization error"
|
||||||
|
|
@ -39,4 +49,7 @@ if [[ -f "$CONFIG_FILE" ]]; then
|
||||||
echo "Notarization error: ditto failed"
|
echo "Notarization error: ditto failed"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
else
|
||||||
|
echo "No config file found - check notarize_creds is present in the secrets"
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
|
|
@ -3313,7 +3313,6 @@ bool LLAppViewer::initConfiguration()
|
||||||
gSavedSettings.getString("SkinCurrentTheme"),
|
gSavedSettings.getString("SkinCurrentTheme"),
|
||||||
gSavedSettings.getString("Language"));
|
gSavedSettings.getString("Language"));
|
||||||
loadSettingsFromDirectory("CurrentSkin");
|
loadSettingsFromDirectory("CurrentSkin");
|
||||||
loadSettingsFromDirectory("User");
|
|
||||||
// [/SL:KB]
|
// [/SL:KB]
|
||||||
// gDirUtilp->setSkinFolder(skinfolder->getValue().asString(),
|
// gDirUtilp->setSkinFolder(skinfolder->getValue().asString(),
|
||||||
// gSavedSettings.getString("Language"));
|
// gSavedSettings.getString("Language"));
|
||||||
|
|
|
||||||
|
|
@ -372,7 +372,7 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
// consts from viewer.h
|
// consts from viewer.h
|
||||||
const S32 AGENT_UPDATES_PER_SECOND = 10;
|
const S32 AGENT_UPDATES_PER_SECOND = 125; // <FS:Beq/> FIRE-34171 - Directional Input Delays with latest PBR-Capable Viewers
|
||||||
const S32 AGENT_FORCE_UPDATES_PER_SECOND = 1;
|
const S32 AGENT_FORCE_UPDATES_PER_SECOND = 1;
|
||||||
|
|
||||||
// Globals with external linkage. From viewer.h
|
// Globals with external linkage. From viewer.h
|
||||||
|
|
|
||||||
|
|
@ -302,6 +302,7 @@ bool LLFloaterTools::postBuild()
|
||||||
LLSelectMgr::instance().setFSShowHideHighlight(FS_SHOW_HIDE_HIGHLIGHT_NORMAL);
|
LLSelectMgr::instance().setFSShowHideHighlight(FS_SHOW_HIDE_HIGHLIGHT_NORMAL);
|
||||||
|
|
||||||
mCheckActualRoot = getChild<LLCheckBoxCtrl>("checkbox actual root");
|
mCheckActualRoot = getChild<LLCheckBoxCtrl>("checkbox actual root");
|
||||||
|
mCheckSelectProbes = getChild<LLCheckBoxCtrl>("checkbox select probes");
|
||||||
// </FS:KC>
|
// </FS:KC>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -428,6 +429,7 @@ LLFloaterTools::LLFloaterTools(const LLSD& key)
|
||||||
// <FS:KC>
|
// <FS:KC>
|
||||||
mCheckShowHighlight(NULL),
|
mCheckShowHighlight(NULL),
|
||||||
mCheckActualRoot(NULL),
|
mCheckActualRoot(NULL),
|
||||||
|
mCheckSelectProbes(NULL),
|
||||||
// </FS:KC>
|
// </FS:KC>
|
||||||
|
|
||||||
mBtnRotateLeft(NULL),
|
mBtnRotateLeft(NULL),
|
||||||
|
|
@ -1014,6 +1016,7 @@ void LLFloaterTools::updatePopup(LLCoordGL center, MASK mask)
|
||||||
// <FS:KC>
|
// <FS:KC>
|
||||||
if (mCheckShowHighlight) mCheckShowHighlight->setVisible( edit_visible );
|
if (mCheckShowHighlight) mCheckShowHighlight->setVisible( edit_visible );
|
||||||
if (mCheckActualRoot) mCheckActualRoot->setVisible( edit_visible );
|
if (mCheckActualRoot) mCheckActualRoot->setVisible( edit_visible );
|
||||||
|
if (mCheckSelectProbes) mCheckSelectProbes->setVisible( edit_visible );
|
||||||
// </FS:KC>
|
// </FS:KC>
|
||||||
|
|
||||||
// Create buttons
|
// Create buttons
|
||||||
|
|
|
||||||
|
|
@ -171,6 +171,7 @@ public:
|
||||||
LLCheckBoxCtrl* mCheckStretchTexture;
|
LLCheckBoxCtrl* mCheckStretchTexture;
|
||||||
LLCheckBoxCtrl* mCheckShowHighlight; //Phoenix:KC
|
LLCheckBoxCtrl* mCheckShowHighlight; //Phoenix:KC
|
||||||
LLCheckBoxCtrl* mCheckActualRoot; //Phoenix:KC
|
LLCheckBoxCtrl* mCheckActualRoot; //Phoenix:KC
|
||||||
|
LLCheckBoxCtrl* mCheckSelectProbes; // <FS:PP>
|
||||||
|
|
||||||
// Ansariel: Reverted the hack because then when clicking the label it
|
// Ansariel: Reverted the hack because then when clicking the label it
|
||||||
// doesn't check the checkbox anymore!
|
// doesn't check the checkbox anymore!
|
||||||
|
|
|
||||||
|
|
@ -211,6 +211,7 @@ void LLHeroProbeManager::update()
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
mNearestHero = nullptr;
|
mNearestHero = nullptr;
|
||||||
|
mDefaultProbe->mViewerObject = nullptr; // <FS:Beq/> FIRE-34201 TP crash
|
||||||
}
|
}
|
||||||
|
|
||||||
mHeroProbeStrength = 1;
|
mHeroProbeStrength = 1;
|
||||||
|
|
@ -219,6 +220,7 @@ void LLHeroProbeManager::update()
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
mNearestHero = nullptr;
|
mNearestHero = nullptr;
|
||||||
|
mDefaultProbe->mViewerObject = nullptr; // <FS:Beq/> FIRE-34201 TP crash
|
||||||
}
|
}
|
||||||
// </FS:Beq>
|
// </FS:Beq>
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -381,11 +381,6 @@ static void update_tp_display(bool minimized)
|
||||||
gViewerWindow->setProgressPercent(75.f);
|
gViewerWindow->setProgressPercent(75.f);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!gSavedSettings.getBOOL("FSDisableTeleportScreens"))
|
|
||||||
{
|
|
||||||
gAgentCamera.resetView(true, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
// <FS:Ansariel> FIRE-12004: Attachments getting lost on TP
|
// <FS:Ansariel> FIRE-12004: Attachments getting lost on TP
|
||||||
gPostTeleportFinishKillObjectDelayTimer.reset();
|
gPostTeleportFinishKillObjectDelayTimer.reset();
|
||||||
break;
|
break;
|
||||||
|
|
@ -394,7 +389,7 @@ static void update_tp_display(bool minimized)
|
||||||
// Make the user wait while content "pre-caches"
|
// Make the user wait while content "pre-caches"
|
||||||
{
|
{
|
||||||
F32 arrival_fraction = (gTeleportArrivalTimer.getElapsedTimeF32() / teleport_arrival_delay());
|
F32 arrival_fraction = (gTeleportArrivalTimer.getElapsedTimeF32() / teleport_arrival_delay());
|
||||||
if (arrival_fraction > 1.f || gSavedSettings.getBOOL("FSDisableTeleportScreens"))
|
if (arrival_fraction > 1.f)
|
||||||
{
|
{
|
||||||
arrival_fraction = 1.f;
|
arrival_fraction = 1.f;
|
||||||
//LLFirstUse::useTeleport();
|
//LLFirstUse::useTeleport();
|
||||||
|
|
|
||||||
|
|
@ -507,6 +507,30 @@ void LLViewerTexture::initClass()
|
||||||
F32 texmem_lower_bound_scale = 0.85f;
|
F32 texmem_lower_bound_scale = 0.85f;
|
||||||
F32 texmem_middle_bound_scale = 0.925f;
|
F32 texmem_middle_bound_scale = 0.925f;
|
||||||
|
|
||||||
|
bool LLViewerTexture::isMemoryForTextureLow()
|
||||||
|
// <FS:Ansariel> Restrict texture memory by available physical system memory
|
||||||
|
static bool isSystemMemoryForTextureLow()
|
||||||
|
{
|
||||||
|
static LLFrameTimer timer;
|
||||||
|
static S32Megabytes physical_res = S32Megabytes(S32_MAX);
|
||||||
|
|
||||||
|
static LLCachedControl<S32> fs_min_free_main_memory(gSavedSettings, "FSMinFreeMainMemoryTextureDiscardThreshold");
|
||||||
|
const S32Megabytes MIN_FREE_MAIN_MEMORY(fs_min_free_main_memory);
|
||||||
|
|
||||||
|
if (timer.getElapsedTimeF32() < GPU_MEMORY_CHECK_WAIT_TIME) //call this once per second.
|
||||||
|
{
|
||||||
|
return physical_res < MIN_FREE_MAIN_MEMORY;
|
||||||
|
}
|
||||||
|
|
||||||
|
timer.reset();
|
||||||
|
|
||||||
|
//check main memory, only works for windows.
|
||||||
|
LLMemory::updateMemoryInfo();
|
||||||
|
physical_res = LLMemory::getAvailableMemKB();
|
||||||
|
return physical_res < MIN_FREE_MAIN_MEMORY;
|
||||||
|
}
|
||||||
|
// </FS:Ansariel>
|
||||||
|
|
||||||
//static
|
//static
|
||||||
void LLViewerTexture::updateClass()
|
void LLViewerTexture::updateClass()
|
||||||
{
|
{
|
||||||
|
|
@ -538,12 +562,33 @@ void LLViewerTexture::updateClass()
|
||||||
sFreeVRAMMegabytes = target - used;
|
sFreeVRAMMegabytes = target - used;
|
||||||
|
|
||||||
F32 over_pct = llmax((used-target) / target, 0.f);
|
F32 over_pct = llmax((used-target) / target, 0.f);
|
||||||
|
// <FS:Ansariel> Restrict texture memory by available physical system memory
|
||||||
|
//sDesiredDiscardBias = llmax(sDesiredDiscardBias, 1.f + over_pct);
|
||||||
|
|
||||||
|
//if (sDesiredDiscardBias > 1.f)
|
||||||
|
//{
|
||||||
|
// sDesiredDiscardBias -= gFrameIntervalSeconds * 0.01;
|
||||||
|
//}
|
||||||
|
|
||||||
|
if (isSystemMemoryForTextureLow())
|
||||||
|
{
|
||||||
|
// System RAM is low -> ramp up discard bias over time to free memory
|
||||||
|
if (sEvaluationTimer.getElapsedTimeF32() > GPU_MEMORY_CHECK_WAIT_TIME)
|
||||||
|
{
|
||||||
|
sDesiredDiscardBias += llmax(.1f, over_pct); // add at least 10% over-percentage
|
||||||
|
sEvaluationTimer.reset();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
sDesiredDiscardBias = llmax(sDesiredDiscardBias, 1.f + over_pct);
|
sDesiredDiscardBias = llmax(sDesiredDiscardBias, 1.f + over_pct);
|
||||||
|
|
||||||
if (sDesiredDiscardBias > 1.f)
|
if (sDesiredDiscardBias > 1.f)
|
||||||
{
|
{
|
||||||
sDesiredDiscardBias -= gFrameIntervalSeconds * 0.01;
|
sDesiredDiscardBias -= gFrameIntervalSeconds * 0.01;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
// </FS:Ansariel>
|
||||||
|
|
||||||
LLViewerTexture::sFreezeImageUpdates = false; // sDesiredDiscardBias > (desired_discard_bias_max - 1.0f);
|
LLViewerTexture::sFreezeImageUpdates = false; // sDesiredDiscardBias > (desired_discard_bias_max - 1.0f);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -950,6 +950,12 @@ void LLViewerTextureList::updateImageDecodePriority(LLViewerFetchedTexture* imag
|
||||||
|
|
||||||
if (face && face->getViewerObject() && face->getTextureEntry())
|
if (face && face->getViewerObject() && face->getTextureEntry())
|
||||||
{
|
{
|
||||||
|
// <FS:Beq> Fix Blurry textures and use importance weight
|
||||||
|
F32 radius;
|
||||||
|
F32 cos_angle_to_view_dir;
|
||||||
|
bool in_frustum = face->calcPixelArea(cos_angle_to_view_dir, radius);
|
||||||
|
static LLCachedControl<F32> bias_unimportant_threshold(gSavedSettings, "TextureBiasUnimportantFactor", 0.25f);
|
||||||
|
// </FS:Beq>
|
||||||
F32 vsize = face->getPixelArea();
|
F32 vsize = face->getPixelArea();
|
||||||
|
|
||||||
// Scale desired texture resolution higher or lower depending on texture scale
|
// Scale desired texture resolution higher or lower depending on texture scale
|
||||||
|
|
@ -963,13 +969,16 @@ void LLViewerTextureList::updateImageDecodePriority(LLViewerFetchedTexture* imag
|
||||||
min_scale = llclamp(min_scale*min_scale, texture_scale_min(), texture_scale_max());
|
min_scale = llclamp(min_scale*min_scale, texture_scale_min(), texture_scale_max());
|
||||||
|
|
||||||
vsize /= min_scale;
|
vsize /= min_scale;
|
||||||
vsize /= LLViewerTexture::sDesiredDiscardBias;
|
// <FS:Beq> Fix Blurry textures and use importance weight
|
||||||
vsize /= llmax(1.f, (LLViewerTexture::sDesiredDiscardBias-1.f) * (1.f + face->getDrawable()->mDistanceWRTCamera * bias_distance_scale));
|
// vsize /= LLViewerTexture::sDesiredDiscardBias;
|
||||||
|
// vsize /= llmax(1.f, (LLViewerTexture::sDesiredDiscardBias-1.f) * (1.f + face->getDrawable()->mDistanceWRTCamera * bias_distance_scale));
|
||||||
|
|
||||||
F32 radius;
|
// F32 radius;
|
||||||
F32 cos_angle_to_view_dir;
|
// F32 cos_angle_to_view_dir;
|
||||||
bool in_frustum = face->calcPixelArea(cos_angle_to_view_dir, radius);
|
// bool in_frustum = face->calcPixelArea(cos_angle_to_view_dir, radius);
|
||||||
if (!in_frustum || !face->getDrawable()->isVisible())
|
// if (!in_frustum || !face->getDrawable()->isVisible())
|
||||||
|
// </FS:Beq>
|
||||||
|
if (!in_frustum || !face->getDrawable()->isVisible() || face->getImportanceToCamera() < bias_unimportant_threshold)
|
||||||
{ // further reduce by discard bias when off screen or occluded
|
{ // further reduce by discard bias when off screen or occluded
|
||||||
vsize /= LLViewerTexture::sDesiredDiscardBias;
|
vsize /= LLViewerTexture::sDesiredDiscardBias;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4968,8 +4968,12 @@ void LLVOAvatar::updateOrientation(LLAgent& agent, F32 speed, F32 delta_time)
|
||||||
|
|
||||||
LLVector3 pelvisDir( mRoot->getWorldMatrix().getFwdRow4().mV );
|
LLVector3 pelvisDir( mRoot->getWorldMatrix().getFwdRow4().mV );
|
||||||
|
|
||||||
const F32 AVATAR_PELVIS_ROTATE_THRESHOLD_SLOW = 60.0f;
|
// <FS:Beq> FIRE-34196 Restore the pelvis rotation threshold config removed by LL as "unused"
|
||||||
const F32 AVATAR_PELVIS_ROTATE_THRESHOLD_FAST = 2.0f;
|
// const F32 AVATAR_PELVIS_ROTATE_THRESHOLD_SLOW = 60.0f;
|
||||||
|
// const F32 AVATAR_PELVIS_ROTATE_THRESHOLD_FAST = 2.0f;
|
||||||
|
static LLCachedControl<F32> AVATAR_PELVIS_ROTATE_THRESHOLD_SLOW(gSavedSettings, "AvatarRotateThresholdSlow", 60.0);
|
||||||
|
static LLCachedControl<F32> AVATAR_PELVIS_ROTATE_THRESHOLD_FAST(gSavedSettings, "AvatarRotateThresholdFast", 2.0);
|
||||||
|
// </FS:Beq>
|
||||||
|
|
||||||
F32 pelvis_rot_threshold = clamp_rescale(speed, 0.1f, 1.0f, AVATAR_PELVIS_ROTATE_THRESHOLD_SLOW, AVATAR_PELVIS_ROTATE_THRESHOLD_FAST);
|
F32 pelvis_rot_threshold = clamp_rescale(speed, 0.1f, 1.0f, AVATAR_PELVIS_ROTATE_THRESHOLD_SLOW, AVATAR_PELVIS_ROTATE_THRESHOLD_FAST);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
<llsd>
|
|
||||||
<map>
|
|
||||||
<key>FSShowChatType</key>
|
|
||||||
<map>
|
|
||||||
<key>Comment</key>
|
|
||||||
<string>Shows/Hides the chat type selector (Whisper, Say, Shout)</string>
|
|
||||||
<key>Persist</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>Type</key>
|
|
||||||
<string>Boolean</string>
|
|
||||||
<key>Value</key>
|
|
||||||
<integer>0</integer>
|
|
||||||
</map>
|
|
||||||
</map>
|
|
||||||
</llsd>
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||||
<panel name="Texture">
|
<panel name="Texture" label="Textur">
|
||||||
<panel.string name="paste_error_face_selection_mismatch">
|
<panel.string name="paste_error_face_selection_mismatch">
|
||||||
Falls mehrere Flächen kopiert werden, müssen auf dem Zielobjekt dieselbe Anzahl an Flächen selektiert sein.
|
Falls mehrere Flächen kopiert werden, müssen auf dem Zielobjekt dieselbe Anzahl an Flächen selektiert sein.
|
||||||
</panel.string>
|
</panel.string>
|
||||||
|
|
|
||||||
|
|
@ -3282,14 +3282,14 @@ Low ↔ Lwst
|
||||||
top_pad="8"
|
top_pad="8"
|
||||||
width="132" />
|
width="132" />
|
||||||
</panel>
|
</panel>
|
||||||
|
<!-- <FS:Zi> switchable edit texture/materials panel
|
||||||
<panel
|
<panel
|
||||||
label="Texture"
|
label="Texture"
|
||||||
help_topic="toolbox_texture_tab"
|
help_topic="toolbox_texture_tab"
|
||||||
name="Texture">
|
name="Texture">
|
||||||
<!-- <FS:Zi> switchable edit texture/materials panel
|
|
||||||
filename="panel_tools_texture.xml">
|
filename="panel_tools_texture.xml">
|
||||||
-->
|
|
||||||
</panel>
|
</panel>
|
||||||
|
-->
|
||||||
<panel
|
<panel
|
||||||
border="false"
|
border="false"
|
||||||
follows="all"
|
follows="all"
|
||||||
|
|
|
||||||
|
|
@ -111,7 +111,6 @@
|
||||||
name="base_color_tint_picker"
|
name="base_color_tint_picker"
|
||||||
label="Tint"
|
label="Tint"
|
||||||
can_apply_immediately="true"
|
can_apply_immediately="true"
|
||||||
allow_no_texture="true"
|
|
||||||
tool_tip="Click to choose the base color tint"
|
tool_tip="Click to choose the base color tint"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
|
@ -2110,7 +2109,6 @@
|
||||||
max_val="255"
|
max_val="255"
|
||||||
increment="1"
|
increment="1"
|
||||||
decimal_digits="0"
|
decimal_digits="0"
|
||||||
text_readonly_color="LabelDisabledColor"
|
|
||||||
enabled_control="FSInternalFaceHasBPSpecularMap"
|
enabled_control="FSInternalFaceHasBPSpecularMap"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
|
@ -2958,7 +2956,6 @@
|
||||||
top_pad="5"
|
top_pad="5"
|
||||||
right="-4"
|
right="-4"
|
||||||
height="2"
|
height="2"
|
||||||
visibility_control="FSInternalCanEditObjectFaces"
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<panel
|
<panel
|
||||||
|
|
|
||||||
|
|
@ -501,7 +501,6 @@ Bas ↔ + bas
|
||||||
<spinner label="Densité en 100 kg/m^3" name="Physics Density"/>
|
<spinner label="Densité en 100 kg/m^3" name="Physics Density"/>
|
||||||
<spinner label="Restitution" name="Physics Restitution"/>
|
<spinner label="Restitution" name="Physics Restitution"/>
|
||||||
</panel>
|
</panel>
|
||||||
<panel label="Texture" name="Texture"/>
|
|
||||||
<panel label="Contenu" name="Contents">
|
<panel label="Contenu" name="Contents">
|
||||||
<button label="Nouveau script" label_selected="Nouveau script" name="button new script"/>
|
<button label="Nouveau script" label_selected="Nouveau script" name="button new script"/>
|
||||||
<button label="Droits" name="button permissions"/>
|
<button label="Droits" name="button permissions"/>
|
||||||
|
|
|
||||||
|
|
@ -54,9 +54,9 @@ Concurrence: [CONCURRENCY]
|
||||||
Version OS : [OS_VERSION]
|
Version OS : [OS_VERSION]
|
||||||
Distributeur de cartes graphiques : [GRAPHICS_CARD_VENDOR]
|
Distributeur de cartes graphiques : [GRAPHICS_CARD_VENDOR]
|
||||||
Carte graphique : [GRAPHICS_CARD]
|
Carte graphique : [GRAPHICS_CARD]
|
||||||
Mémoire de cartes graphiques : [GRAPHICS_CARD_MEMORY] MB
|
Mémoire de carte graphique : [GRAPHICS_CARD_MEMORY] Mo
|
||||||
Mémoire de cartes graphiques (Detected): [GRAPHICS_CARD_MEMORY_DETECTED] MB
|
Mémoire de carte graphique (Détectée): [GRAPHICS_CARD_MEMORY_DETECTED] Mo
|
||||||
Mémoire de cartes graphiques (Budget): [VRAM_BUDGET]
|
Mémoire de carte graphique (Capacité): [VRAM_BUDGET]
|
||||||
</string>
|
</string>
|
||||||
<string name="AboutDriver">
|
<string name="AboutDriver">
|
||||||
Version Windows Graphics Driver : [GRAPHICS_DRIVER_VERSION]
|
Version Windows Graphics Driver : [GRAPHICS_DRIVER_VERSION]
|
||||||
|
|
@ -7135,4 +7135,7 @@ Votre position actuelle : [AVATAR_POS]
|
||||||
<string name="OpenSimInventoryValidationErrorGenericHelp">
|
<string name="OpenSimInventoryValidationErrorGenericHelp">
|
||||||
l'équipe d'assistance de votre gestionnaire de grille
|
l'équipe d'assistance de votre gestionnaire de grille
|
||||||
</string>
|
</string>
|
||||||
|
<string name="Unlimited">
|
||||||
|
Illimité
|
||||||
|
</string>
|
||||||
</strings>
|
</strings>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<floater name="floater_combo">
|
||||||
|
<text name="combo_text">
|
||||||
|
Seleziona un'opzione:
|
||||||
|
</text>
|
||||||
|
<button label="Annulla" name="combo_cancel" />
|
||||||
|
</floater>
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
<floater name="emojipicker" title="Scegli Emoji">
|
<floater name="emojipicker" title="Scegli Emoji">
|
||||||
<floater.string name="title_for_recently_used" value="Usate di recente"/>
|
<floater.string name="title_for_recently_used" value="Usate di recente"/>
|
||||||
<floater.string name="title_for_frequently_used" value="Usate di frequente"/>
|
<floater.string name="title_for_frequently_used" value="Usate di frequente"/>
|
||||||
|
<floater.string name="text_no_emoji_for_filter" value="Nessuna emoji trovata per '[FILTER]'"/>
|
||||||
<text name="Dummy">
|
<text name="Dummy">
|
||||||
Nessuna emoji selezionata
|
Nessuna emoji selezionata
|
||||||
</text>
|
</text>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||||
|
<floater name="contents" title="Assistente Miniature Inventario">
|
||||||
|
<scroll_list name="inventory_thumbnails_list" tool_tip="Incolla elementi dal tuo inventario">
|
||||||
|
<scroll_list.columns label="Elemento" name="item_name" />
|
||||||
|
<scroll_list.columns label="Immagine Attuale" name="existing_texture" />
|
||||||
|
<scroll_list.columns label="Nuova Immagine" name="new_texture" />
|
||||||
|
</scroll_list>
|
||||||
|
<button label="Incolla elementi dal tuo inventario" name="paste_items_btn" />
|
||||||
|
<button label="Incolla immagini dal tuo inventario" name="paste_textures_btn" />
|
||||||
|
<button label="Salva miniature" name="write_thumbnails_btn" />
|
||||||
|
<button label="Registra elementi senza miniatura" name="log_missing_thumbnails_btn" />
|
||||||
|
<button label="Rimuovi miniature dagli elementi incollati" name="clear_thumbnails_btn" />
|
||||||
|
</floater>
|
||||||
|
|
@ -25,7 +25,6 @@ https://wiki.firestormviewer.org/fs_media
|
||||||
per cercare di risolvere il problema.
|
per cercare di risolvere il problema.
|
||||||
</text>
|
</text>
|
||||||
<button label="Apri nel web browser" name="open_browser"/>
|
<button label="Apri nel web browser" name="open_browser"/>
|
||||||
<check_box label="Apri sempre nel web browser" name="open_always"/>
|
|
||||||
<button label="Chiudi" name="close"/>
|
<button label="Chiudi" name="close"/>
|
||||||
</layout_panel>
|
</layout_panel>
|
||||||
</layout_stack>
|
</layout_stack>
|
||||||
|
|
|
||||||
|
|
@ -12,9 +12,6 @@
|
||||||
<floater.string name="step_wait">
|
<floater.string name="step_wait">
|
||||||
Attendi:
|
Attendi:
|
||||||
</floater.string>
|
</floater.string>
|
||||||
<floater.string name="stop_txt">
|
|
||||||
Stop
|
|
||||||
</floater.string>
|
|
||||||
<floater.string name="preview_txt">
|
<floater.string name="preview_txt">
|
||||||
Anteprima
|
Anteprima
|
||||||
</floater.string>
|
</floater.string>
|
||||||
|
|
@ -58,13 +55,9 @@
|
||||||
<text name="options_text">
|
<text name="options_text">
|
||||||
(opzioni)
|
(opzioni)
|
||||||
</text>
|
</text>
|
||||||
<radio_group name="animation_trigger_type">
|
<check_box label="fino al rilascio del pulsante" name="wait_key_release_check" />
|
||||||
<radio_item label="Avvia" name="start"/>
|
<check_box label="fino alla fine dell'animazione" name="wait_anim_check"/>
|
||||||
<radio_item label="Ferma" name="stop"/>
|
|
||||||
</radio_group>
|
|
||||||
<check_box label="finché le animazioni sono eseguite" name="wait_anim_check"/>
|
|
||||||
<check_box label="durata in secondi:" name="wait_time_check"/>
|
<check_box label="durata in secondi:" name="wait_time_check"/>
|
||||||
<line_editor name="wait_time_editor"/>
|
|
||||||
<text name="help_label">
|
<text name="help_label">
|
||||||
Tutte le fasi avvengono contemporaneamente, a meno che non aggiungi fasi di attesa.
|
Tutte le fasi avvengono contemporaneamente, a meno che non aggiungi fasi di attesa.
|
||||||
</text>
|
</text>
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,13 @@
|
||||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
<floater name="Scene Load Statistics" title="Statistiche Caricamento Scena">
|
<floater name="Scene Load Statistics" title="Statistiche Caricamento Scena">
|
||||||
<button label="In pausa" name="playpause"/>
|
|
||||||
<scroll_container name="statistics_scroll">
|
<scroll_container name="statistics_scroll">
|
||||||
<container_view name="statistics_view">
|
<container_view name="statistics_view">
|
||||||
<stat_view label="Di base" name="basic">
|
<stat_view label="Basic" name="basic">
|
||||||
<stat_bar label="Differenza pixel tra fotogrammi" name="frame difference"/>
|
<stat_bar label="Differenza pixel tra fotogrammi" name="frame difference"/>
|
||||||
<stat_bar label="Dati UDP ricevuti" name="bandwidth"/>
|
<stat_bar label="Dati UDP ricevuti" name="bandwidth"/>
|
||||||
<stat_bar label="Perdita pacchetti" name="packet_loss"/>
|
<stat_bar label="Perdita pacchetti" name="packet_loss"/>
|
||||||
</stat_view>
|
</stat_view>
|
||||||
<stat_view label="Avanzata" name="advanced">
|
<stat_view label="Avanzate" name="advanced">
|
||||||
<stat_view label="Render" name="render">
|
<stat_view label="Render" name="render">
|
||||||
<stat_bar label="Totale oggetti" name="objs"/>
|
<stat_bar label="Totale oggetti" name="objs"/>
|
||||||
<stat_bar label="Nuovi oggetti" name="newobjs"/>
|
<stat_bar label="Nuovi oggetti" name="newobjs"/>
|
||||||
|
|
@ -17,6 +16,10 @@
|
||||||
<stat_view label="Texture" name="texture">
|
<stat_view label="Texture" name="texture">
|
||||||
<stat_bar label="Hit rate della cache" name="texture_cache_hits"/>
|
<stat_bar label="Hit rate della cache" name="texture_cache_hits"/>
|
||||||
<stat_bar label="Latenza di lettura della cache" name="texture_cache_read_latency"/>
|
<stat_bar label="Latenza di lettura della cache" name="texture_cache_read_latency"/>
|
||||||
|
<stat_bar label="Latenza di decodifica della cache" name="texture_decode_latency"/>
|
||||||
|
<stat_bar label="Latenza di scrittura della cache" name="texture_write_latency"/>
|
||||||
|
<stat_bar label="Latenza di recupero della cache" name="texture_fetch_latency"/>
|
||||||
|
<stat_bar label="Tempo di recupero della cache" name="texture_fetch_time"/>
|
||||||
<stat_bar label="Conteggio" name="numimagesstat"/>
|
<stat_bar label="Conteggio" name="numimagesstat"/>
|
||||||
<stat_bar label="Conteggio grezzo" name="numrawimagesstat"/>
|
<stat_bar label="Conteggio grezzo" name="numrawimagesstat"/>
|
||||||
</stat_view>
|
</stat_view>
|
||||||
|
|
@ -41,7 +44,7 @@
|
||||||
<stat_bar label="Caricamenti in attesa" name="simpendinguploads"/>
|
<stat_bar label="Caricamenti in attesa" name="simpendinguploads"/>
|
||||||
<stat_bar label="Numero totale byte non confermati (Unacked)" name="simtotalunackedbytes"/>
|
<stat_bar label="Numero totale byte non confermati (Unacked)" name="simtotalunackedbytes"/>
|
||||||
<stat_view label="Tempo (ms)" name="simperf">
|
<stat_view label="Tempo (ms)" name="simperf">
|
||||||
<stat_bar label="Tempo totale Frame" name="simframemsec"/>
|
<stat_bar label="Tempo totale frame" name="simframemsec"/>
|
||||||
<stat_bar label="Tempo netto" name="simnetmsec"/>
|
<stat_bar label="Tempo netto" name="simnetmsec"/>
|
||||||
<stat_bar label="Tempo motore fisico" name="simsimphysicsmsec"/>
|
<stat_bar label="Tempo motore fisico" name="simsimphysicsmsec"/>
|
||||||
<stat_bar label="Tempo simulazione" name="simsimothermsec"/>
|
<stat_bar label="Tempo simulazione" name="simsimothermsec"/>
|
||||||
|
|
@ -50,14 +53,21 @@
|
||||||
<stat_bar label="Tempo script" name="simscriptmsec"/>
|
<stat_bar label="Tempo script" name="simscriptmsec"/>
|
||||||
<stat_bar label="Tempo libero" name="simsparemsec"/>
|
<stat_bar label="Tempo libero" name="simsparemsec"/>
|
||||||
<stat_view label="Dettagli tempo (ms)" name="timedetails">
|
<stat_view label="Dettagli tempo (ms)" name="timedetails">
|
||||||
<stat_bar label="Passaggio fisica" name="simsimphysicsstepmsec"/>
|
<stat_bar label=" Step della fisica" name="simsimphysicsstepmsec"/>
|
||||||
<stat_bar label="Aggiorna forme fisica" name="simsimphysicsshapeupdatemsec"/>
|
<stat_bar label=" Update forme fisiche" name="simsimphysicsshapeupdatemsec"/>
|
||||||
<stat_bar label="Altro fisica" name="simsimphysicsothermsec"/>
|
<stat_bar label=" Fisica altro" name="simsimphysicsothermsec"/>
|
||||||
<stat_bar label="Tempo pausa" name="simsleepmsec"/>
|
<stat_bar label=" Tempo di pausa" name="simsleepmsec"/>
|
||||||
<stat_bar label="IO pompa" name="simpumpiomsec"/>
|
<stat_bar label=" Pump IO" name="simpumpiomsec"/>
|
||||||
</stat_view>
|
</stat_view>
|
||||||
</stat_view>
|
</stat_view>
|
||||||
</stat_view>
|
</stat_view>
|
||||||
|
<stat_view name="frame_stats" label="Frame breakdown">
|
||||||
|
<stat_bar name="scenery_frame_pct" label="Scena" />
|
||||||
|
<stat_bar name="avatar_frame_pct" label="Avatar" />
|
||||||
|
<stat_bar name="ui_frame_pct" label="Interfaccia" />
|
||||||
|
<stat_bar name="huds_frame_pct" label="HUD" />
|
||||||
|
<stat_bar name="idle_frame_pct" label="Task" />
|
||||||
|
</stat_view>
|
||||||
</container_view>
|
</container_view>
|
||||||
</scroll_container>
|
</scroll_container>
|
||||||
</floater>
|
</floater>
|
||||||
|
|
|
||||||
|
|
@ -142,7 +142,7 @@
|
||||||
[CAPACITY_STRING] [secondlife:///app/openfloater/object_weights Maggiori informazioni]
|
[CAPACITY_STRING] [secondlife:///app/openfloater/object_weights Maggiori informazioni]
|
||||||
</text>
|
</text>
|
||||||
<tab_container name="Object Info Tabs">
|
<tab_container name="Object Info Tabs">
|
||||||
<panel label="Generale" name="General">
|
<panel label="Gener." name="General">
|
||||||
<panel.string name="text deed continued">
|
<panel.string name="text deed continued">
|
||||||
Cedi
|
Cedi
|
||||||
</panel.string>
|
</panel.string>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
<floater name="whitelist_floater" title="Whitelist File e Cartelle">
|
||||||
|
<text name="whitelist_intro">
|
||||||
|
Antivirus e antimalware sono una parte essenziale dell'utilizzo sicuro di internet, ma possono causare una serie di problemi al viewer.
|
||||||
|
Per ridurre le interferenze e migliorare la stabilità e le prestazioni, consigliamo vivamente a tutti gli utenti di assicurarsi che siano previste esclusioni (note come Whitelist) per cartelle e programmi importanti utilizzati dal viewer.
|
||||||
|
|
||||||
|
Per informazioni più dettagliate, visita:
|
||||||
|
https://wiki.firestormviewer.org/antivirus_whitelisting
|
||||||
|
</text>
|
||||||
|
<text name="whitelist_folder_instruction">
|
||||||
|
Per semplificare l'attività, qui sotto sono elencate tutte le cartelle utilizzate dal viewer.
|
||||||
|
Aggiungile alle esclusioni del tuo antivirus come spiegato nella pagina del Wiki linkata sopra.
|
||||||
|
</text>
|
||||||
|
<text name="whitelist_exe_instruction">
|
||||||
|
Qui sotto sono elencati i nomi e il loro percorso completo dei file eseguibili del viewer.
|
||||||
|
Aggiungili alle esclusioni del tuo antivirus come spiegato nella pagina del Wiki linkata sopra.
|
||||||
|
</text>
|
||||||
|
</floater>
|
||||||
|
|
@ -4,6 +4,10 @@
|
||||||
<menu_item_call label="Aggiungi all'abito attuale" name="wear_add"/>
|
<menu_item_call label="Aggiungi all'abito attuale" name="wear_add"/>
|
||||||
<menu_item_call label="Rimuovi dall'abito attuale" name="take_off"/>
|
<menu_item_call label="Rimuovi dall'abito attuale" name="take_off"/>
|
||||||
<menu_item_call label="Immagine..." name="thumbnail" />
|
<menu_item_call label="Immagine..." name="thumbnail" />
|
||||||
|
<menu_item_call label="Modifica abito" name="edit"/>
|
||||||
|
<menu_item_call label="Rinomina abito" name="rename"/>
|
||||||
|
<menu_item_call label="Salva su questo abito" name="save" />
|
||||||
|
<menu_item_call label="Elimina abito" name="delete"/>
|
||||||
<menu name="New Clothes" label="Nuovo indumento">
|
<menu name="New Clothes" label="Nuovo indumento">
|
||||||
<menu_item_call label="Nuova camicia" name="New Shirt"/>
|
<menu_item_call label="Nuova camicia" name="New Shirt"/>
|
||||||
<menu_item_call label="Nuovi pantaloni" name="New Pants"/>
|
<menu_item_call label="Nuovi pantaloni" name="New Pants"/>
|
||||||
|
|
@ -25,7 +29,4 @@
|
||||||
<menu_item_call label="Nuovi capelli" name="New Hair"/>
|
<menu_item_call label="Nuovi capelli" name="New Hair"/>
|
||||||
<menu_item_call label="Nuovi occhi" name="New Eyes"/>
|
<menu_item_call label="Nuovi occhi" name="New Eyes"/>
|
||||||
</menu>
|
</menu>
|
||||||
<menu_item_call label="Modifica abito" name="edit"/>
|
|
||||||
<menu_item_call label="Rinomina abito" name="rename"/>
|
|
||||||
<menu_item_call label="Elimina abito" name="delete"/>
|
|
||||||
</context_menu>
|
</context_menu>
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@
|
||||||
<menu_item_call label="Svuota Cestino" name="Empty Trash"/>
|
<menu_item_call label="Svuota Cestino" name="Empty Trash"/>
|
||||||
<menu_item_call label="Svuota Oggetti smarriti" name="Empty Lost And Found"/>
|
<menu_item_call label="Svuota Oggetti smarriti" name="Empty Lost And Found"/>
|
||||||
<menu_item_call label="Nuova cartella" name="New Folder"/>
|
<menu_item_call label="Nuova cartella" name="New Folder"/>
|
||||||
|
<menu_item_call label="Nuova cartella" name="New Listing Folder" />
|
||||||
<menu_item_call label="Nuovo abito" name="New Outfit" />
|
<menu_item_call label="Nuovo abito" name="New Outfit" />
|
||||||
<menu_item_call label="Nuovo script" name="New Script"/>
|
<menu_item_call label="Nuovo script" name="New Script"/>
|
||||||
<menu_item_call label="Nuova annotazione" name="New Note"/>
|
<menu_item_call label="Nuova annotazione" name="New Note"/>
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,12 @@
|
||||||
<menu_item_call label="Aggiungi all'abito attuale" name="wear_add"/>
|
<menu_item_call label="Aggiungi all'abito attuale" name="wear_add"/>
|
||||||
<menu_item_call label="Rimuovi dall'abito attuale" name="take_off"/>
|
<menu_item_call label="Rimuovi dall'abito attuale" name="take_off"/>
|
||||||
<menu_item_call label="Immagine..." name="thumbnail" />
|
<menu_item_call label="Immagine..." name="thumbnail" />
|
||||||
|
<menu_item_call label="Rinomina abito" name="rename"/>
|
||||||
|
<menu_item_call label="Salva su questo abito" name="save" />
|
||||||
|
<menu_item_call label="Elimina abito" name="delete_outfit"/>
|
||||||
|
<menu_item_check label="Ordina sempre le cartelle in base al nome" name="sort_folders_by_name" />
|
||||||
|
<menu_item_call label="Apri tutte le cartelle" name="expand"/>
|
||||||
|
<menu_item_call label="Chiudi tutte le cartelle" name="collapse"/>
|
||||||
<context_menu label="Nuovo indumento" name="New Clothes">
|
<context_menu label="Nuovo indumento" name="New Clothes">
|
||||||
<menu_item_call label="Nuova camicia" name="New Shirt"/>
|
<menu_item_call label="Nuova camicia" name="New Shirt"/>
|
||||||
<menu_item_call label="Nuovi pantaloni" name="New Pants"/>
|
<menu_item_call label="Nuovi pantaloni" name="New Pants"/>
|
||||||
|
|
@ -25,9 +31,4 @@
|
||||||
<menu_item_call label="Nuovi capelli" name="New Hair"/>
|
<menu_item_call label="Nuovi capelli" name="New Hair"/>
|
||||||
<menu_item_call label="Nuovi occhi" name="New Eyes"/>
|
<menu_item_call label="Nuovi occhi" name="New Eyes"/>
|
||||||
</context_menu>
|
</context_menu>
|
||||||
<menu_item_call label="Apri tutte le cartelle" name="expand"/>
|
|
||||||
<menu_item_call label="Chiudi tutte le cartelle" name="collapse"/>
|
|
||||||
<menu_item_call label="Rinomina abito" name="rename"/>
|
|
||||||
<menu_item_call label="Elimina abito" name="delete_outfit"/>
|
|
||||||
<menu_item_check label="Ordina sempre le cartelle in base al nome" name="sort_folders_by_name" />
|
|
||||||
</toggleable_menu>
|
</toggleable_menu>
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,9 @@
|
||||||
<menu_item_call label="Sostituisci abito attuale" name="wear_replace"/>
|
<menu_item_call label="Sostituisci abito attuale" name="wear_replace"/>
|
||||||
<menu_item_call label="Aggiungi all'abito attuale" name="wear_add"/>
|
<menu_item_call label="Aggiungi all'abito attuale" name="wear_add"/>
|
||||||
<menu_item_call label="Rimuovi dall'abito attuale" name="take_off"/>
|
<menu_item_call label="Rimuovi dall'abito attuale" name="take_off"/>
|
||||||
|
<menu_item_call label="Immagine..." name="thumbnail" />
|
||||||
<menu_item_call label="Modifica abito" name="edit"/>
|
<menu_item_call label="Modifica abito" name="edit"/>
|
||||||
<menu_item_call label="Rinomina abito" name="rename"/>
|
<menu_item_call label="Rinomina abito" name="rename"/>
|
||||||
|
<menu_item_call label="Salva su questo abito" name="save" />
|
||||||
<menu_item_call label="Elimina abito" name="delete"/>
|
<menu_item_call label="Elimina abito" name="delete"/>
|
||||||
</context_menu>
|
</context_menu>
|
||||||
|
|
|
||||||
|
|
@ -4,4 +4,5 @@
|
||||||
<menu_item_call label="Maggiori informazioni" name="More Information"/>
|
<menu_item_call label="Maggiori informazioni" name="More Information"/>
|
||||||
<menu_item_call label="Mostra sulla mappa" name="show_on_map" />
|
<menu_item_call label="Mostra sulla mappa" name="show_on_map" />
|
||||||
<menu_item_call label="Copia SLurl" name="CopyToClipboard"/>
|
<menu_item_call label="Copia SLurl" name="CopyToClipboard"/>
|
||||||
|
<menu_item_call label="Rimuovi dallo storico" name="remove_from_history" />
|
||||||
</toggleable_menu>
|
</toggleable_menu>
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@
|
||||||
<menu label="Stacca" name="Avatar Detach" />
|
<menu label="Stacca" name="Avatar Detach" />
|
||||||
<menu_item_call label="Stacca tutti" name="Detach All" />
|
<menu_item_call label="Stacca tutti" name="Detach All" />
|
||||||
</menu>
|
</menu>
|
||||||
|
<menu_item_call label="Rimuovi elementi selezionati" name="Remove Selected Attachments" />
|
||||||
<menu_item_call label="Seleziona un avatar" name="Avatar Picker"/>
|
<menu_item_call label="Seleziona un avatar" name="Avatar Picker"/>
|
||||||
<menu_item_call label="Altezza da terra" name="HoverHeight" />
|
<menu_item_call label="Altezza da terra" name="HoverHeight" />
|
||||||
<menu label="Movimento" name="Movement">
|
<menu label="Movimento" name="Movement">
|
||||||
|
|
@ -288,6 +289,7 @@
|
||||||
<menu_item_check label="Guida in linea" name="How To"/>
|
<menu_item_check label="Guida in linea" name="How To"/>
|
||||||
<menu_item_call label="Aiuto su [CURRENT_GRID]" name="current_grid_help"/>
|
<menu_item_call label="Aiuto su [CURRENT_GRID]" name="current_grid_help"/>
|
||||||
<menu_item_call label="Informazioni su [CURRENT_GRID]" name="current_grid_about"/>
|
<menu_item_call label="Informazioni su [CURRENT_GRID]" name="current_grid_about"/>
|
||||||
|
<menu_item_call label="Whitelist File e Cartelle" name="whitelist_folders"/>
|
||||||
<menu_item_check label="Controlla stato della grid" name="Grid Status"/>
|
<menu_item_check label="Controlla stato della grid" name="Grid Status"/>
|
||||||
<menu_item_call label="Segnala un abuso" name="Report Abuse"/>
|
<menu_item_call label="Segnala un abuso" name="Report Abuse"/>
|
||||||
<menu_item_call label="Segnala un bug" name="Report Bug"/>
|
<menu_item_call label="Segnala un bug" name="Report Bug"/>
|
||||||
|
|
@ -551,6 +553,7 @@
|
||||||
<menu_item_call label="Test browser multimediale" name="Web Browser Test"/>
|
<menu_item_call label="Test browser multimediale" name="Web Browser Test"/>
|
||||||
<menu_item_check label="Test riavvio regione" name="Region Restart Test"/>
|
<menu_item_check label="Test riavvio regione" name="Region Restart Test"/>
|
||||||
<menu_item_call label="Browser contenuti web" name="Web Content Browser"/>
|
<menu_item_call label="Browser contenuti web" name="Web Content Browser"/>
|
||||||
|
<menu_item_call label="Assistente Miniature Inventario" name="Inventory Thumbnails Helper" />
|
||||||
<menu_item_call label="Scarica caratteri" name="Dump Fonts" />
|
<menu_item_call label="Scarica caratteri" name="Dump Fonts" />
|
||||||
<menu_item_call label="Scarica texture dei caratteri" name="Dump Font Textures" />
|
<menu_item_call label="Scarica texture dei caratteri" name="Dump Font Textures" />
|
||||||
<menu_item_call label="Test connessione FB" name="FB Connect Test"/>
|
<menu_item_call label="Test connessione FB" name="FB Connect Test"/>
|
||||||
|
|
@ -566,6 +569,7 @@
|
||||||
<menu_item_check label="Debug clic" name="Debug Clicks"/>
|
<menu_item_check label="Debug clic" name="Debug Clicks"/>
|
||||||
<menu_item_check label="Debug visualizzazione" name="Debug Views"/>
|
<menu_item_check label="Debug visualizzazione" name="Debug Views"/>
|
||||||
<menu_item_check label="Debug Unicode" name="Debug Unicode" />
|
<menu_item_check label="Debug Unicode" name="Debug Unicode" />
|
||||||
|
<menu_item_check label="Debug Controlli Camera" name="Debug Camera Controls" />
|
||||||
<menu_item_check label="Debug suggerimenti sul nome" name="Debug Name Tooltips"/>
|
<menu_item_check label="Debug suggerimenti sul nome" name="Debug Name Tooltips"/>
|
||||||
<menu_item_check label="Debug eventi mouse" name="Debug Mouse Events"/>
|
<menu_item_check label="Debug eventi mouse" name="Debug Mouse Events"/>
|
||||||
<menu_item_check label="Debug tasti" name="Debug Keys"/>
|
<menu_item_check label="Debug tasti" name="Debug Keys"/>
|
||||||
|
|
|
||||||
|
|
@ -103,6 +103,11 @@ Motivo: '[ERROR_REASON]' - [ERROR_DESCRIPTION]
|
||||||
L'attivazione di questa cartella di versione non è riuscita a causa dell'errore:
|
L'attivazione di questa cartella di versione non è riuscita a causa dell'errore:
|
||||||
|
|
||||||
'[ERROR_CODE]'
|
'[ERROR_CODE]'
|
||||||
|
</notification>
|
||||||
|
<notification name="InvalidKeystroke">
|
||||||
|
È stato premuto un tasto non valido.
|
||||||
|
[REASON].
|
||||||
|
Per favore inserisci il testo corretto.
|
||||||
</notification>
|
</notification>
|
||||||
<notification name="MerchantForceValidateListing">
|
<notification name="MerchantForceValidateListing">
|
||||||
Per creare l'annuncio, abbiamo corretto la gerarchia dei contenuti dell'annuncio.
|
Per creare l'annuncio, abbiamo corretto la gerarchia dei contenuti dell'annuncio.
|
||||||
|
|
@ -1513,25 +1518,25 @@ La texture del terreno [TEXTURE_NUM] è troppo grande se a [TEXTURE_SIZE_X]x[TEX
|
||||||
Sostituisci la texture [TEXTURE_NUM] con una texture RGB di dimensioni [MAX_SIZE]x[MAX_SIZE] o inferiori, quindi clicca nuovamente su 'Applica'.
|
Sostituisci la texture [TEXTURE_NUM] con una texture RGB di dimensioni [MAX_SIZE]x[MAX_SIZE] o inferiori, quindi clicca nuovamente su 'Applica'.
|
||||||
</notification>
|
</notification>
|
||||||
<notification name="InvalidTerrainMaterialNotLoaded">
|
<notification name="InvalidTerrainMaterialNotLoaded">
|
||||||
Impossibile impostare le texture della regione:
|
Impossibile impostare i materiali della regione:
|
||||||
Il materiale del terreno [MATERIAL_NUM] non è stato caricato.
|
Il materiale del terreno [MATERIAL_NUM] non è stato caricato.
|
||||||
|
|
||||||
Attendi il caricamento del materiale o sostituisci il materiale [MATERIAL_NUM] con un materiale corretto.
|
Attendi il caricamento del materiale o sostituisci il materiale [MATERIAL_NUM] con un materiale corretto.
|
||||||
</notification>
|
</notification>
|
||||||
<notification name="InvalidTerrainMaterialLoadFailed">
|
<notification name="InvalidTerrainMaterialLoadFailed">
|
||||||
Impossibile impostare le texture della regione:
|
Impossibile impostare i materiali della regione:
|
||||||
Il materiale del terreno [MATERIAL_NUM] non è stato caricato.
|
Il materiale del terreno [MATERIAL_NUM] non è stato caricato.
|
||||||
|
|
||||||
Sostituisci il materiale [MATERIAL_NUM] con un materiale corretto.
|
Sostituisci il materiale [MATERIAL_NUM] con un materiale corretto.
|
||||||
</notification>
|
</notification>
|
||||||
<notification name="InvalidTerrainMaterialDoubleSided">
|
<notification name="InvalidTerrainMaterialDoubleSided">
|
||||||
Impossibile impostare le texture della regione:
|
Impossibile impostare i materiali della regione:
|
||||||
Il materiale del terreno [MATERIAL_NUM] è a doppia faccia. I materiali a doppia faccia non sono attualmente supportati per il terreno PBR.
|
Il materiale del terreno [MATERIAL_NUM] è a doppia faccia. I materiali a doppia faccia non sono attualmente supportati per il terreno PBR.
|
||||||
|
|
||||||
Sostituisci il materiale [MATERIAL_NUM] con un materiale con doubleSided=false.
|
Sostituisci il materiale [MATERIAL_NUM] con un materiale con doubleSided=false.
|
||||||
</notification>
|
</notification>
|
||||||
<notification name="InvalidTerrainMaterialAlphaMode">
|
<notification name="InvalidTerrainMaterialAlphaMode">
|
||||||
Impossibile impostare le texture della regione:
|
Impossibile impostare i materiali della regione:
|
||||||
Il materiale del terreno [MATERIAL_NUM] utilizza alphaMode="[MATERIAL_ALPHA_MODE]" che non è supportato.
|
Il materiale del terreno [MATERIAL_NUM] utilizza alphaMode="[MATERIAL_ALPHA_MODE]" che non è supportato.
|
||||||
|
|
||||||
Sostituisci il materiale [MATERIAL_NUM] con un materiale con alphaMode="OPAQUE" o alphaMode="MASK".
|
Sostituisci il materiale [MATERIAL_NUM] con un materiale con alphaMode="OPAQUE" o alphaMode="MASK".
|
||||||
|
|
@ -1678,17 +1683,14 @@ Se il messaggio si ripresenta, controllare su [SUPPORT_SITE].
|
||||||
<usetemplate ignoretext="Conferma prima di restituire gli oggetti ai relativi proprietari" name="okcancelignore" notext="Annulla" />
|
<usetemplate ignoretext="Conferma prima di restituire gli oggetti ai relativi proprietari" name="okcancelignore" notext="Annulla" />
|
||||||
</notification>
|
</notification>
|
||||||
<notification name="GroupLeaveConfirmMember">
|
<notification name="GroupLeaveConfirmMember">
|
||||||
Attualmente sei un membro del gruppo <nolink>[GROUP]</nolink>.
|
Abbandona il gruppo '<nolink>[GROUP]</nolink>'?
|
||||||
Lasciare il gruppo?
|
La tariffa attuale per rientrare in questo gruppo è [COST]L$.
|
||||||
<usetemplate name="okcancelbuttons" notext="Annulla" />
|
<usetemplate name="okcancelbuttons" notext="Annulla" yestext="Abbandona" />
|
||||||
</notification>
|
</notification>
|
||||||
<notification name="GroupDepart">
|
<notification name="GroupLeaveConfirmMemberNoFee">
|
||||||
Hai lasciato il gruppo '<nolink>[group_name]</nolink>'.
|
Abbandona il gruppo '<nolink>[GROUP]</nolink>'?
|
||||||
</notification>
|
Al momento non è previsto alcun costo per rientrare in questo gruppo.
|
||||||
<notification name="GroupLeaveConfirmMemberWithFee">
|
<usetemplate name="okcancelbuttons" notext="Annulla" yestext="Abbandona" />
|
||||||
Attualmente sei membro del gruppo <nolink>[GROUP]</nolink>. Aderire nuovamente costa L$[AMOUNT].
|
|
||||||
Lasciare il gruppo?
|
|
||||||
<usetemplate name="okcancelbuttons" notext="Annulla" />
|
|
||||||
</notification>
|
</notification>
|
||||||
<notification name="OwnerCannotLeaveGroup">
|
<notification name="OwnerCannotLeaveGroup">
|
||||||
Impossibile abbandonare il gruppo. Non puoi abbandonare il gruppo perché sei l'ultimo proprietario del gruppo. Devi prima assegnare a un altro membro il ruolo di proprietario.
|
Impossibile abbandonare il gruppo. Non puoi abbandonare il gruppo perché sei l'ultimo proprietario del gruppo. Devi prima assegnare a un altro membro il ruolo di proprietario.
|
||||||
|
|
@ -2361,6 +2363,15 @@ Questa azione non può essere annullata.
|
||||||
Confermare la cancellazione?
|
Confermare la cancellazione?
|
||||||
<usetemplate ignoretext="Conferma prima di eliminare gli elementi filtrati" name="okcancelignore" notext="Annulla" />
|
<usetemplate ignoretext="Conferma prima di eliminare gli elementi filtrati" name="okcancelignore" notext="Annulla" />
|
||||||
</notification>
|
</notification>
|
||||||
|
<notification name="DeleteWornItems">
|
||||||
|
Alcuni elementi che desideri eliminare sono indossati sul tuo avatar.
|
||||||
|
Rimuovere questi elementi dal tuo avatar?
|
||||||
|
<usetemplate name="okcancelbuttons" notext="Anulla" yestext="Rimuovi ed elimina elementi" />
|
||||||
|
</notification>
|
||||||
|
<notification name="CantDeleteRequiredClothing">
|
||||||
|
Alcuni degli elementi che desideri eliminare sono obbligatori (pelle, corpo, capelli, occhi).
|
||||||
|
È necessario sostituire tali elementi prima di eliminarli.
|
||||||
|
</notification>
|
||||||
<notification name="DeleteThumbnail">
|
<notification name="DeleteThumbnail">
|
||||||
Eliminare l'immagine di questo elemento? Non sarà possibile annullare.
|
Eliminare l'immagine di questo elemento? Non sarà possibile annullare.
|
||||||
<usetemplate ignoretext="Conferma prima di eliminare l'immagine di un elemento in inventario." name="okcancelignore" notext="Annulla" yestext="Elimina" />
|
<usetemplate ignoretext="Conferma prima di eliminare l'immagine di un elemento in inventario." name="okcancelignore" notext="Annulla" yestext="Elimina" />
|
||||||
|
|
@ -5235,6 +5246,22 @@ Gli oggetti mesh riggati sono progettati per essere attaccati all'avatar. Né tu
|
||||||
Se vuoi vedere questo oggetto, toglilo e indossalo su un punto di attacco dell'avatar.
|
Se vuoi vedere questo oggetto, toglilo e indossalo su un punto di attacco dell'avatar.
|
||||||
<usetemplate ignoretext="Avvisami quando una mesh riggata viene indossata su un punto di attacco HUD." name="okignore" />
|
<usetemplate ignoretext="Avvisami quando una mesh riggata viene indossata su un punto di attacco HUD." name="okignore" />
|
||||||
</notification>
|
</notification>
|
||||||
|
<notification name="ConfirmOverwriteOutfit">
|
||||||
|
Sostituisci gli elementi nell'abito selezionato con gli elementi che indossi ora.
|
||||||
|
<usetemplate ignoretext="Conferma prima di sovrascrivere l'abito" name="okcancelignore" notext="Annulla" yestext="Salva" />
|
||||||
|
</notification>
|
||||||
|
<notification name="ClearInventoryThumbnailsWarning">
|
||||||
|
Stai per rimuovere le immagini dagli elementi dell'inventario nell'elenco. Questo cambiamento non può essere annullato.
|
||||||
|
|
||||||
|
Vuoi continuare?
|
||||||
|
<usetemplate name="okcancelbuttons" notext="No" yestext="Sì" />
|
||||||
|
</notification>
|
||||||
|
<notification name="WriteInventoryThumbnailsWarning">
|
||||||
|
Stai per sovrascrivere le immagini per alcuni o tutti gli elementi dell'inventario nell'elenco. Questo cambiamento non può essere annullato.
|
||||||
|
|
||||||
|
Vuoi continuare?
|
||||||
|
<usetemplate name="okcancelbuttons" notext="No" yestext="Sì" />
|
||||||
|
</notification>
|
||||||
<notification name="ReflectionProbeApplied">
|
<notification name="ReflectionProbeApplied">
|
||||||
ATTENZIONE: hai reso il tuo oggetto una sonda di riflessione. Ciò implicitamente cambia l'oggetto per imitare il suo volume di influenza. Questi cambiamenti sono irreversibili. Vuoi continuare?
|
ATTENZIONE: hai reso il tuo oggetto una sonda di riflessione. Ciò implicitamente cambia l'oggetto per imitare il suo volume di influenza. Questi cambiamenti sono irreversibili. Vuoi continuare?
|
||||||
<usetemplate ignoretext="Avvisi sulla sonda di riflessione" name="okcancelignore" yestext="Ok" notext="Annulla"/>
|
<usetemplate ignoretext="Avvisi sulla sonda di riflessione" name="okcancelignore" yestext="Ok" notext="Annulla"/>
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
<panel name="panel_login">
|
<panel name="panel_login">
|
||||||
|
<string name="ServerComboTooltip">
|
||||||
|
Una griglia esistente o l'URI di una griglia
|
||||||
|
</string>
|
||||||
<layout_stack name="login_widgets">
|
<layout_stack name="login_widgets">
|
||||||
<layout_panel name="login">
|
<layout_panel name="login">
|
||||||
<text name="log_in_text">
|
<text name="log_in_text">
|
||||||
|
|
@ -9,7 +12,7 @@
|
||||||
Nome utente:
|
Nome utente:
|
||||||
</text>
|
</text>
|
||||||
<button tool_tip="Rimuovi questo nome" label="" name="remove_user_btn"/>
|
<button tool_tip="Rimuovi questo nome" label="" name="remove_user_btn"/>
|
||||||
<combo_box tool_tip="Nome utente scelto per la registrazione, come carlorossi12 o Stella Marina" name="username_combo"/>
|
<combo_box tool_tip="Nome utente scelto per la registrazione, come CarloRossi12 o Stella Sunshine" name="username_combo"/>
|
||||||
<text name="password_text">
|
<text name="password_text">
|
||||||
Password:
|
Password:
|
||||||
</text>
|
</text>
|
||||||
|
|
@ -25,8 +28,11 @@
|
||||||
</combo_box>
|
</combo_box>
|
||||||
</layout_panel>
|
</layout_panel>
|
||||||
<layout_panel name="grid_panel">
|
<layout_panel name="grid_panel">
|
||||||
|
<text name="grid_builder_text">
|
||||||
|
+ Clicca per aggiungere altre griglie
|
||||||
|
</text>
|
||||||
<text name="grid_login_text">
|
<text name="grid_login_text">
|
||||||
Entra nella grid:
|
Entra nella griglia:
|
||||||
</text>
|
</text>
|
||||||
</layout_panel>
|
</layout_panel>
|
||||||
<layout_panel name="links_login_panel">
|
<layout_panel name="links_login_panel">
|
||||||
|
|
@ -42,10 +48,10 @@
|
||||||
</layout_panel>
|
</layout_panel>
|
||||||
<layout_panel name="mode_selection">
|
<layout_panel name="mode_selection">
|
||||||
<text name="mode_selection_text">
|
<text name="mode_selection_text">
|
||||||
Interfaccia:
|
MODALITÀ
|
||||||
</text>
|
</text>
|
||||||
<combo_box tool_tip="Scegliere la modalità di vista preferita per impostare le opzioni predefinite." name="mode_combo">
|
<combo_box tool_tip="Seleziona la tua modalità preferita, verranno applicate le impostazioni predefinite." name="mode_combo">
|
||||||
<combo_box.item label="Ibrido" name="Hybrid"/>
|
<combo_box.item label="Ibrida" name="Hybrid"/>
|
||||||
<combo_box.item label="Testo" name="Text"/>
|
<combo_box.item label="Testo" name="Text"/>
|
||||||
</combo_box>
|
</combo_box>
|
||||||
</layout_panel>
|
</layout_panel>
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,23 @@
|
||||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||||
<panel name="panel_login">
|
<panel name="panel_login">
|
||||||
<panel.string name="forgot_password_url">
|
<string name="ServerComboTooltip">
|
||||||
http://secondlife.com/account/request.php?lang=it
|
Una griglia esistente o l'URI di una griglia
|
||||||
</panel.string>
|
</string>
|
||||||
<layout_stack name="ui_stack">
|
<layout_stack name="ui_stack">
|
||||||
<layout_panel name="ui_container">
|
<layout_panel name="ui_container">
|
||||||
<layout_stack name="vert_stack_left">
|
<layout_stack name="vert_stack_left">
|
||||||
<layout_panel name="1st_row">
|
<layout_panel name="1st_row">
|
||||||
<layout_stack name="1st_row_stack">
|
<layout_stack name="1st_row_stack">
|
||||||
<layout_panel name="login">
|
<layout_panel name="login">
|
||||||
<combo_box label="Nome utente" tool_tip="Nome utente scelto per la registrazione, come carlorossi12 o Stella Marina" name="username_combo"/>
|
<combo_box label="Nome utente" tool_tip="Nome utente scelto per la registrazione, come CarloRossi12 o Stella Sunshine" name="username_combo"/>
|
||||||
<check_box label="Ricorda nome utente" name="remember_username_check"/>
|
<check_box label="Ricorda nome utente" name="remember_username_check"/>
|
||||||
</layout_panel> <!-- login -->
|
</layout_panel> <!-- login -->
|
||||||
<layout_panel name="delete_container">
|
<layout_panel name="delete_container">
|
||||||
<button tool_tip="Cancella questo utente" name="remove_user_btn"/>
|
<button tool_tip="Rimuovi questo nome" name="remove_user_btn"/>
|
||||||
</layout_panel> <!-- delete_container -->
|
</layout_panel> <!-- delete_container -->
|
||||||
<layout_panel name="password_container">
|
<layout_panel name="password_container">
|
||||||
<line_editor name="password_edit" label="Password"/>
|
<line_editor name="password_edit" label="Password"/>
|
||||||
<check_box label="Ricorda password" top_pad="10" name="remember_check"/>
|
<check_box label="Ricorda password" name="remember_check"/>
|
||||||
</layout_panel> <!-- password_container -->
|
</layout_panel> <!-- password_container -->
|
||||||
<layout_panel name="start_location_panel">
|
<layout_panel name="start_location_panel">
|
||||||
<combo_box label="Luogo di avvio" name="start_location_combo">
|
<combo_box label="Luogo di avvio" name="start_location_combo">
|
||||||
|
|
@ -31,17 +31,20 @@
|
||||||
<layout_panel name="2nd_row">
|
<layout_panel name="2nd_row">
|
||||||
<layout_stack name="2nd_row_stack">
|
<layout_stack name="2nd_row_stack">
|
||||||
<layout_panel name="grid_panel">
|
<layout_panel name="grid_panel">
|
||||||
<text name="grid_login_text">
|
<text name="grid_login_text" width="50">
|
||||||
Grid:
|
Griglia:
|
||||||
|
</text>
|
||||||
|
<text name="grid_builder_text">
|
||||||
|
+ Clicca per aggiungere altre griglie
|
||||||
</text>
|
</text>
|
||||||
</layout_panel>
|
</layout_panel>
|
||||||
<layout_panel name="mode_selection">
|
<layout_panel name="mode_selection">
|
||||||
<text name="mode_selection_text">
|
<text name="mode_selection_text">
|
||||||
Interfaccia:
|
Modalità:
|
||||||
</text>
|
</text>
|
||||||
<combo_box tool_tip="Scegliere lo stile di visualizzazione preferito per impostare di conseguenza le opzioni." name="mode_combo">
|
<combo_box tool_tip="Seleziona la tua modalità preferita, verranno applicate le impostazioni predefinite." name="mode_combo">
|
||||||
<combo_box.item label="Hybrid" name="Hybrid" />
|
<combo_box.item label="Ibrida" name="Hybrid" />
|
||||||
<combo_box.item label="Text" name="Text" />
|
<combo_box.item label="Testo" name="Text" />
|
||||||
</combo_box>
|
</combo_box>
|
||||||
</layout_panel>
|
</layout_panel>
|
||||||
</layout_stack> <!-- 2nd_row_stack -->
|
</layout_stack> <!-- 2nd_row_stack -->
|
||||||
|
|
@ -49,7 +52,7 @@
|
||||||
</layout_stack> <!-- vert_stack -->
|
</layout_stack> <!-- vert_stack -->
|
||||||
<button label="Entra" name="connect_btn"/>
|
<button label="Entra" name="connect_btn"/>
|
||||||
<text name="create_new_account_text">
|
<text name="create_new_account_text">
|
||||||
Crea un account
|
Crea nuovo account
|
||||||
</text>
|
</text>
|
||||||
<text name="forgot_password_text">
|
<text name="forgot_password_text">
|
||||||
Password dimenticata?
|
Password dimenticata?
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@
|
||||||
</text>
|
</text>
|
||||||
</panel>
|
</panel>
|
||||||
</panel>
|
</panel>
|
||||||
<panel label="Colore base" name="panel_pbr_transforms_base_color">
|
<panel label="Col. base" name="panel_pbr_transforms_base_color">
|
||||||
<panel name="pbr_transforms_base_color_scale">
|
<panel name="pbr_transforms_base_color_scale">
|
||||||
<text name="pbr_transforms_base_color_scale_label">
|
<text name="pbr_transforms_base_color_scale_label">
|
||||||
Scala
|
Scala
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,16 @@
|
||||||
Aderisci ([AMOUNT] L$)
|
Aderisci ([AMOUNT] L$)
|
||||||
</panel.string>
|
</panel.string>
|
||||||
<panel.string name="group_join_free">
|
<panel.string name="group_join_free">
|
||||||
Gratis
|
Gratuito
|
||||||
|
</panel.string>
|
||||||
|
<panel.string name="group_member">
|
||||||
|
Membro
|
||||||
|
</panel.string>
|
||||||
|
<panel.string name="join_txt">
|
||||||
|
Aderisci
|
||||||
|
</panel.string>
|
||||||
|
<panel.string name="leave_txt">
|
||||||
|
Abbandona
|
||||||
</panel.string>
|
</panel.string>
|
||||||
<layout_stack name="group_info_sidetray_main">
|
<layout_stack name="group_info_sidetray_main">
|
||||||
<layout_panel name="header_container">
|
<layout_panel name="header_container">
|
||||||
|
|
@ -32,11 +41,14 @@
|
||||||
</layout_panel>
|
</layout_panel>
|
||||||
</layout_stack>
|
</layout_stack>
|
||||||
<layout_stack name="button_row_ls">
|
<layout_stack name="button_row_ls">
|
||||||
|
<layout_panel name="btn_activate_lp">
|
||||||
|
<button label="Attiva" name="btn_activate" />
|
||||||
|
</layout_panel>
|
||||||
<layout_panel name="btn_chat_lp">
|
<layout_panel name="btn_chat_lp">
|
||||||
<button label="Chat" name="btn_chat"/>
|
<button label="Chat" name="btn_chat"/>
|
||||||
</layout_panel>
|
</layout_panel>
|
||||||
<layout_panel name="call_btn_lp">
|
<layout_panel name="call_btn_lp">
|
||||||
<button label="Chiamata" name="btn_call" tool_tip="Avvia una conferenza vocale in questo gruppo"/>
|
<button label="Chiama" name="btn_call" tool_tip="Avvia una conferenza vocale in questo gruppo"/>
|
||||||
</layout_panel>
|
</layout_panel>
|
||||||
<layout_panel name="btn_apply_lp">
|
<layout_panel name="btn_apply_lp">
|
||||||
<button label="Salva" label_selected="Salva" name="btn_apply"/>
|
<button label="Salva" label_selected="Salva" name="btn_apply"/>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
<panel name="group_list_item">
|
<panel name="group_list_item">
|
||||||
<text name="group_name" value="Sconosciuto"/>
|
<text name="group_name" value="Sconosciuto"/>
|
||||||
|
<button name="notices_btn" tool_tip="Avvisi di gruppo" />
|
||||||
<button name="info_btn" tool_tip="Maggiori informazioni"/>
|
<button name="info_btn" tool_tip="Maggiori informazioni"/>
|
||||||
<button name="profile_btn" tool_tip="Vedi profilo"/>
|
<button name="profile_btn" tool_tip="Vedi profilo"/>
|
||||||
</panel>
|
</panel>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||||
<panel name="group_list_item">
|
<panel name="group_list_item">
|
||||||
<text name="group_name" value="Sconosciuto"/>
|
<text name="group_name" value="Sconosciuto"/>
|
||||||
|
<button name="notices_btn" tool_tip="Avvisi di gruppo" />
|
||||||
<button name="visibility_hide_btn" tool_tip="Nascondi gruppo sul mio profilo" />
|
<button name="visibility_hide_btn" tool_tip="Nascondi gruppo sul mio profilo" />
|
||||||
<button name="visibility_show_btn" tool_tip="Mostra gruppo sul mio profilo" />
|
<button name="visibility_show_btn" tool_tip="Mostra gruppo sul mio profilo" />
|
||||||
<button name="info_btn" tool_tip="Maggiori informazioni"/>
|
<button name="info_btn" tool_tip="Maggiori informazioni"/>
|
||||||
|
|
|
||||||
|
|
@ -87,6 +87,9 @@
|
||||||
</text>
|
</text>
|
||||||
<slider label="Lampeggia linguette IM:" tool_tip="Quante volte deve lampeggiare la linguetta della scheda IM quando ricevi un messaggio" name="ButtonsFlashCount"/>
|
<slider label="Lampeggia linguette IM:" tool_tip="Quante volte deve lampeggiare la linguetta della scheda IM quando ricevi un messaggio" name="ButtonsFlashCount"/>
|
||||||
<slider label="Velocità di lampeggiamento:" tool_tip="Indica la durata in secondi di un singolo flash. Viene usato per le notifiche degli IM" name="ButtonFlashRate"/>
|
<slider label="Velocità di lampeggiamento:" tool_tip="Indica la durata in secondi di un singolo flash. Viene usato per le notifiche degli IM" name="ButtonFlashRate"/>
|
||||||
|
<text name="ButtonFlashRateText">
|
||||||
|
sec
|
||||||
|
</text>
|
||||||
</panel>
|
</panel>
|
||||||
<panel name="UI-interface-top-bars" label="Barra Superiore">
|
<panel name="UI-interface-top-bars" label="Barra Superiore">
|
||||||
<text name="statusbar_textbox">
|
<text name="statusbar_textbox">
|
||||||
|
|
@ -228,29 +231,27 @@
|
||||||
Tipo carattere:
|
Tipo carattere:
|
||||||
</text>
|
</text>
|
||||||
<text name="tooltip_textbox2">
|
<text name="tooltip_textbox2">
|
||||||
(richiesto riavvio)
|
(richiede riavvio)
|
||||||
</text>
|
</text>
|
||||||
<text name="tooltip_textbox5">
|
<text name="tooltip_textbox5">
|
||||||
Grandezza carattere:
|
Grandezza carattere:
|
||||||
</text>
|
</text>
|
||||||
<text name="tooltip_textbox6" >
|
<text name="tooltip_textbox6" >
|
||||||
pt (Richiesto riavvio)
|
pt (richiede riavvio)
|
||||||
Predefinito 0. Valori più grandi non funzionano bene
|
Predefinito 0. Valori più grandi non funzionano bene
|
||||||
</text>
|
</text>
|
||||||
<text name="tooltip_textbox3">
|
<text name="tooltip_textbox3">
|
||||||
Distanza massima
|
Spaziatura chat:
|
||||||
linee della chat:
|
|
||||||
</text>
|
</text>
|
||||||
<text name="tooltip_textbox4">
|
<text name="tooltip_textbox4">
|
||||||
pixel (richiesto riavvio)
|
pixel (richiede riavvio)
|
||||||
[VIEWER_GENERATION]-Default 0. V1 Default 2.
|
[VIEWER_GENERATION]-Default 0. V1 Default 2.
|
||||||
</text>
|
</text>
|
||||||
<text name="Label_FolderItemViewHeight">
|
<text name="Label_FolderItemViewHeight">
|
||||||
Distanza massima
|
Altezza cartella:
|
||||||
cartelle inventario:
|
|
||||||
</text>
|
</text>
|
||||||
<text name="Label_FolderItemViewHeight_Scale">
|
<text name="Label_FolderItemViewHeight_Scale">
|
||||||
pixel (richiesto riavvio)
|
pixel (richiede riavvio)
|
||||||
[VIEWER_GENERATION]-Default 20. V1 Default 18.
|
[VIEWER_GENERATION]-Default 20. V1 Default 18.
|
||||||
</text>
|
</text>
|
||||||
<text name="text_box_notecard_font" width="135">
|
<text name="text_box_notecard_font" width="135">
|
||||||
|
|
@ -262,6 +263,11 @@ cartelle inventario:
|
||||||
<combo_item name="Medium" label="Medio" />
|
<combo_item name="Medium" label="Medio" />
|
||||||
<combo_item name="Large" label="Grande" />
|
<combo_item name="Large" label="Grande" />
|
||||||
</combo_box>
|
</combo_box>
|
||||||
|
<text name="emoji_font_settings_label">
|
||||||
|
Impostazioni caratteri emoji (richiede riavvio):
|
||||||
|
</text>
|
||||||
|
<check_box label="Visualizza emoji monocromatiche" name="FSUseBWEmojis" />
|
||||||
|
<check_box label="Usa pulsante emoji colorato" name="FSUsePrettyEmojiButton" />
|
||||||
</panel>
|
</panel>
|
||||||
</tab_container>
|
</tab_container>
|
||||||
</panel>
|
</panel>
|
||||||
|
|
|
||||||
|
|
@ -141,10 +141,12 @@
|
||||||
<check_box name="FSChatbarNamePrediction" label="Abilita predizione nomi in chat locale"/>
|
<check_box name="FSChatbarNamePrediction" label="Abilita predizione nomi in chat locale"/>
|
||||||
<check_box name="AllowMUpose" label="":" come sinonimo di "/me""/>
|
<check_box name="AllowMUpose" label="":" come sinonimo di "/me""/>
|
||||||
<check_box name="AutoCloseOOC" label="Auto-chiudi parentesi ((OOC))"/>
|
<check_box name="AutoCloseOOC" label="Auto-chiudi parentesi ((OOC))"/>
|
||||||
<check_box name="FSShowIMSendButton" label="Mostra bottone Invia nella barra chat per le sessioni IM"/>
|
<check_box name="FSEnableEmojiWindowPopupWhileTyping" label="Mostra automaticamente la finestra delle emoji durante la digitazione nelle barre della chat"/>
|
||||||
|
<check_box name="FSShowEmojiButton" label="Mostra pulsante Emoji nella barra della chat delle sessioni IM e della chat locale"/>
|
||||||
|
<check_box name="FSShowIMSendButton" label="Mostra pulsante Invia nella barra chat delle sessioni IM"/>
|
||||||
<check_box name="FSNearbyChatbar" label="Barra chat nella finestra chat locale"/>
|
<check_box name="FSNearbyChatbar" label="Barra chat nella finestra chat locale"/>
|
||||||
<check_box name="FSShowChatChannel" label="Selezione canale nella barra chat"/>
|
<check_box name="FSShowChatChannel" label="Selezione canale nella barra chat"/>
|
||||||
<check_box name="FSShowChatType" label="Tipo di chat / bottone Invia nella barra chat"/>
|
<check_box name="FSShowChatType" label="Tipo di chat / pulsante Invia nella barra chat"/>
|
||||||
<check_box label="Nascondi automaticamente barra chat" name="AutohideChatBar" tool_tip="Nasconde la barra chat dalla barra in basso e la mostra come sovrapposta soltanto quando necessario." />
|
<check_box label="Nascondi automaticamente barra chat" name="AutohideChatBar" tool_tip="Nasconde la barra chat dalla barra in basso e la mostra come sovrapposta soltanto quando necessario." />
|
||||||
<check_box label="Deseleziona barra chat dopo Invio" name="CloseChatOnReturn" />
|
<check_box label="Deseleziona barra chat dopo Invio" name="CloseChatOnReturn" />
|
||||||
<check_box label="Deseleziona anche finestra chat" name="FSUnfocusChatHistoryOnReturn"/>
|
<check_box label="Deseleziona anche finestra chat" name="FSUnfocusChatHistoryOnReturn"/>
|
||||||
|
|
|
||||||
|
|
@ -119,7 +119,7 @@
|
||||||
<check_box label="Mostra indicatore voce sugli avatar" tool_tip="Mostra indicatore (pallino bianco) sopra agli avatar" name="FSShowVoiceVisualizer"/>
|
<check_box label="Mostra indicatore voce sugli avatar" tool_tip="Mostra indicatore (pallino bianco) sopra agli avatar" name="FSShowVoiceVisualizer"/>
|
||||||
<check_box label="Mostra indicatore voce sul mio avatar" name="FSShowMyOwnVoiceVisualizer" />
|
<check_box label="Mostra indicatore voce sul mio avatar" name="FSShowMyOwnVoiceVisualizer" />
|
||||||
<check_box label="Mostra il pallino negli indicatori voce" tool_tip="Se questa opzione è abilitata, viene visualizzato un pallino in mezzo agli indicatori voce. Se è disattivata, vengono visualizzate solo le onde vocali." name="FSShowVoiceVisualizerWithDot" />
|
<check_box label="Mostra il pallino negli indicatori voce" tool_tip="Se questa opzione è abilitata, viene visualizzato un pallino in mezzo agli indicatori voce. Se è disattivata, vengono visualizzate solo le onde vocali." name="FSShowVoiceVisualizerWithDot" />
|
||||||
<check_box label="mostra indicatori voce nelle chiamate private e di gruppo" tool_tip="Mostra l'indicatore vocale e il movimento delle labbra anche quando si è in una chiamata privata" name="Show_Voice_Visualizers_In_Calls"/>
|
<check_box label="Mostra indicatori voce nelle chiamate private e di gruppo" tool_tip="Mostra l'indicatore vocale e il movimento delle labbra anche quando si è in una chiamata privata" name="Show_Voice_Visualizers_In_Calls"/>
|
||||||
<check_box label="Mostra stato voce sulle schede delle conversazioni" tool_tip="Mostra lo stato del canale voce nella finestra conversazioni (IM e gruppi)" name="FSShowConversationVoiceStateIndicator"/>
|
<check_box label="Mostra stato voce sulle schede delle conversazioni" tool_tip="Mostra lo stato del canale voce nella finestra conversazioni (IM e gruppi)" name="FSShowConversationVoiceStateIndicator"/>
|
||||||
<check_box label="Rifiuta automaticamente gli inviti alla chat vocale di gruppo" name="VoiceCallsRejectGroup"/>
|
<check_box label="Rifiuta automaticamente gli inviti alla chat vocale di gruppo" name="VoiceCallsRejectGroup"/>
|
||||||
<check_box label="Rifiuta automaticamente gli inviti alla chat vocale in conferenza (ad-hoc)" name="VoiceCallsRejectAdHoc"/>
|
<check_box label="Rifiuta automaticamente gli inviti alla chat vocale in conferenza (ad-hoc)" name="VoiceCallsRejectAdHoc"/>
|
||||||
|
|
|
||||||
|
|
@ -74,7 +74,8 @@
|
||||||
<button label="Sblocca" name="unblock" tool_tip="Sblocca questo residente"/>
|
<button label="Sblocca" name="unblock" tool_tip="Sblocca questo residente"/>
|
||||||
</layout_panel>
|
</layout_panel>
|
||||||
</layout_stack>
|
</layout_stack>
|
||||||
<check_box name="show_in_search" label="Mostra nella ricerca" tool_tip="Consenti alle persone di vederti nei risultati di ricerca" />
|
<check_box name="show_in_search" label="Mostra nella ricerca" tool_tip="Consenti agli altri di vedermi nei risultati di ricerca" />
|
||||||
|
<check_box name="hide_sl_age" label="Mostra data di nascita completa" tool_tip="Consenti agli altri di vedere la tua età in SL" />
|
||||||
<button name="save_description_changes" label="Salva" />
|
<button name="save_description_changes" label="Salva" />
|
||||||
<button name="discard_description_changes" label="Annulla" />
|
<button name="discard_description_changes" label="Annulla" />
|
||||||
</panel>
|
</panel>
|
||||||
|
|
|
||||||
|
|
@ -76,8 +76,8 @@
|
||||||
<combo_box.item label="Paga oggetto" name="Payobject"/>
|
<combo_box.item label="Paga oggetto" name="Payobject"/>
|
||||||
<combo_box.item label="Apri" name="Open"/>
|
<combo_box.item label="Apri" name="Open"/>
|
||||||
<combo_box.item label="Inquadra" name="Zoom"/>
|
<combo_box.item label="Inquadra" name="Zoom"/>
|
||||||
<combo_box.item label="Ignora oggetto" name="Ignoreobject" />
|
|
||||||
<combo_box.item label="Nessuno" name="None"/>
|
<combo_box.item label="Nessuno" name="None"/>
|
||||||
|
<combo_box.item label="Ignora oggetto" name="Ignoreobject" />
|
||||||
</combo_box>
|
</combo_box>
|
||||||
<panel name="perms_inv">
|
<panel name="perms_inv">
|
||||||
<text name="perm_modify">
|
<text name="perm_modify">
|
||||||
|
|
|
||||||
|
|
@ -68,6 +68,9 @@ Banda (Bandwidth): [BANDWIDTH] kbit/s
|
||||||
Fattore LOD (LOD factor): [LOD]
|
Fattore LOD (LOD factor): [LOD]
|
||||||
Qualità resa (Render quality): [RENDERQUALITY]
|
Qualità resa (Render quality): [RENDERQUALITY]
|
||||||
</string>
|
</string>
|
||||||
|
<string name="AboutCache">
|
||||||
|
Cache del disco (disk cache): [DISK_CACHE_INFO]
|
||||||
|
</string>
|
||||||
<string name="AboutOSXHiDPI">
|
<string name="AboutOSXHiDPI">
|
||||||
Modalità display HiDPI: [HIDPI]
|
Modalità display HiDPI: [HIDPI]
|
||||||
</string>
|
</string>
|
||||||
|
|
@ -1370,6 +1373,51 @@ https://www.firestormviewer.org/support per avere aiuto nella soluzione.
|
||||||
<string name="recompile_script_verb">
|
<string name="recompile_script_verb">
|
||||||
Ricompila
|
Ricompila
|
||||||
</string>
|
</string>
|
||||||
|
<string name="jpeg_image_files">
|
||||||
|
Immagini JPEG
|
||||||
|
</string>
|
||||||
|
<string name="executable_files">
|
||||||
|
File eseguibili
|
||||||
|
</string>
|
||||||
|
<string name="Validator_InvalidNumericString">
|
||||||
|
Sequenza numerica non valida: '[STR]'
|
||||||
|
</string>
|
||||||
|
<string name="Validator_ShouldNotBeMinus">
|
||||||
|
Carattere iniziale non valido: '[CH]' (non può essere un segno meno)
|
||||||
|
</string>
|
||||||
|
<string name="Validator_ShouldNotBeMinusOrZero">
|
||||||
|
Carattere iniziale non valido: '[CH]' (non può essere né meno né zero)
|
||||||
|
</string>
|
||||||
|
<string name="Validator_ShouldBeDigit">
|
||||||
|
Carattere [NR] non valido: '[CH]' (può essere solo una cifra)
|
||||||
|
</string>
|
||||||
|
<string name="Validator_ShouldBeDigitOrDot">
|
||||||
|
Carattere [NR] non valido: '[CH]' (può essere solo una cifra o un punto decimale)
|
||||||
|
</string>
|
||||||
|
<string name="Validator_ShouldBeDigitOrAlpha">
|
||||||
|
Carattere [NR] non valido: '[CH]' (può essere solo un carattere ASCII numerico o alfanumerico)
|
||||||
|
</string>
|
||||||
|
<string name="Validator_ShouldBeDigitOrAlphaOrSpace">
|
||||||
|
Carattere [NR] non valido: '[CH]' (può essere solo una cifra, un carattere ASCII alfanumerico o uno spazio)
|
||||||
|
</string>
|
||||||
|
<string name="Validator_ShouldBeDigitOrAlphaOrPunct">
|
||||||
|
Carattere [NR] non valido: '[CH]' (può essere solo una cifra, un carattere ASCII alfanumerico o un segno di punteggiatura)
|
||||||
|
</string>
|
||||||
|
<string name="Validator_ShouldBeDigitOrAlphaOrPunctNotSpace">
|
||||||
|
Carattere [NR] non valido: '[CH]' (può essere solo una cifra, un carattere ASCII alfanumerico o un segno di punteggiatura senza spazi)
|
||||||
|
</string>
|
||||||
|
<string name="Validator_ShouldBeDigitNotSpace">
|
||||||
|
Carattere [NR] non valido: '[CH]' (può essere solo una cifra senza spazi)
|
||||||
|
</string>
|
||||||
|
<string name="Validator_ShouldBeASCII">
|
||||||
|
Carattere [NR] non valido: '[CH]' (può essere solo un carattere ASCII)
|
||||||
|
</string>
|
||||||
|
<string name="Validator_ShouldBeNewLineOrASCII">
|
||||||
|
Carattere [NR] non valido: '[CH]' (può essere solo un carattere ASCII o una nuova riga)
|
||||||
|
</string>
|
||||||
|
<string name="LSLTipSleepTime">
|
||||||
|
Script in sospensione per [SLEEP_TIME] secondi.
|
||||||
|
</string>
|
||||||
<string name="shape">
|
<string name="shape">
|
||||||
Corpo
|
Corpo
|
||||||
</string>
|
</string>
|
||||||
|
|
@ -5159,9 +5207,12 @@ Segnala abuso
|
||||||
<string name="New Settings">
|
<string name="New Settings">
|
||||||
Nuovo ambiente
|
Nuovo ambiente
|
||||||
</string>
|
</string>
|
||||||
<string name="AvatarBirthDateFormat">
|
<string name="AvatarBirthDateFormatFull">
|
||||||
[day,datetime,utc]/[mthnum,datetime,utc]/[year,datetime,utc]
|
[day,datetime,utc]/[mthnum,datetime,utc]/[year,datetime,utc]
|
||||||
</string>
|
</string>
|
||||||
|
<string name="AvatarBirthDateFormatShort">
|
||||||
|
[day,datetime,utc]/[mthnum,datetime,utc]
|
||||||
|
</string>
|
||||||
<string name="AvatarBirthDateFormat_legacy">
|
<string name="AvatarBirthDateFormat_legacy">
|
||||||
[day,datetime,slt]/[mthnum,datetime,slt]/[year,datetime,slt]
|
[day,datetime,slt]/[mthnum,datetime,slt]/[year,datetime,slt]
|
||||||
</string>
|
</string>
|
||||||
|
|
@ -5271,7 +5322,8 @@ Segnala abuso
|
||||||
Questo abito non contiene alcun elemento
|
Questo abito non contiene alcun elemento
|
||||||
</string>
|
</string>
|
||||||
<string name="ExternalEditorNotSet">
|
<string name="ExternalEditorNotSet">
|
||||||
Seleziona un editor usando l'impostazione ExternalEditor.
|
Seleziona un editor impostando l'ambiente LL_SCRIPT_EDITOR o impostando ExternalEditor
|
||||||
|
Vedi https://wiki.secondlife.com/wiki/LSL_Alternate_Editors
|
||||||
</string>
|
</string>
|
||||||
<string name="ExternalEditorNotFound">
|
<string name="ExternalEditorNotFound">
|
||||||
L'editor esterno specificato non è stato trovato.
|
L'editor esterno specificato non è stato trovato.
|
||||||
|
|
@ -6349,6 +6401,9 @@ Assistenza nel sito SecondLife.com e segnala il problema.
|
||||||
<string name="avatar_age_alert">
|
<string name="avatar_age_alert">
|
||||||
ha attivato l'allarme età. Età: [AGE] giorno/i
|
ha attivato l'allarme età. Età: [AGE] giorno/i
|
||||||
</string>
|
</string>
|
||||||
|
<string name="avatar_age_not_available">
|
||||||
|
n.d.
|
||||||
|
</string>
|
||||||
<string name="TotalScriptCountChangeIncrease">
|
<string name="TotalScriptCountChangeIncrease">
|
||||||
Il totale degli script nella regione è salito da [OLD_VALUE] a [NEW_VALUE] ([DIFFERENCE]).
|
Il totale degli script nella regione è salito da [OLD_VALUE] a [NEW_VALUE] ([DIFFERENCE]).
|
||||||
</string>
|
</string>
|
||||||
|
|
|
||||||
|
|
@ -3280,14 +3280,13 @@ Low ↔ Lwst
|
||||||
top_pad="8"
|
top_pad="8"
|
||||||
width="132" />
|
width="132" />
|
||||||
</panel>
|
</panel>
|
||||||
|
<!-- <FS:Zi> switchable edit texture/materials panel
|
||||||
<panel
|
<panel
|
||||||
label="Texture"
|
label="Texture"
|
||||||
help_topic="toolbox_texture_tab"
|
help_topic="toolbox_texture_tab"
|
||||||
name="Texture">
|
|
||||||
<!-- <FS:Zi> switchable edit texture/materials panel
|
|
||||||
filename="panel_tools_texture.xml">
|
filename="panel_tools_texture.xml">
|
||||||
-->
|
|
||||||
</panel>
|
</panel>
|
||||||
|
-->
|
||||||
<panel
|
<panel
|
||||||
border="false"
|
border="false"
|
||||||
follows="all"
|
follows="all"
|
||||||
|
|
|
||||||
|
|
@ -3280,14 +3280,14 @@ Low ↔ Lwst
|
||||||
top_pad="8"
|
top_pad="8"
|
||||||
width="132" />
|
width="132" />
|
||||||
</panel>
|
</panel>
|
||||||
|
<!-- <FS:Zi> switchable edit texture/materials panel
|
||||||
<panel
|
<panel
|
||||||
label="Texture"
|
label="Texture"
|
||||||
help_topic="toolbox_texture_tab"
|
help_topic="toolbox_texture_tab"
|
||||||
name="Texture">
|
name="Texture">
|
||||||
<!-- <FS:Zi> switchable edit texture/materials panel
|
|
||||||
filename="panel_tools_texture.xml">
|
filename="panel_tools_texture.xml">
|
||||||
-->
|
|
||||||
</panel>
|
</panel>
|
||||||
|
-->
|
||||||
<panel
|
<panel
|
||||||
border="false"
|
border="false"
|
||||||
follows="all"
|
follows="all"
|
||||||
|
|
|
||||||
|
|
@ -3281,14 +3281,14 @@ Low ↔ Lwst
|
||||||
top_pad="8"
|
top_pad="8"
|
||||||
width="132" />
|
width="132" />
|
||||||
</panel>
|
</panel>
|
||||||
|
<!-- <FS:Zi> switchable edit texture/materials panel
|
||||||
<panel
|
<panel
|
||||||
label="Texture"
|
label="Texture"
|
||||||
help_topic="toolbox_texture_tab"
|
help_topic="toolbox_texture_tab"
|
||||||
name="Texture">
|
name="Texture">
|
||||||
<!-- <FS:Zi> switchable edit texture/materials panel
|
|
||||||
filename="panel_tools_texture.xml">
|
filename="panel_tools_texture.xml">
|
||||||
-->
|
|
||||||
</panel>
|
</panel>
|
||||||
|
-->
|
||||||
<panel
|
<panel
|
||||||
border="false"
|
border="false"
|
||||||
follows="all"
|
follows="all"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue