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
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
include_tracy:
|
||||
description: 'Include tracy profiling builds'
|
||||
required: false
|
||||
default: 'false'
|
||||
push:
|
||||
branches:
|
||||
- "Firestorm*.*.*"
|
||||
|
|
@ -116,7 +121,11 @@ jobs:
|
|||
elif [[ "${{ github.ref_name }}" == *nightly* ]] || [[ "${{ github.event_name }}" == 'schedule' ]]; then
|
||||
FS_RELEASE_TYPE=Nightly
|
||||
elif [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then
|
||||
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
|
||||
if [[ "${{ matrix.addrsize }}" == "64" ]]; then
|
||||
FS_RELEASE_CHAN="${FS_RELEASE_TYPE}x64"
|
||||
|
|
@ -243,7 +252,7 @@ jobs:
|
|||
- name: Set expiration days based on FS_RELEASE_TYPE
|
||||
run: |
|
||||
case "${{ env.FS_RELEASE_TYPE }}" in
|
||||
"Nightly" | "Manual")
|
||||
"Nightly" | "Manual" | "Profiling")
|
||||
EXPIRE_DAYS=14
|
||||
;;
|
||||
"Alpha")
|
||||
|
|
@ -264,6 +273,10 @@ jobs:
|
|||
echo "EXTRA_ARGS=${{ env.EXTRA_ARGS}}" >> $GITHUB_ENV
|
||||
fi
|
||||
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
|
||||
run: rm *${{ env.fallback_platform }}*bz2
|
||||
|
|
@ -344,11 +357,14 @@ jobs:
|
|||
FS_RELEASE_FOLDER:
|
||||
if: always()
|
||||
steps:
|
||||
- name: Checkout files
|
||||
uses: Bhacaz/checkout-files@v2
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
files: fsutils/download_list.py
|
||||
branch: ${{ github.head_ref || github.ref_name || 'master' }}
|
||||
sparse-checkout: |
|
||||
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
|
||||
run: pip install discord-webhook
|
||||
|
||||
|
|
|
|||
|
|
@ -2752,15 +2752,43 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
|
|||
<key>archive</key>
|
||||
<map>
|
||||
<key>hash</key>
|
||||
<string>fc67514183e7dbbb96bebb9970e1431c</string>
|
||||
<string>ae3ac835e50d75e1c1691534bfddbf71</string>
|
||||
<key>hash_algorithm</key>
|
||||
<string>md5</string>
|
||||
<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>
|
||||
<key>name</key>
|
||||
<string>windows</string>
|
||||
</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>
|
||||
<key>license</key>
|
||||
<string>bsd</string>
|
||||
|
|
|
|||
|
|
@ -158,7 +158,7 @@ Available premade firestorm-specific build targets:
|
|||
```
|
||||
ReleaseFS (includes KDU, FMOD)
|
||||
ReleaseFS_open (no KDU, no FMOD)
|
||||
RelWithDebInfo_open (no KDU, no FMOD)
|
||||
RelWithDebInfoFS_open (no KDU, no FMOD)
|
||||
```
|
||||
|
||||
### Configuration Switches
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@
|
|||
#elif LL_LINUX
|
||||
# include <unistd.h>
|
||||
# include <sys/resource.h>
|
||||
# include <sys/sysinfo.h>
|
||||
#endif
|
||||
|
||||
#include "llmemory.h"
|
||||
|
|
@ -85,6 +86,7 @@ void LLMemory::initMaxHeapSizeGB(F32Gigabytes max_heap_size)
|
|||
void LLMemory::updateMemoryInfo()
|
||||
{
|
||||
LL_PROFILE_ZONE_SCOPED
|
||||
U32Kilobytes avail_phys; // <FS:Beq/> align MemInfo across platforms
|
||||
#if LL_WINDOWS
|
||||
PROCESS_MEMORY_COUNTERS counters;
|
||||
|
||||
|
|
@ -95,23 +97,25 @@ void LLMemory::updateMemoryInfo()
|
|||
}
|
||||
|
||||
sAllocatedMemInKB = U32Kilobytes::convert(U64Bytes(counters.WorkingSetSize));
|
||||
sample(sAllocatedMem, sAllocatedMemInKB);
|
||||
// sample(sAllocatedMem, sAllocatedMemInKB); // <FS:Beq/> align MemInfo across platforms
|
||||
sAllocatedPageSizeInKB = U32Kilobytes::convert(U64Bytes(counters.PagefileUsage));
|
||||
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) ;
|
||||
sMaxPhysicalMemInKB = llmin(avail_phys + sAllocatedMemInKB, sMaxHeapSizeInKB);
|
||||
|
||||
if(sMaxPhysicalMemInKB > sAllocatedMemInKB)
|
||||
{
|
||||
sAvailPhysicalMemInKB = sMaxPhysicalMemInKB - sAllocatedMemInKB ;
|
||||
}
|
||||
else
|
||||
{
|
||||
sAvailPhysicalMemInKB = U32Kilobytes(0);
|
||||
}
|
||||
|
||||
// </FS:Beq>
|
||||
#elif defined(LL_DARWIN)
|
||||
task_vm_info info;
|
||||
mach_msg_type_number_t infoCount = TASK_VM_INFO_COUNT;
|
||||
|
|
@ -147,21 +151,47 @@ void LLMemory::updateMemoryInfo()
|
|||
if (result == KERN_SUCCESS) {
|
||||
// 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.
|
||||
sAvailPhysicalMemInKB = U32Bytes(vmstat.free_count * page_size);
|
||||
sMaxPhysicalMemInKB = LLMemoryInfo::getHardwareMemSize();
|
||||
// <FS:Beq> align MemInfo across platforms
|
||||
// sAvailPhysicalMemInKB = U32Bytes(vmstat.free_count * page_size);
|
||||
// sMaxPhysicalMemInKB = LLMemoryInfo::getHardwareMemSize();
|
||||
avail_phys = U32Bytes(vmstat.free_count * page_size);
|
||||
sMaxHeapSizeInKB = LLMemoryInfo::getHardwareMemSize();
|
||||
// </FS:Beq>
|
||||
}
|
||||
else
|
||||
{
|
||||
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
|
||||
//not valid for other systems for now.
|
||||
LL_WARNS() << "LLMemory::updateMemoryInfo() not implemented for this platform." << LL_ENDL;
|
||||
sAllocatedMemInKB = U64Bytes(LLMemory::getCurrentRSS());
|
||||
sMaxPhysicalMemInKB = U64Bytes(U32_MAX);
|
||||
sAvailPhysicalMemInKB = U64Bytes(U32_MAX);
|
||||
#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 ;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -427,11 +427,20 @@ void LLQueuedThread::processRequest(LLQueuedThread::QueuedRequest* req)
|
|||
if (req)
|
||||
{
|
||||
// <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.
|
||||
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");
|
||||
|
||||
lockData();
|
||||
req->setStatus(STATUS_QUEUED);
|
||||
mRequestQueue.post([this, req]() { processRequest(req); });
|
||||
|
|
@ -487,7 +496,6 @@ void LLQueuedThread::processRequest(LLQueuedThread::QueuedRequest* req)
|
|||
llassert(ret);
|
||||
#else
|
||||
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
|
||||
// mRequestQueue.post([=]
|
||||
// {
|
||||
|
|
@ -503,6 +511,8 @@ void LLQueuedThread::processRequest(LLQueuedThread::QueuedRequest* req)
|
|||
// }
|
||||
// processRequest(req);
|
||||
// });
|
||||
const auto retry_backoff = 16ms;
|
||||
auto retry_time = LL::WorkQueue::TimePoint::clock::now() + retry_backoff;
|
||||
req->defer_until(retry_time);
|
||||
LL_PROFILE_ZONE_NAMED("processRequest - post deferred");
|
||||
mRequestQueue.post([this, req]() { processRequest(req); });
|
||||
|
|
|
|||
|
|
@ -1263,8 +1263,7 @@ LLNotifications::LLNotifications()
|
|||
: LLNotificationChannelBase(LLNotificationFilters::includeEverything),
|
||||
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));
|
||||
|
||||
// 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 "llsdparam.h"
|
||||
|
||||
// <FS:Ansariel> Disable test API
|
||||
//#include "llnotificationslistener.h"
|
||||
#include "llnotificationslistener.h"
|
||||
|
||||
class LLAvatarName;
|
||||
typedef enum e_notification_priority
|
||||
|
|
@ -999,8 +998,7 @@ private:
|
|||
|
||||
bool mIgnoreAllNotifications;
|
||||
|
||||
// <FS:Ansariel> Disable test API
|
||||
//std::unique_ptr<LLNotificationsListener> mListener;
|
||||
std::unique_ptr<LLNotificationsListener> mListener;
|
||||
|
||||
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;
|
||||
std::string 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>
|
||||
}
|
||||
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;
|
||||
std::string 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>
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,6 @@
|
|||
<string>RenderAvatarMaxComplexity</string>
|
||||
<string>RenderAvatarMaxNonImpostors</string>
|
||||
<string>RenderAvatarPhysicsLODFactor</string>
|
||||
<string>RenderCloudShadowAmbianceFactor</string>
|
||||
<string>RenderCompressTextures</string>
|
||||
<string>RenderDeferredSSAO</string>
|
||||
<string>RenderDepthOfField</string>
|
||||
|
|
|
|||
|
|
@ -2186,6 +2186,28 @@
|
|||
<key>Value</key>
|
||||
<string>http://lecs-viewer-web-components.s3.amazonaws.com/v3.0/[GRID_LOWERCASE]/avatars.html</string>
|
||||
</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>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
|
|
@ -14970,6 +14992,19 @@ Change of this parameter will affect the layout of buttons in notification toast
|
|||
<key>Backup</key>
|
||||
<integer>0</integer>
|
||||
</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>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
|
|
@ -25706,5 +25741,16 @@ Change of this parameter will affect the layout of buttons in notification toast
|
|||
<key>Value</key>
|
||||
<integer>1</integer>
|
||||
</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>
|
||||
</llsd>
|
||||
|
|
|
|||
|
|
@ -1980,10 +1980,6 @@ void FSPanelFace::updateUI(bool force_set_values /*false*/)
|
|||
mCheckFullbright->setValue((S32)(fullbright_flag != 0));
|
||||
mCheckFullbright->setEnabled(editable );
|
||||
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
|
||||
|
|
@ -5985,22 +5981,22 @@ void FSPanelFace::selectPBRChannel(S32 pbr_channel)
|
|||
{
|
||||
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)
|
||||
{
|
||||
mTabsMatChannel->selectTabByName("panel_pbr_transforms_normal");
|
||||
mTabsPBRChannel->selectTabByName("panel_pbr_transforms_base_color");
|
||||
}
|
||||
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)
|
||||
{
|
||||
mTabsMatChannel->selectTabByName("panel_pbr_transforms_emissive");
|
||||
mTabsPBRChannel->selectTabByName("panel_pbr_transforms_emissive");
|
||||
}
|
||||
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 $res
|
||||
|
||||
[[ "$res" =~ 'id: '([^[:space:]]+) ]]
|
||||
match=$?
|
||||
if [[ "$res" =~ id:\ ([^[:space:]]+) ]]; then
|
||||
match="${BASH_REMATCH[1]}"
|
||||
echo "Notarized with id: [$match]"
|
||||
else
|
||||
echo "No match found"
|
||||
fi
|
||||
|
||||
# if [[ ! $match -eq 0 ]]; then
|
||||
echo "Running Stapler"
|
||||
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
|
||||
# else
|
||||
# echo "Notarization error"
|
||||
|
|
@ -39,4 +49,7 @@ if [[ -f "$CONFIG_FILE" ]]; then
|
|||
echo "Notarization error: ditto failed"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "No config file found - check notarize_creds is present in the secrets"
|
||||
exit 1
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -3313,7 +3313,6 @@ bool LLAppViewer::initConfiguration()
|
|||
gSavedSettings.getString("SkinCurrentTheme"),
|
||||
gSavedSettings.getString("Language"));
|
||||
loadSettingsFromDirectory("CurrentSkin");
|
||||
loadSettingsFromDirectory("User");
|
||||
// [/SL:KB]
|
||||
// gDirUtilp->setSkinFolder(skinfolder->getValue().asString(),
|
||||
// gSavedSettings.getString("Language"));
|
||||
|
|
|
|||
|
|
@ -372,7 +372,7 @@ private:
|
|||
};
|
||||
|
||||
// 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;
|
||||
|
||||
// Globals with external linkage. From viewer.h
|
||||
|
|
|
|||
|
|
@ -302,6 +302,7 @@ bool LLFloaterTools::postBuild()
|
|||
LLSelectMgr::instance().setFSShowHideHighlight(FS_SHOW_HIDE_HIGHLIGHT_NORMAL);
|
||||
|
||||
mCheckActualRoot = getChild<LLCheckBoxCtrl>("checkbox actual root");
|
||||
mCheckSelectProbes = getChild<LLCheckBoxCtrl>("checkbox select probes");
|
||||
// </FS:KC>
|
||||
|
||||
|
||||
|
|
@ -428,6 +429,7 @@ LLFloaterTools::LLFloaterTools(const LLSD& key)
|
|||
// <FS:KC>
|
||||
mCheckShowHighlight(NULL),
|
||||
mCheckActualRoot(NULL),
|
||||
mCheckSelectProbes(NULL),
|
||||
// </FS:KC>
|
||||
|
||||
mBtnRotateLeft(NULL),
|
||||
|
|
@ -1014,6 +1016,7 @@ void LLFloaterTools::updatePopup(LLCoordGL center, MASK mask)
|
|||
// <FS:KC>
|
||||
if (mCheckShowHighlight) mCheckShowHighlight->setVisible( edit_visible );
|
||||
if (mCheckActualRoot) mCheckActualRoot->setVisible( edit_visible );
|
||||
if (mCheckSelectProbes) mCheckSelectProbes->setVisible( edit_visible );
|
||||
// </FS:KC>
|
||||
|
||||
// Create buttons
|
||||
|
|
|
|||
|
|
@ -171,6 +171,7 @@ public:
|
|||
LLCheckBoxCtrl* mCheckStretchTexture;
|
||||
LLCheckBoxCtrl* mCheckShowHighlight; //Phoenix:KC
|
||||
LLCheckBoxCtrl* mCheckActualRoot; //Phoenix:KC
|
||||
LLCheckBoxCtrl* mCheckSelectProbes; // <FS:PP>
|
||||
|
||||
// Ansariel: Reverted the hack because then when clicking the label it
|
||||
// doesn't check the checkbox anymore!
|
||||
|
|
|
|||
|
|
@ -211,6 +211,7 @@ void LLHeroProbeManager::update()
|
|||
else
|
||||
{
|
||||
mNearestHero = nullptr;
|
||||
mDefaultProbe->mViewerObject = nullptr; // <FS:Beq/> FIRE-34201 TP crash
|
||||
}
|
||||
|
||||
mHeroProbeStrength = 1;
|
||||
|
|
@ -219,6 +220,7 @@ void LLHeroProbeManager::update()
|
|||
else
|
||||
{
|
||||
mNearestHero = nullptr;
|
||||
mDefaultProbe->mViewerObject = nullptr; // <FS:Beq/> FIRE-34201 TP crash
|
||||
}
|
||||
// </FS:Beq>
|
||||
}
|
||||
|
|
|
|||
|
|
@ -381,11 +381,6 @@ static void update_tp_display(bool minimized)
|
|||
gViewerWindow->setProgressPercent(75.f);
|
||||
}
|
||||
|
||||
if (!gSavedSettings.getBOOL("FSDisableTeleportScreens"))
|
||||
{
|
||||
gAgentCamera.resetView(true, true);
|
||||
}
|
||||
|
||||
// <FS:Ansariel> FIRE-12004: Attachments getting lost on TP
|
||||
gPostTeleportFinishKillObjectDelayTimer.reset();
|
||||
break;
|
||||
|
|
@ -394,7 +389,7 @@ static void update_tp_display(bool minimized)
|
|||
// Make the user wait while content "pre-caches"
|
||||
{
|
||||
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;
|
||||
//LLFirstUse::useTeleport();
|
||||
|
|
|
|||
|
|
@ -507,6 +507,30 @@ void LLViewerTexture::initClass()
|
|||
F32 texmem_lower_bound_scale = 0.85f;
|
||||
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
|
||||
void LLViewerTexture::updateClass()
|
||||
{
|
||||
|
|
@ -538,12 +562,33 @@ void LLViewerTexture::updateClass()
|
|||
sFreeVRAMMegabytes = target - used;
|
||||
|
||||
F32 over_pct = llmax((used-target) / target, 0.f);
|
||||
// <FS:Ansariel> Restrict texture memory by available physical system memory
|
||||
//sDesiredDiscardBias = llmax(sDesiredDiscardBias, 1.f + over_pct);
|
||||
|
||||
//if (sDesiredDiscardBias > 1.f)
|
||||
//{
|
||||
// sDesiredDiscardBias -= gFrameIntervalSeconds * 0.01;
|
||||
//}
|
||||
|
||||
if (isSystemMemoryForTextureLow())
|
||||
{
|
||||
// System RAM is low -> ramp up discard bias over time to free memory
|
||||
if (sEvaluationTimer.getElapsedTimeF32() > GPU_MEMORY_CHECK_WAIT_TIME)
|
||||
{
|
||||
sDesiredDiscardBias += llmax(.1f, over_pct); // add at least 10% over-percentage
|
||||
sEvaluationTimer.reset();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
sDesiredDiscardBias = llmax(sDesiredDiscardBias, 1.f + over_pct);
|
||||
|
||||
if (sDesiredDiscardBias > 1.f)
|
||||
{
|
||||
sDesiredDiscardBias -= gFrameIntervalSeconds * 0.01;
|
||||
}
|
||||
}
|
||||
// </FS:Ansariel>
|
||||
|
||||
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())
|
||||
{
|
||||
// <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();
|
||||
|
||||
// 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());
|
||||
|
||||
vsize /= min_scale;
|
||||
vsize /= LLViewerTexture::sDesiredDiscardBias;
|
||||
vsize /= llmax(1.f, (LLViewerTexture::sDesiredDiscardBias-1.f) * (1.f + face->getDrawable()->mDistanceWRTCamera * bias_distance_scale));
|
||||
// <FS:Beq> Fix Blurry textures and use importance weight
|
||||
// vsize /= LLViewerTexture::sDesiredDiscardBias;
|
||||
// vsize /= llmax(1.f, (LLViewerTexture::sDesiredDiscardBias-1.f) * (1.f + face->getDrawable()->mDistanceWRTCamera * bias_distance_scale));
|
||||
|
||||
F32 radius;
|
||||
F32 cos_angle_to_view_dir;
|
||||
bool in_frustum = face->calcPixelArea(cos_angle_to_view_dir, radius);
|
||||
if (!in_frustum || !face->getDrawable()->isVisible())
|
||||
// F32 radius;
|
||||
// F32 cos_angle_to_view_dir;
|
||||
// bool in_frustum = face->calcPixelArea(cos_angle_to_view_dir, radius);
|
||||
// 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
|
||||
vsize /= LLViewerTexture::sDesiredDiscardBias;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4968,8 +4968,12 @@ void LLVOAvatar::updateOrientation(LLAgent& agent, F32 speed, F32 delta_time)
|
|||
|
||||
LLVector3 pelvisDir( mRoot->getWorldMatrix().getFwdRow4().mV );
|
||||
|
||||
const F32 AVATAR_PELVIS_ROTATE_THRESHOLD_SLOW = 60.0f;
|
||||
const F32 AVATAR_PELVIS_ROTATE_THRESHOLD_FAST = 2.0f;
|
||||
// <FS:Beq> FIRE-34196 Restore the pelvis rotation threshold config removed by LL as "unused"
|
||||
// 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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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" ?>
|
||||
<panel name="Texture">
|
||||
<panel name="Texture" label="Textur">
|
||||
<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.
|
||||
</panel.string>
|
||||
|
|
|
|||
|
|
@ -3282,14 +3282,14 @@ Low ↔ Lwst
|
|||
top_pad="8"
|
||||
width="132" />
|
||||
</panel>
|
||||
<!-- <FS:Zi> switchable edit texture/materials panel
|
||||
<panel
|
||||
label="Texture"
|
||||
help_topic="toolbox_texture_tab"
|
||||
name="Texture">
|
||||
<!-- <FS:Zi> switchable edit texture/materials panel
|
||||
filename="panel_tools_texture.xml">
|
||||
-->
|
||||
</panel>
|
||||
-->
|
||||
<panel
|
||||
border="false"
|
||||
follows="all"
|
||||
|
|
|
|||
|
|
@ -111,7 +111,6 @@
|
|||
name="base_color_tint_picker"
|
||||
label="Tint"
|
||||
can_apply_immediately="true"
|
||||
allow_no_texture="true"
|
||||
tool_tip="Click to choose the base color tint"
|
||||
/>
|
||||
|
||||
|
|
@ -2110,7 +2109,6 @@
|
|||
max_val="255"
|
||||
increment="1"
|
||||
decimal_digits="0"
|
||||
text_readonly_color="LabelDisabledColor"
|
||||
enabled_control="FSInternalFaceHasBPSpecularMap"
|
||||
/>
|
||||
|
||||
|
|
@ -2958,7 +2956,6 @@
|
|||
top_pad="5"
|
||||
right="-4"
|
||||
height="2"
|
||||
visibility_control="FSInternalCanEditObjectFaces"
|
||||
/>
|
||||
|
||||
<panel
|
||||
|
|
|
|||
|
|
@ -501,7 +501,6 @@ Bas ↔ + bas
|
|||
<spinner label="Densité en 100 kg/m^3" name="Physics Density"/>
|
||||
<spinner label="Restitution" name="Physics Restitution"/>
|
||||
</panel>
|
||||
<panel label="Texture" name="Texture"/>
|
||||
<panel label="Contenu" name="Contents">
|
||||
<button label="Nouveau script" label_selected="Nouveau script" name="button new script"/>
|
||||
<button label="Droits" name="button permissions"/>
|
||||
|
|
|
|||
|
|
@ -54,9 +54,9 @@ Concurrence: [CONCURRENCY]
|
|||
Version OS : [OS_VERSION]
|
||||
Distributeur de cartes graphiques : [GRAPHICS_CARD_VENDOR]
|
||||
Carte graphique : [GRAPHICS_CARD]
|
||||
Mémoire de cartes graphiques : [GRAPHICS_CARD_MEMORY] MB
|
||||
Mémoire de cartes graphiques (Detected): [GRAPHICS_CARD_MEMORY_DETECTED] MB
|
||||
Mémoire de cartes graphiques (Budget): [VRAM_BUDGET]
|
||||
Mémoire de carte graphique : [GRAPHICS_CARD_MEMORY] Mo
|
||||
Mémoire de carte graphique (Détectée): [GRAPHICS_CARD_MEMORY_DETECTED] Mo
|
||||
Mémoire de carte graphique (Capacité): [VRAM_BUDGET]
|
||||
</string>
|
||||
<string name="AboutDriver">
|
||||
Version Windows Graphics Driver : [GRAPHICS_DRIVER_VERSION]
|
||||
|
|
@ -7135,4 +7135,7 @@ Votre position actuelle : [AVATAR_POS]
|
|||
<string name="OpenSimInventoryValidationErrorGenericHelp">
|
||||
l'équipe d'assistance de votre gestionnaire de grille
|
||||
</string>
|
||||
<string name="Unlimited">
|
||||
Illimité
|
||||
</string>
|
||||
</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.string name="title_for_recently_used" value="Usate di recente"/>
|
||||
<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">
|
||||
Nessuna emoji selezionata
|
||||
</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.
|
||||
</text>
|
||||
<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"/>
|
||||
</layout_panel>
|
||||
</layout_stack>
|
||||
|
|
|
|||
|
|
@ -12,9 +12,6 @@
|
|||
<floater.string name="step_wait">
|
||||
Attendi:
|
||||
</floater.string>
|
||||
<floater.string name="stop_txt">
|
||||
Stop
|
||||
</floater.string>
|
||||
<floater.string name="preview_txt">
|
||||
Anteprima
|
||||
</floater.string>
|
||||
|
|
@ -58,13 +55,9 @@
|
|||
<text name="options_text">
|
||||
(opzioni)
|
||||
</text>
|
||||
<radio_group name="animation_trigger_type">
|
||||
<radio_item label="Avvia" name="start"/>
|
||||
<radio_item label="Ferma" name="stop"/>
|
||||
</radio_group>
|
||||
<check_box label="finché le animazioni sono eseguite" name="wait_anim_check"/>
|
||||
<check_box label="fino al rilascio del pulsante" name="wait_key_release_check" />
|
||||
<check_box label="fino alla fine dell'animazione" name="wait_anim_check"/>
|
||||
<check_box label="durata in secondi:" name="wait_time_check"/>
|
||||
<line_editor name="wait_time_editor"/>
|
||||
<text name="help_label">
|
||||
Tutte le fasi avvengono contemporaneamente, a meno che non aggiungi fasi di attesa.
|
||||
</text>
|
||||
|
|
|
|||
|
|
@ -1,14 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<floater name="Scene Load Statistics" title="Statistiche Caricamento Scena">
|
||||
<button label="In pausa" name="playpause"/>
|
||||
<scroll_container name="statistics_scroll">
|
||||
<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="Dati UDP ricevuti" name="bandwidth"/>
|
||||
<stat_bar label="Perdita pacchetti" name="packet_loss"/>
|
||||
</stat_view>
|
||||
<stat_view label="Avanzata" name="advanced">
|
||||
<stat_view label="Avanzate" name="advanced">
|
||||
<stat_view label="Render" name="render">
|
||||
<stat_bar label="Totale oggetti" name="objs"/>
|
||||
<stat_bar label="Nuovi oggetti" name="newobjs"/>
|
||||
|
|
@ -17,6 +16,10 @@
|
|||
<stat_view label="Texture" name="texture">
|
||||
<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 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 grezzo" name="numrawimagesstat"/>
|
||||
</stat_view>
|
||||
|
|
@ -41,7 +44,7 @@
|
|||
<stat_bar label="Caricamenti in attesa" name="simpendinguploads"/>
|
||||
<stat_bar label="Numero totale byte non confermati (Unacked)" name="simtotalunackedbytes"/>
|
||||
<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 motore fisico" name="simsimphysicsmsec"/>
|
||||
<stat_bar label="Tempo simulazione" name="simsimothermsec"/>
|
||||
|
|
@ -50,14 +53,21 @@
|
|||
<stat_bar label="Tempo script" name="simscriptmsec"/>
|
||||
<stat_bar label="Tempo libero" name="simsparemsec"/>
|
||||
<stat_view label="Dettagli tempo (ms)" name="timedetails">
|
||||
<stat_bar label="Passaggio fisica" name="simsimphysicsstepmsec"/>
|
||||
<stat_bar label="Aggiorna forme fisica" name="simsimphysicsshapeupdatemsec"/>
|
||||
<stat_bar label="Altro fisica" name="simsimphysicsothermsec"/>
|
||||
<stat_bar label="Tempo pausa" name="simsleepmsec"/>
|
||||
<stat_bar label="IO pompa" name="simpumpiomsec"/>
|
||||
<stat_bar label=" Step della fisica" name="simsimphysicsstepmsec"/>
|
||||
<stat_bar label=" Update forme fisiche" name="simsimphysicsshapeupdatemsec"/>
|
||||
<stat_bar label=" Fisica altro" name="simsimphysicsothermsec"/>
|
||||
<stat_bar label=" Tempo di pausa" name="simsleepmsec"/>
|
||||
<stat_bar label=" Pump IO" name="simpumpiomsec"/>
|
||||
</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>
|
||||
</scroll_container>
|
||||
</floater>
|
||||
|
|
|
|||
|
|
@ -142,7 +142,7 @@
|
|||
[CAPACITY_STRING] [secondlife:///app/openfloater/object_weights Maggiori informazioni]
|
||||
</text>
|
||||
<tab_container name="Object Info Tabs">
|
||||
<panel label="Generale" name="General">
|
||||
<panel label="Gener." name="General">
|
||||
<panel.string name="text deed continued">
|
||||
Cedi
|
||||
</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="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="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_item_call label="Nuova camicia" name="New Shirt"/>
|
||||
<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 occhi" name="New Eyes"/>
|
||||
</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>
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
<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="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 script" name="New Script"/>
|
||||
<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="Rimuovi dall'abito attuale" name="take_off"/>
|
||||
<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">
|
||||
<menu_item_call label="Nuova camicia" name="New Shirt"/>
|
||||
<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 occhi" name="New Eyes"/>
|
||||
</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>
|
||||
|
|
|
|||
|
|
@ -3,7 +3,9 @@
|
|||
<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="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="Rinomina abito" name="rename"/>
|
||||
<menu_item_call label="Salva su questo abito" name="save" />
|
||||
<menu_item_call label="Elimina abito" name="delete"/>
|
||||
</context_menu>
|
||||
|
|
|
|||
|
|
@ -4,4 +4,5 @@
|
|||
<menu_item_call label="Maggiori informazioni" name="More Information"/>
|
||||
<menu_item_call label="Mostra sulla mappa" name="show_on_map" />
|
||||
<menu_item_call label="Copia SLurl" name="CopyToClipboard"/>
|
||||
<menu_item_call label="Rimuovi dallo storico" name="remove_from_history" />
|
||||
</toggleable_menu>
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@
|
|||
<menu label="Stacca" name="Avatar Detach" />
|
||||
<menu_item_call label="Stacca tutti" name="Detach All" />
|
||||
</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="Altezza da terra" name="HoverHeight" />
|
||||
<menu label="Movimento" name="Movement">
|
||||
|
|
@ -288,6 +289,7 @@
|
|||
<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="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_call label="Segnala un abuso" name="Report Abuse"/>
|
||||
<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_check label="Test riavvio regione" name="Region Restart Test"/>
|
||||
<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 texture dei caratteri" name="Dump Font Textures" />
|
||||
<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 visualizzazione" name="Debug Views"/>
|
||||
<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 eventi mouse" name="Debug Mouse Events"/>
|
||||
<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:
|
||||
|
||||
'[ERROR_CODE]'
|
||||
</notification>
|
||||
<notification name="InvalidKeystroke">
|
||||
È stato premuto un tasto non valido.
|
||||
[REASON].
|
||||
Per favore inserisci il testo corretto.
|
||||
</notification>
|
||||
<notification name="MerchantForceValidateListing">
|
||||
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'.
|
||||
</notification>
|
||||
<notification name="InvalidTerrainMaterialNotLoaded">
|
||||
Impossibile impostare le texture della regione:
|
||||
Impossibile impostare i materiali della regione:
|
||||
Il materiale del terreno [MATERIAL_NUM] non è stato caricato.
|
||||
|
||||
Attendi il caricamento del materiale o sostituisci il materiale [MATERIAL_NUM] con un materiale corretto.
|
||||
</notification>
|
||||
<notification name="InvalidTerrainMaterialLoadFailed">
|
||||
Impossibile impostare le texture della regione:
|
||||
Impossibile impostare i materiali della regione:
|
||||
Il materiale del terreno [MATERIAL_NUM] non è stato caricato.
|
||||
|
||||
Sostituisci il materiale [MATERIAL_NUM] con un materiale corretto.
|
||||
</notification>
|
||||
<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.
|
||||
|
||||
Sostituisci il materiale [MATERIAL_NUM] con un materiale con doubleSided=false.
|
||||
</notification>
|
||||
<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.
|
||||
|
||||
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" />
|
||||
</notification>
|
||||
<notification name="GroupLeaveConfirmMember">
|
||||
Attualmente sei un membro del gruppo <nolink>[GROUP]</nolink>.
|
||||
Lasciare il gruppo?
|
||||
<usetemplate name="okcancelbuttons" notext="Annulla" />
|
||||
Abbandona il gruppo '<nolink>[GROUP]</nolink>'?
|
||||
La tariffa attuale per rientrare in questo gruppo è [COST]L$.
|
||||
<usetemplate name="okcancelbuttons" notext="Annulla" yestext="Abbandona" />
|
||||
</notification>
|
||||
<notification name="GroupDepart">
|
||||
Hai lasciato il gruppo '<nolink>[group_name]</nolink>'.
|
||||
</notification>
|
||||
<notification name="GroupLeaveConfirmMemberWithFee">
|
||||
Attualmente sei membro del gruppo <nolink>[GROUP]</nolink>. Aderire nuovamente costa L$[AMOUNT].
|
||||
Lasciare il gruppo?
|
||||
<usetemplate name="okcancelbuttons" notext="Annulla" />
|
||||
<notification name="GroupLeaveConfirmMemberNoFee">
|
||||
Abbandona il gruppo '<nolink>[GROUP]</nolink>'?
|
||||
Al momento non è previsto alcun costo per rientrare in questo gruppo.
|
||||
<usetemplate name="okcancelbuttons" notext="Annulla" yestext="Abbandona" />
|
||||
</notification>
|
||||
<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.
|
||||
|
|
@ -2361,6 +2363,15 @@ Questa azione non può essere annullata.
|
|||
Confermare la cancellazione?
|
||||
<usetemplate ignoretext="Conferma prima di eliminare gli elementi filtrati" name="okcancelignore" notext="Annulla" />
|
||||
</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">
|
||||
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" />
|
||||
|
|
@ -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.
|
||||
<usetemplate ignoretext="Avvisami quando una mesh riggata viene indossata su un punto di attacco HUD." name="okignore" />
|
||||
</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">
|
||||
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"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<panel name="panel_login">
|
||||
<string name="ServerComboTooltip">
|
||||
Una griglia esistente o l'URI di una griglia
|
||||
</string>
|
||||
<layout_stack name="login_widgets">
|
||||
<layout_panel name="login">
|
||||
<text name="log_in_text">
|
||||
|
|
@ -9,7 +12,7 @@
|
|||
Nome utente:
|
||||
</text>
|
||||
<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">
|
||||
Password:
|
||||
</text>
|
||||
|
|
@ -25,8 +28,11 @@
|
|||
</combo_box>
|
||||
</layout_panel>
|
||||
<layout_panel name="grid_panel">
|
||||
<text name="grid_builder_text">
|
||||
+ Clicca per aggiungere altre griglie
|
||||
</text>
|
||||
<text name="grid_login_text">
|
||||
Entra nella grid:
|
||||
Entra nella griglia:
|
||||
</text>
|
||||
</layout_panel>
|
||||
<layout_panel name="links_login_panel">
|
||||
|
|
@ -42,10 +48,10 @@
|
|||
</layout_panel>
|
||||
<layout_panel name="mode_selection">
|
||||
<text name="mode_selection_text">
|
||||
Interfaccia:
|
||||
MODALITÀ
|
||||
</text>
|
||||
<combo_box tool_tip="Scegliere la modalità di vista preferita per impostare le opzioni predefinite." name="mode_combo">
|
||||
<combo_box.item label="Ibrido" name="Hybrid"/>
|
||||
<combo_box tool_tip="Seleziona la tua modalità preferita, verranno applicate le impostazioni predefinite." name="mode_combo">
|
||||
<combo_box.item label="Ibrida" name="Hybrid"/>
|
||||
<combo_box.item label="Testo" name="Text"/>
|
||||
</combo_box>
|
||||
</layout_panel>
|
||||
|
|
|
|||
|
|
@ -1,23 +1,23 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<panel name="panel_login">
|
||||
<panel.string name="forgot_password_url">
|
||||
http://secondlife.com/account/request.php?lang=it
|
||||
</panel.string>
|
||||
<string name="ServerComboTooltip">
|
||||
Una griglia esistente o l'URI di una griglia
|
||||
</string>
|
||||
<layout_stack name="ui_stack">
|
||||
<layout_panel name="ui_container">
|
||||
<layout_stack name="vert_stack_left">
|
||||
<layout_panel name="1st_row">
|
||||
<layout_stack name="1st_row_stack">
|
||||
<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"/>
|
||||
</layout_panel> <!-- login -->
|
||||
<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 name="password_container">
|
||||
<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 name="start_location_panel">
|
||||
<combo_box label="Luogo di avvio" name="start_location_combo">
|
||||
|
|
@ -31,17 +31,20 @@
|
|||
<layout_panel name="2nd_row">
|
||||
<layout_stack name="2nd_row_stack">
|
||||
<layout_panel name="grid_panel">
|
||||
<text name="grid_login_text">
|
||||
Grid:
|
||||
<text name="grid_login_text" width="50">
|
||||
Griglia:
|
||||
</text>
|
||||
<text name="grid_builder_text">
|
||||
+ Clicca per aggiungere altre griglie
|
||||
</text>
|
||||
</layout_panel>
|
||||
<layout_panel name="mode_selection">
|
||||
<text name="mode_selection_text">
|
||||
Interfaccia:
|
||||
Modalità:
|
||||
</text>
|
||||
<combo_box tool_tip="Scegliere lo stile di visualizzazione preferito per impostare di conseguenza le opzioni." name="mode_combo">
|
||||
<combo_box.item label="Hybrid" name="Hybrid" />
|
||||
<combo_box.item label="Text" name="Text" />
|
||||
<combo_box tool_tip="Seleziona la tua modalità preferita, verranno applicate le impostazioni predefinite." name="mode_combo">
|
||||
<combo_box.item label="Ibrida" name="Hybrid" />
|
||||
<combo_box.item label="Testo" name="Text" />
|
||||
</combo_box>
|
||||
</layout_panel>
|
||||
</layout_stack> <!-- 2nd_row_stack -->
|
||||
|
|
@ -49,7 +52,7 @@
|
|||
</layout_stack> <!-- vert_stack -->
|
||||
<button label="Entra" name="connect_btn"/>
|
||||
<text name="create_new_account_text">
|
||||
Crea un account
|
||||
Crea nuovo account
|
||||
</text>
|
||||
<text name="forgot_password_text">
|
||||
Password dimenticata?
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@
|
|||
</text>
|
||||
</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">
|
||||
<text name="pbr_transforms_base_color_scale_label">
|
||||
Scala
|
||||
|
|
|
|||
|
|
@ -10,7 +10,16 @@
|
|||
Aderisci ([AMOUNT] L$)
|
||||
</panel.string>
|
||||
<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>
|
||||
<layout_stack name="group_info_sidetray_main">
|
||||
<layout_panel name="header_container">
|
||||
|
|
@ -32,11 +41,14 @@
|
|||
</layout_panel>
|
||||
</layout_stack>
|
||||
<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">
|
||||
<button label="Chat" name="btn_chat"/>
|
||||
</layout_panel>
|
||||
<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 name="btn_apply_lp">
|
||||
<button label="Salva" label_selected="Salva" name="btn_apply"/>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<panel name="group_list_item">
|
||||
<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="profile_btn" tool_tip="Vedi profilo"/>
|
||||
</panel>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<panel name="group_list_item">
|
||||
<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_show_btn" tool_tip="Mostra gruppo sul mio profilo" />
|
||||
<button name="info_btn" tool_tip="Maggiori informazioni"/>
|
||||
|
|
|
|||
|
|
@ -87,6 +87,9 @@
|
|||
</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="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 name="UI-interface-top-bars" label="Barra Superiore">
|
||||
<text name="statusbar_textbox">
|
||||
|
|
@ -228,29 +231,27 @@
|
|||
Tipo carattere:
|
||||
</text>
|
||||
<text name="tooltip_textbox2">
|
||||
(richiesto riavvio)
|
||||
(richiede riavvio)
|
||||
</text>
|
||||
<text name="tooltip_textbox5">
|
||||
Grandezza carattere:
|
||||
</text>
|
||||
<text name="tooltip_textbox6" >
|
||||
pt (Richiesto riavvio)
|
||||
pt (richiede riavvio)
|
||||
Predefinito 0. Valori più grandi non funzionano bene
|
||||
</text>
|
||||
<text name="tooltip_textbox3">
|
||||
Distanza massima
|
||||
linee della chat:
|
||||
Spaziatura chat:
|
||||
</text>
|
||||
<text name="tooltip_textbox4">
|
||||
pixel (richiesto riavvio)
|
||||
pixel (richiede riavvio)
|
||||
[VIEWER_GENERATION]-Default 0. V1 Default 2.
|
||||
</text>
|
||||
<text name="Label_FolderItemViewHeight">
|
||||
Distanza massima
|
||||
cartelle inventario:
|
||||
Altezza cartella:
|
||||
</text>
|
||||
<text name="Label_FolderItemViewHeight_Scale">
|
||||
pixel (richiesto riavvio)
|
||||
pixel (richiede riavvio)
|
||||
[VIEWER_GENERATION]-Default 20. V1 Default 18.
|
||||
</text>
|
||||
<text name="text_box_notecard_font" width="135">
|
||||
|
|
@ -262,6 +263,11 @@ cartelle inventario:
|
|||
<combo_item name="Medium" label="Medio" />
|
||||
<combo_item name="Large" label="Grande" />
|
||||
</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>
|
||||
</tab_container>
|
||||
</panel>
|
||||
|
|
|
|||
|
|
@ -141,10 +141,12 @@
|
|||
<check_box name="FSChatbarNamePrediction" label="Abilita predizione nomi in chat locale"/>
|
||||
<check_box name="AllowMUpose" label="":" come sinonimo di "/me""/>
|
||||
<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="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="Deseleziona barra chat dopo Invio" name="CloseChatOnReturn" />
|
||||
<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 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 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="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"/>
|
||||
|
|
|
|||
|
|
@ -74,7 +74,8 @@
|
|||
<button label="Sblocca" name="unblock" tool_tip="Sblocca questo residente"/>
|
||||
</layout_panel>
|
||||
</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="discard_description_changes" label="Annulla" />
|
||||
</panel>
|
||||
|
|
|
|||
|
|
@ -76,8 +76,8 @@
|
|||
<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.item label="Ignora oggetto" name="Ignoreobject" />
|
||||
</combo_box>
|
||||
<panel name="perms_inv">
|
||||
<text name="perm_modify">
|
||||
|
|
|
|||
|
|
@ -68,6 +68,9 @@ Banda (Bandwidth): [BANDWIDTH] kbit/s
|
|||
Fattore LOD (LOD factor): [LOD]
|
||||
Qualità resa (Render quality): [RENDERQUALITY]
|
||||
</string>
|
||||
<string name="AboutCache">
|
||||
Cache del disco (disk cache): [DISK_CACHE_INFO]
|
||||
</string>
|
||||
<string name="AboutOSXHiDPI">
|
||||
Modalità display HiDPI: [HIDPI]
|
||||
</string>
|
||||
|
|
@ -1370,6 +1373,51 @@ https://www.firestormviewer.org/support per avere aiuto nella soluzione.
|
|||
<string name="recompile_script_verb">
|
||||
Ricompila
|
||||
</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">
|
||||
Corpo
|
||||
</string>
|
||||
|
|
@ -5159,9 +5207,12 @@ Segnala abuso
|
|||
<string name="New Settings">
|
||||
Nuovo ambiente
|
||||
</string>
|
||||
<string name="AvatarBirthDateFormat">
|
||||
<string name="AvatarBirthDateFormatFull">
|
||||
[day,datetime,utc]/[mthnum,datetime,utc]/[year,datetime,utc]
|
||||
</string>
|
||||
<string name="AvatarBirthDateFormatShort">
|
||||
[day,datetime,utc]/[mthnum,datetime,utc]
|
||||
</string>
|
||||
<string name="AvatarBirthDateFormat_legacy">
|
||||
[day,datetime,slt]/[mthnum,datetime,slt]/[year,datetime,slt]
|
||||
</string>
|
||||
|
|
@ -5271,7 +5322,8 @@ Segnala abuso
|
|||
Questo abito non contiene alcun elemento
|
||||
</string>
|
||||
<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 name="ExternalEditorNotFound">
|
||||
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">
|
||||
ha attivato l'allarme età. Età: [AGE] giorno/i
|
||||
</string>
|
||||
<string name="avatar_age_not_available">
|
||||
n.d.
|
||||
</string>
|
||||
<string name="TotalScriptCountChangeIncrease">
|
||||
Il totale degli script nella regione è salito da [OLD_VALUE] a [NEW_VALUE] ([DIFFERENCE]).
|
||||
</string>
|
||||
|
|
|
|||
|
|
@ -3280,14 +3280,13 @@ Low ↔ Lwst
|
|||
top_pad="8"
|
||||
width="132" />
|
||||
</panel>
|
||||
<!-- <FS:Zi> switchable edit texture/materials panel
|
||||
<panel
|
||||
label="Texture"
|
||||
help_topic="toolbox_texture_tab"
|
||||
name="Texture">
|
||||
<!-- <FS:Zi> switchable edit texture/materials panel
|
||||
filename="panel_tools_texture.xml">
|
||||
-->
|
||||
</panel>
|
||||
-->
|
||||
<panel
|
||||
border="false"
|
||||
follows="all"
|
||||
|
|
|
|||
|
|
@ -3280,14 +3280,14 @@ Low ↔ Lwst
|
|||
top_pad="8"
|
||||
width="132" />
|
||||
</panel>
|
||||
<!-- <FS:Zi> switchable edit texture/materials panel
|
||||
<panel
|
||||
label="Texture"
|
||||
help_topic="toolbox_texture_tab"
|
||||
name="Texture">
|
||||
<!-- <FS:Zi> switchable edit texture/materials panel
|
||||
filename="panel_tools_texture.xml">
|
||||
-->
|
||||
</panel>
|
||||
-->
|
||||
<panel
|
||||
border="false"
|
||||
follows="all"
|
||||
|
|
|
|||
|
|
@ -3281,14 +3281,14 @@ Low ↔ Lwst
|
|||
top_pad="8"
|
||||
width="132" />
|
||||
</panel>
|
||||
<!-- <FS:Zi> switchable edit texture/materials panel
|
||||
<panel
|
||||
label="Texture"
|
||||
help_topic="toolbox_texture_tab"
|
||||
name="Texture">
|
||||
<!-- <FS:Zi> switchable edit texture/materials panel
|
||||
filename="panel_tools_texture.xml">
|
||||
-->
|
||||
</panel>
|
||||
-->
|
||||
<panel
|
||||
border="false"
|
||||
follows="all"
|
||||
|
|
|
|||
Loading…
Reference in New Issue