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
|
||||||
FS_RELEASE_TYPE=Manual
|
if [[ "${{ github.event.inputs.include_tracy }}" == "false" ]]; then
|
||||||
|
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.
|
||||||
if( req->mDeferUntil > LL::WorkQueue::TimePoint::clock::now() )
|
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())
|
||||||
{
|
{
|
||||||
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);
|
||||||
sDesiredDiscardBias = llmax(sDesiredDiscardBias, 1.f + over_pct);
|
// <FS:Ansariel> Restrict texture memory by available physical system memory
|
||||||
|
//sDesiredDiscardBias = llmax(sDesiredDiscardBias, 1.f + over_pct);
|
||||||
|
|
||||||
if (sDesiredDiscardBias > 1.f)
|
//if (sDesiredDiscardBias > 1.f)
|
||||||
|
//{
|
||||||
|
// sDesiredDiscardBias -= gFrameIntervalSeconds * 0.01;
|
||||||
|
//}
|
||||||
|
|
||||||
|
if (isSystemMemoryForTextureLow())
|
||||||
{
|
{
|
||||||
sDesiredDiscardBias -= gFrameIntervalSeconds * 0.01;
|
// 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);
|
||||||
|
|
||||||
|
if (sDesiredDiscardBias > 1.f)
|
||||||
|
{
|
||||||
|
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>
|
||||||
|
|
|
||||||
|
|
@ -45,72 +45,72 @@
|
||||||
<text name="title" value="Profilo Oggetto"/>
|
<text name="title" value="Profilo Oggetto"/>
|
||||||
<text name="where" value="(nel mondo)"/>
|
<text name="where" value="(nel mondo)"/>
|
||||||
<scroll_container name="item_profile_scroll">
|
<scroll_container name="item_profile_scroll">
|
||||||
<panel label="" name="properties_panel">
|
<panel label="" name="properties_panel">
|
||||||
<text name="Name:">
|
<text name="Name:">
|
||||||
Nome:
|
Nome:
|
||||||
</text>
|
|
||||||
<line_editor name="Object Name" tool_tip="Il nome è limitato a 63 caratteri. Prim con nomi più lunghi verranno accorciati. I nomi possono avere solamente caratteri stampabili facenti parte del codice ASCII-7 (non esteso), con l'eccezione della barra verticale '|'."/>
|
|
||||||
<text name="Description:">
|
|
||||||
Descrizione:
|
|
||||||
</text>
|
|
||||||
<line_editor name="Object Description" tool_tip="Quando la dicitura "Vedi suggerimenti su tutti gli oggetti" è selezionata nelle impostazioni del Viewer, passando il mouse sopra un oggetto si vedrà la sua descrizione. La descrizione dei Prim è limitata a 127 bytes. Se più lunga, verrá troncata."/>
|
|
||||||
<text name="CreatorNameLabel">
|
|
||||||
Creatore:
|
|
||||||
</text>
|
|
||||||
<text name="Owner:">
|
|
||||||
Proprietario:
|
|
||||||
</text>
|
|
||||||
<text name="Group_label">
|
|
||||||
Gruppo:
|
|
||||||
</text>
|
|
||||||
<button name="button set group" tool_tip="Scegli un gruppo con cui condividere i diritti relativi all'oggetto"/>
|
|
||||||
<name_box initial_value="Caricamento in corso..." name="Group Name Proxy"/>
|
|
||||||
<button label="Cessione" label_selected="Cessione" name="button deed" tool_tip="Con una cessione si trasferisce l'oggetto con i diritti assegnati al proprietario successivo. Gli oggetti in proprietà condivisa di gruppo possono essere ceduti soltanto da un funzionario del gruppo."/>
|
|
||||||
<text name="label click action">
|
|
||||||
Azione del clic:
|
|
||||||
</text>
|
|
||||||
<combo_box name="clickaction" tool_tip="Con l'azione "clic singolo" puoi interagire con un oggetto semplicemente cliccandolo una volta. Ogni azione "clic singolo" ha un cursore speciale che indica il suo effetto. Alcune azioni "clic singolo" hanno dei requisiti per funzionare. Ad esempio per i comandi Tocca e Paga sono necessari degli script.">
|
|
||||||
<combo_box.item label="Tocca (predefinito)" name="Touch/grab(default)"/>
|
|
||||||
<combo_box.item label="Siedi sull'oggetto" name="Sitonobject"/>
|
|
||||||
<combo_box.item label="Acquista oggetto" name="Buyobject"/>
|
|
||||||
<combo_box.item label="Paga oggetto" name="Payobject"/>
|
|
||||||
<combo_box.item label="Apri" name="Open"/>
|
|
||||||
<combo_box.item label="Inquadra" name="Zoom"/>
|
|
||||||
<combo_box.item label="Ignora oggetto" name="Ignoreobject" />
|
|
||||||
<combo_box.item label="Nessuno" name="None"/>
|
|
||||||
</combo_box>
|
|
||||||
<panel name="perms_inv">
|
|
||||||
<text name="perm_modify">
|
|
||||||
Tu puoi modificare questo oggetto
|
|
||||||
</text>
|
</text>
|
||||||
<text name="Anyone can:">
|
<line_editor name="Object Name" tool_tip="Il nome è limitato a 63 caratteri. Prim con nomi più lunghi verranno accorciati. I nomi possono avere solamente caratteri stampabili facenti parte del codice ASCII-7 (non esteso), con l'eccezione della barra verticale '|'."/>
|
||||||
Chiunque può:
|
<text name="Description:">
|
||||||
|
Descrizione:
|
||||||
</text>
|
</text>
|
||||||
<check_box label="Copiare" name="checkbox allow everyone copy" tool_tip="Chiunque può prendere una copia di questo oggetto. L'oggetto e tutti i suoi contenuti devono avere il permesso di copia e trasferimento."/>
|
<line_editor name="Object Description" tool_tip="Quando la dicitura "Vedi suggerimenti su tutti gli oggetti" è selezionata nelle impostazioni del Viewer, passando il mouse sopra un oggetto si vedrà la sua descrizione. La descrizione dei Prim è limitata a 127 bytes. Se più lunga, verrá troncata."/>
|
||||||
<check_box label="Spostare" name="checkbox allow everyone move" tool_tip="Chiunque può muovere l'oggetto."/>
|
<text name="CreatorNameLabel">
|
||||||
<text name="GroupLabel">
|
Creatore:
|
||||||
|
</text>
|
||||||
|
<text name="Owner:">
|
||||||
|
Proprietario:
|
||||||
|
</text>
|
||||||
|
<text name="Group_label">
|
||||||
Gruppo:
|
Gruppo:
|
||||||
</text>
|
</text>
|
||||||
<check_box label="Condividere" name="checkbox share with group" tool_tip="Consenti a tutti i membri del gruppo selezionato di condividere i tuoi diritti di modifica di questo oggetto. Per attivare le restrizioni per ruolo devi prima effettuare la cessione."/>
|
<button name="button set group" tool_tip="Scegli un gruppo con cui condividere i diritti relativi all'oggetto"/>
|
||||||
<text name="NextOwnerLabel">
|
<name_box initial_value="Caricamento in corso..." name="Group Name Proxy"/>
|
||||||
Proprietario successivo:
|
<button label="Cessione" label_selected="Cessione" name="button deed" tool_tip="Con una cessione si trasferisce l'oggetto con i diritti assegnati al proprietario successivo. Gli oggetti in proprietà condivisa di gruppo possono essere ceduti soltanto da un funzionario del gruppo."/>
|
||||||
|
<text name="label click action">
|
||||||
|
Azione del clic:
|
||||||
|
</text>
|
||||||
|
<combo_box name="clickaction" tool_tip="Con l'azione "clic singolo" puoi interagire con un oggetto semplicemente cliccandolo una volta. Ogni azione "clic singolo" ha un cursore speciale che indica il suo effetto. Alcune azioni "clic singolo" hanno dei requisiti per funzionare. Ad esempio per i comandi Tocca e Paga sono necessari degli script.">
|
||||||
|
<combo_box.item label="Tocca (predefinito)" name="Touch/grab(default)"/>
|
||||||
|
<combo_box.item label="Siedi sull'oggetto" name="Sitonobject"/>
|
||||||
|
<combo_box.item label="Acquista oggetto" name="Buyobject"/>
|
||||||
|
<combo_box.item label="Paga oggetto" name="Payobject"/>
|
||||||
|
<combo_box.item label="Apri" name="Open"/>
|
||||||
|
<combo_box.item label="Inquadra" name="Zoom"/>
|
||||||
|
<combo_box.item label="Nessuno" name="None"/>
|
||||||
|
<combo_box.item label="Ignora oggetto" name="Ignoreobject" />
|
||||||
|
</combo_box>
|
||||||
|
<panel name="perms_inv">
|
||||||
|
<text name="perm_modify">
|
||||||
|
Tu puoi modificare questo oggetto
|
||||||
|
</text>
|
||||||
|
<text name="Anyone can:">
|
||||||
|
Chiunque può:
|
||||||
|
</text>
|
||||||
|
<check_box label="Copiare" name="checkbox allow everyone copy" tool_tip="Chiunque può prendere una copia di questo oggetto. L'oggetto e tutti i suoi contenuti devono avere il permesso di copia e trasferimento."/>
|
||||||
|
<check_box label="Spostare" name="checkbox allow everyone move" tool_tip="Chiunque può muovere l'oggetto."/>
|
||||||
|
<text name="GroupLabel">
|
||||||
|
Gruppo:
|
||||||
|
</text>
|
||||||
|
<check_box label="Condividere" name="checkbox share with group" tool_tip="Consenti a tutti i membri del gruppo selezionato di condividere i tuoi diritti di modifica di questo oggetto. Per attivare le restrizioni per ruolo devi prima effettuare la cessione."/>
|
||||||
|
<text name="NextOwnerLabel">
|
||||||
|
Proprietario successivo:
|
||||||
|
</text>
|
||||||
|
<check_box label="Modificare" name="checkbox next owner can modify" tool_tip="Il prossimo proprietario può modificare le proprietà dell'oggetto come il nome o la scala."/>
|
||||||
|
<check_box label="Copiare" name="checkbox next owner can copy" tool_tip="Il prossimo proprietario può prendere infinite copie di questo oggetto. Le copie mantengono le informazioni sul creatore e non possono avere permessi maggiori di quelli posseduti dall'oggetto copiato."/>
|
||||||
|
<check_box label="Trasferire" name="checkbox next owner can transfer" tool_tip="Il prossimo proprietario può regalare o rivendere questo oggetto"/>
|
||||||
|
</panel>
|
||||||
|
<check_box label="In vendita" name="checkbox for sale" tool_tip="Permette alla gente di comprare questo oggetto, i suoi contenuti o la sua copia virtuale ad un prezzo stabilito."/>
|
||||||
|
<combo_box name="sale type" tool_tip="Decidi se vuoi che il compratore riceva una copia, una copia dei contenuti o l'oggetto stesso.">
|
||||||
|
<combo_box.item label="Copia" name="Copy"/>
|
||||||
|
<combo_box.item label="Contenuti" name="Contents"/>
|
||||||
|
<combo_box.item label="Originale" name="Original"/>
|
||||||
|
</combo_box>
|
||||||
|
<spinner label="Prezzo: L$" name="Edit Cost" tool_tip="Costo oggetto."/>
|
||||||
|
<check_box label="Mostra nella ricerca" name="search_check" tool_tip="Permetti alle persone di vedere questo oggetto nei risultati della ricerca"/>
|
||||||
|
<text name="pathfinding_attributes_label">
|
||||||
|
Attributi pathfinding:
|
||||||
</text>
|
</text>
|
||||||
<check_box label="Modificare" name="checkbox next owner can modify" tool_tip="Il prossimo proprietario può modificare le proprietà dell'oggetto come il nome o la scala."/>
|
|
||||||
<check_box label="Copiare" name="checkbox next owner can copy" tool_tip="Il prossimo proprietario può prendere infinite copie di questo oggetto. Le copie mantengono le informazioni sul creatore e non possono avere permessi maggiori di quelli posseduti dall'oggetto copiato."/>
|
|
||||||
<check_box label="Trasferire" name="checkbox next owner can transfer" tool_tip="Il prossimo proprietario può regalare o rivendere questo oggetto"/>
|
|
||||||
</panel>
|
</panel>
|
||||||
<check_box label="In vendita" name="checkbox for sale" tool_tip="Permette alla gente di comprare questo oggetto, i suoi contenuti o la sua copia virtuale ad un prezzo stabilito."/>
|
|
||||||
<combo_box name="sale type" tool_tip="Decidi se vuoi che il compratore riceva una copia, una copia dei contenuti o l'oggetto stesso.">
|
|
||||||
<combo_box.item label="Copia" name="Copy"/>
|
|
||||||
<combo_box.item label="Contenuti" name="Contents"/>
|
|
||||||
<combo_box.item label="Originale" name="Original"/>
|
|
||||||
</combo_box>
|
|
||||||
<spinner label="Prezzo: L$" name="Edit Cost" tool_tip="Costo oggetto."/>
|
|
||||||
<check_box label="Mostra nella ricerca" name="search_check" tool_tip="Permetti alle persone di vedere questo oggetto nei risultati della ricerca"/>
|
|
||||||
<text name="pathfinding_attributes_label">
|
|
||||||
Attributi pathfinding:
|
|
||||||
</text>
|
|
||||||
</panel>
|
|
||||||
</scroll_container>
|
</scroll_container>
|
||||||
<layout_stack name="buttons_ls">
|
<layout_stack name="buttons_ls">
|
||||||
<layout_panel name="open_btn_panel">
|
<layout_panel name="open_btn_panel">
|
||||||
|
|
|
||||||
|
|
@ -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