Merge branch 'master' into ManagedMarketplace
# Conflicts: # indra/newview/llinventorybridge.cpp # indra/newview/lltooldraganddrop.h
This commit is contained in:
@@ -84,6 +84,7 @@ if (WINDOWS)
|
||||
/DNOMINMAX
|
||||
/DUNICODE
|
||||
/D_UNICODE
|
||||
/DBOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE
|
||||
/GS
|
||||
/TP
|
||||
/W3
|
||||
@@ -107,7 +108,7 @@ if (WINDOWS)
|
||||
endif (USE_LTO)
|
||||
|
||||
if (WORD_SIZE EQUAL 32)
|
||||
add_compile_options(/arch:SSE2)
|
||||
add_compile_options(/arch:SSE3)
|
||||
endif (WORD_SIZE EQUAL 32)
|
||||
|
||||
if (NOT DISABLE_FATAL_WARNINGS)
|
||||
@@ -212,23 +213,23 @@ if (LINUX)
|
||||
if (NOT STANDALONE)
|
||||
set(MARCH_FLAG " -march=pentium4")
|
||||
endif (NOT STANDALONE)
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}${MARCH_FLAG} -fno-inline -msse2")
|
||||
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}${MARCH_FLAG} -fno-inline -msse2")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}${MARCH_FLAG} -mfpmath=sse,387 -msse2 ${GCC_EXTRA_OPTIMIZATIONS}")
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}${MARCH_FLAG} -mfpmath=sse,387 -msse2 ${GCC_EXTRA_OPTIMIZATIONS}")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}${MARCH_FLAG} -mfpmath=sse,387 -msse2 ${GCC_EXTRA_OPTIMIZATIONS}")
|
||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}${MARCH_FLAG} -mfpmath=sse,387 -msse2 ${GCC_EXTRA_OPTIMIZATIONS}")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}${MARCH_FLAG} -fno-inline -msse3")
|
||||
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}${MARCH_FLAG} -fno-inline -msse3")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}${MARCH_FLAG} -mfpmath=sse,387 -msse3 ${GCC_EXTRA_OPTIMIZATIONS}")
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}${MARCH_FLAG} -mfpmath=sse,387 -msse3 ${GCC_EXTRA_OPTIMIZATIONS}")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}${MARCH_FLAG} -mfpmath=sse,387 -msse3 ${GCC_EXTRA_OPTIMIZATIONS}")
|
||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}${MARCH_FLAG} -mfpmath=sse,387 -msse3 ${GCC_EXTRA_OPTIMIZATIONS}")
|
||||
endif (${ARCH} STREQUAL "x86_64")
|
||||
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}${MARCH_FLAG} -fno-inline -msse2")
|
||||
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}${MARCH_FLAG} -fno-inline -msse2")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}${MARCH_FLAG} -msse2")
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}${MARCH_FLAG} -msse2")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}${MARCH_FLAG} -msse2")
|
||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}${MARCH_FLAG} -msse2")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}${MARCH_FLAG} -fno-inline -msse3")
|
||||
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}${MARCH_FLAG} -fno-inline -msse3")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}${MARCH_FLAG} -msse3")
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}${MARCH_FLAG} -msse3")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}${MARCH_FLAG} -msse3")
|
||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}${MARCH_FLAG} -msse3")
|
||||
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
|
||||
if (NOT STANDALONE)
|
||||
set(MARCH_FLAG " -axsse4.1 -msse2")
|
||||
set(MARCH_FLAG " -axsse4.1 -msse3")
|
||||
endif (NOT STANDALONE)
|
||||
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}${MARCH_FLAG} -fno-inline-functions")
|
||||
|
||||
@@ -25,7 +25,6 @@ include_directories(
|
||||
|
||||
set(llcommon_SOURCE_FILES
|
||||
aialert.cpp
|
||||
aifile.cpp
|
||||
aiframetimer.cpp
|
||||
aisyncclient.cpp
|
||||
aithreadid.cpp
|
||||
@@ -116,7 +115,6 @@ set(llcommon_HEADER_FILES
|
||||
CMakeLists.txt
|
||||
|
||||
aialert.h
|
||||
aifile.h
|
||||
aiframetimer.h
|
||||
airecursive.h
|
||||
aisyncclient.h
|
||||
|
||||
@@ -1,119 +0,0 @@
|
||||
/**
|
||||
* @file aifile.cpp
|
||||
* @brief POSIX file operations that throw on error.
|
||||
*
|
||||
* Copyright (c) 2013, Aleric Inglewood.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* There are special exceptions to the terms and conditions of the GPL as
|
||||
* it is applied to this Source Code. View the full text of the exception
|
||||
* in the file doc/FLOSS-exception.txt in this software distribution.
|
||||
*
|
||||
* CHANGELOG
|
||||
* and additional copyright holders.
|
||||
*
|
||||
* 03/11/2013
|
||||
* Initial version, written by Aleric Inglewood @ SL
|
||||
*/
|
||||
|
||||
#include "linden_common.h"
|
||||
#include "aifile.h"
|
||||
#include "aialert.h"
|
||||
|
||||
#if LL_WINDOWS
|
||||
#include <windows.h>
|
||||
#include <stdlib.h> // Windows errno
|
||||
#else
|
||||
#include <errno.h>
|
||||
#endif
|
||||
|
||||
AIFile::AIFile(std::string const& filename, char const* accessmode)
|
||||
{
|
||||
mFp = AIFile::fopen(filename, accessmode);
|
||||
}
|
||||
|
||||
AIFile::~AIFile()
|
||||
{
|
||||
AIFile::close(mFp);
|
||||
}
|
||||
|
||||
// Like THROW_MALERTE but appends "LLFile::strerr(errn) << " (" << errn << ')'" as argument to replace [ERROR].
|
||||
#define THROW_ERROR(...) \
|
||||
do { \
|
||||
int errn = errno; \
|
||||
std::ostringstream error; \
|
||||
error << LLFile::strerr(errn) << " (" << errn << ')'; \
|
||||
THROW_MALERT_CLASS(AIAlert::ErrorCode, errn, __VA_ARGS__ ("[ERROR]", error.str())); \
|
||||
} while(0)
|
||||
|
||||
//static
|
||||
void AIFile::mkdir(std::string const& dirname, int perms)
|
||||
{
|
||||
int rc = LLFile::mkdir_nowarn(dirname, perms);
|
||||
if (rc < 0 && errno != EEXIST)
|
||||
{
|
||||
THROW_ERROR("AIFile_mkdir_Failed_to_create_DIRNAME", AIArgs("[DIRNAME]", dirname));
|
||||
}
|
||||
}
|
||||
|
||||
//static
|
||||
void AIFile::rmdir(std::string const& dirname)
|
||||
{
|
||||
int rc = LLFile::rmdir_nowarn(dirname);
|
||||
if (rc < 0 && errno != ENOENT)
|
||||
{
|
||||
THROW_ERROR("AIFile_rmdir_Failed_to_remove_DIRNAME", AIArgs("[DIRNAME]", dirname));
|
||||
}
|
||||
}
|
||||
|
||||
//static
|
||||
LLFILE* AIFile::fopen(std::string const& filename, const char* mode)
|
||||
{
|
||||
LLFILE* fp = LLFile::fopen(filename, mode);
|
||||
if (!fp)
|
||||
{
|
||||
THROW_ERROR("AIFile_fopen_Failed_to_open_FILENAME", AIArgs("[FILENAME]", filename));
|
||||
}
|
||||
return fp;
|
||||
}
|
||||
|
||||
//static
|
||||
void AIFile::close(LLFILE* file)
|
||||
{
|
||||
if (LLFile::close(file) < 0)
|
||||
{
|
||||
THROW_ERROR("AIFile_close_Failed_to_close_file", AIArgs);
|
||||
}
|
||||
}
|
||||
|
||||
//static
|
||||
void AIFile::remove(std::string const& filename)
|
||||
{
|
||||
int rc = LLFile::remove_nowarn(filename);
|
||||
if (rc < 0 && errno != ENOENT)
|
||||
{
|
||||
THROW_ERROR("AIFile_remove_Failed_to_remove_FILENAME", AIArgs("[FILENAME]", filename));
|
||||
}
|
||||
}
|
||||
|
||||
//static
|
||||
void AIFile::rename(std::string const& filename, std::string const& newname)
|
||||
{
|
||||
if (LLFile::rename_nowarn(filename, newname) < 0)
|
||||
{
|
||||
THROW_ERROR("AIFile_rename_Failed_to_rename_FILE_to_NEWFILE", AIArgs("[FILE]", filename)("[NEWFILE]", newname));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,59 +0,0 @@
|
||||
/**
|
||||
* @file aifile.h
|
||||
* @brief Declaration of AIFile.
|
||||
*
|
||||
* Copyright (c) 2013, Aleric Inglewood.
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* There are special exceptions to the terms and conditions of the GPL as
|
||||
* it is applied to this Source Code. View the full text of the exception
|
||||
* in the file doc/FLOSS-exception.txt in this software distribution.
|
||||
*
|
||||
* CHANGELOG
|
||||
* and additional copyright holders.
|
||||
*
|
||||
* 02/11/2013
|
||||
* Initial version, written by Aleric Inglewood @ SL
|
||||
*/
|
||||
|
||||
#ifndef AIFILE_H
|
||||
#define AIFILE_H
|
||||
|
||||
#include "llfile.h"
|
||||
|
||||
// As LLFile, but throws AIAlert instead of printing a warning.
|
||||
class LL_COMMON_API AIFile
|
||||
{
|
||||
private:
|
||||
LLFILE* mFp;
|
||||
|
||||
public:
|
||||
// Scoped file (exception safe). Throws AIAlertCode with errno on failure.
|
||||
AIFile(std::string const& filename, char const* accessmode);
|
||||
~AIFile();
|
||||
|
||||
operator LLFILE* () const { return mFp; }
|
||||
|
||||
// All these functions take UTF8 path/filenames.
|
||||
static LLFILE* fopen(std::string const& filename, char const* accessmode);
|
||||
static void close(LLFILE* file);
|
||||
|
||||
static void mkdir(std::string const& dirname, int perms = 0700); // Does NOT throw when dirname already exists.
|
||||
static void rmdir(std::string const& dirname); // Does NOT throw when dirname does not exist.
|
||||
static void remove(std::string const& filename); // Does NOT throw when filename does not exist.
|
||||
static void rename(std::string const& filename, std::string const& newname);
|
||||
};
|
||||
|
||||
#endif // AIFILE_H
|
||||
@@ -140,19 +140,6 @@ const U32 DEFAULT_CGI_SERVICES_PORT = 12045;
|
||||
// on a single host for map tile generation. JC
|
||||
const U32 DEFAULT_MAPSERVER_PORT = 12124;
|
||||
|
||||
const char LAND_LAYER_CODE = 'L';
|
||||
const char WATER_LAYER_CODE = 'W';
|
||||
const char WIND_LAYER_CODE = '7';
|
||||
const char CLOUD_LAYER_CODE = '8';
|
||||
|
||||
// <FS:CR> Aurora Sim
|
||||
// Extended land layer for Aurora Sim
|
||||
const char AURORA_LAND_LAYER_CODE = 'M';
|
||||
const char AURORA_WATER_LAYER_CODE = 'X';
|
||||
const char AURORA_WIND_LAYER_CODE = '9';
|
||||
const char AURORA_CLOUD_LAYER_CODE = ':';
|
||||
// </FS:CR> Aurora Sim
|
||||
|
||||
enum ETerrainBrushType
|
||||
{
|
||||
// the valid brush numbers cannot be reordered, because they
|
||||
|
||||
@@ -101,6 +101,9 @@ LLAssetDictionary::LLAssetDictionary()
|
||||
addEntry(LLAssetType::AT_OUTFIT, new AssetEntry("OUTFIT", "outfit", "outfit", false, false, false));
|
||||
addEntry(LLAssetType::AT_MY_OUTFITS, new AssetEntry("MY_OUTFITS", "my_otfts", "my outfits", false, false, false));
|
||||
addEntry(LLAssetType::AT_MESH, new AssetEntry("MESH", "mesh", "mesh", false, true, true));
|
||||
addEntry(LLAssetType::AT_SETTINGS, new AssetEntry("SETTINGS", "settings", "settings blob", true, true, true));
|
||||
|
||||
addEntry(LLAssetType::AT_UNKNOWN, new AssetEntry("UNKNOWN", "invalid", NULL, false, false, false));
|
||||
addEntry(LLAssetType::AT_NONE, new AssetEntry("NONE", "-1", NULL, false, false, false));
|
||||
};
|
||||
|
||||
|
||||
@@ -135,7 +135,16 @@ public:
|
||||
AT_MESH = 49,
|
||||
// Mesh data in our proprietary SLM format
|
||||
|
||||
AT_COUNT = 50,
|
||||
AT_RESERVED_1 = 50,
|
||||
AT_RESERVED_2 = 51,
|
||||
AT_RESERVED_3 = 52,
|
||||
AT_RESERVED_4 = 53,
|
||||
AT_RESERVED_5 = 54,
|
||||
AT_RESERVED_6 = 55,
|
||||
|
||||
AT_SETTINGS = 56, // Collection of settings
|
||||
|
||||
AT_COUNT = 57,
|
||||
|
||||
// +*********************************************************+
|
||||
// | TO ADD AN ELEMENT TO THIS ENUM: |
|
||||
@@ -146,7 +155,7 @@ public:
|
||||
// | 4. ADD TO LLViewerAssetType.cpp |
|
||||
// | 5. ADD TO DEFAULT_ASSET_FOR_INV in LLInventoryType.cpp |
|
||||
// +*********************************************************+
|
||||
|
||||
AT_UNKNOWN = 255,
|
||||
AT_NONE = -1
|
||||
};
|
||||
|
||||
|
||||
@@ -253,23 +253,13 @@ namespace
|
||||
{
|
||||
#ifdef __GNUC__
|
||||
// GCC: type_info::name() returns a mangled class name,st demangle
|
||||
|
||||
static size_t abi_name_len = 100;
|
||||
static char* abi_name_buf = (char*)malloc(abi_name_len);
|
||||
// warning: above is voodoo inferred from the GCC manual,
|
||||
// do NOT change
|
||||
|
||||
int status;
|
||||
// We don't use status, and shouldn't have to pass apointer to it
|
||||
// but gcc 3.3 libstc++'s implementation of demangling is broken
|
||||
// and fails without.
|
||||
|
||||
char* name = abi::__cxa_demangle(type.name(),
|
||||
abi_name_buf, &abi_name_len, &status);
|
||||
// this call can realloc the abi_name_buf pointer (!)
|
||||
|
||||
return name ? name : type.name();
|
||||
|
||||
// passing nullptr, 0 forces allocation of a unique buffer we can free
|
||||
// fixing MAINT-8724 on OSX 10.14
|
||||
int status = -1;
|
||||
char* name = abi::__cxa_demangle(type.name(), nullptr, 0, &status);
|
||||
std::string result(name ? name : type.name());
|
||||
free(name);
|
||||
return result;
|
||||
#elif LL_WINDOWS
|
||||
// DevStudio: type_info::name() includes the text "class " at the start
|
||||
|
||||
|
||||
@@ -36,18 +36,36 @@
|
||||
#include "llformat.h"
|
||||
|
||||
#include <cstdarg>
|
||||
#include <boost/align/aligned_allocator.hpp>
|
||||
|
||||
// common used function with va_list argument
|
||||
// wrapper for vsnprintf to be called from llformatXXX functions.
|
||||
static void va_format(std::string& out, const char *fmt, va_list va)
|
||||
static void va_format(std::string& out, const char *fmt, va_list& va)
|
||||
{
|
||||
char tstr[1024]; /* Flawfinder: ignore */
|
||||
#if LL_WINDOWS
|
||||
_vsnprintf(tstr, 1024, fmt, va);
|
||||
typedef typename std::vector<char, boost::alignment::aligned_allocator<char, 1>> vec_t;
|
||||
static thread_local vec_t charvector(1024); // Evolves into charveleon
|
||||
#define vsnprintf(va) std::vsnprintf(charvector.data(), charvector.capacity(), fmt, va)
|
||||
#ifdef LL_WINDOWS // We don't have to copy on windows
|
||||
#define va2 va
|
||||
#else
|
||||
vsnprintf(tstr, 1024, fmt, va); /* Flawfinder: ignore */
|
||||
va_list va2;
|
||||
va_copy(va2, va);
|
||||
#endif
|
||||
out.assign(tstr);
|
||||
const auto smallsize(charvector.capacity());
|
||||
const auto size = vsnprintf(va);
|
||||
if (size < 0)
|
||||
{
|
||||
LL_ERRS() << "Encoding failed, code " << size << ". String hint: " << out << '/' << fmt << LL_ENDL;
|
||||
}
|
||||
else if (static_cast<vec_t::size_type>(size) >= smallsize) // Resize if we need more space
|
||||
{
|
||||
charvector.resize(1+size); // Use the String Stone
|
||||
vsnprintf(va2);
|
||||
}
|
||||
#ifndef LL_WINDOWS
|
||||
va_end(va2);
|
||||
#endif
|
||||
out.assign(charvector.data());
|
||||
}
|
||||
|
||||
std::string llformat(const char *fmt, ...)
|
||||
|
||||
@@ -85,6 +85,7 @@ LLInventoryDictionary::LLInventoryDictionary()
|
||||
addEntry(LLInventoryType::IT_ANIMATION, new InventoryEntry("animation", "animation", 1, LLAssetType::AT_ANIMATION));
|
||||
addEntry(LLInventoryType::IT_GESTURE, new InventoryEntry("gesture", "gesture", 1, LLAssetType::AT_GESTURE));
|
||||
addEntry(LLInventoryType::IT_MESH, new InventoryEntry("mesh", "mesh", 1, LLAssetType::AT_MESH));
|
||||
addEntry(LLInventoryType::IT_SETTINGS, new InventoryEntry("settings", "settings", 1, LLAssetType::AT_SETTINGS));
|
||||
}
|
||||
|
||||
|
||||
@@ -145,6 +146,15 @@ DEFAULT_ASSET_FOR_INV_TYPE[LLAssetType::AT_COUNT] =
|
||||
LLInventoryType::IT_NONE, // 47 AT_NONE
|
||||
LLInventoryType::IT_NONE, // 48 AT_NONE
|
||||
LLInventoryType::IT_MESH, // 49 AT_MESH
|
||||
|
||||
LLInventoryType::IT_NONE, // 50 AT_RESERVED_1
|
||||
LLInventoryType::IT_NONE, // 52 AT_RESERVED_2
|
||||
LLInventoryType::IT_NONE, // 53 AT_RESERVED_3
|
||||
LLInventoryType::IT_NONE, // 54 AT_RESERVED_4
|
||||
LLInventoryType::IT_NONE, // 55 AT_RESERVED_5
|
||||
LLInventoryType::IT_NONE, // 56 AT_RESERVED_6
|
||||
|
||||
LLInventoryType::IT_SETTINGS, // 57 AT_SETTINGS
|
||||
};
|
||||
|
||||
// static
|
||||
|
||||
@@ -62,8 +62,10 @@ public:
|
||||
IT_ANIMATION = 19,
|
||||
IT_GESTURE = 20,
|
||||
IT_MESH = 22,
|
||||
IT_COUNT = 23,
|
||||
IT_SETTINGS = 25,
|
||||
IT_COUNT = 26,
|
||||
|
||||
IT_UNKNOWN = 255,
|
||||
IT_NONE = -1
|
||||
};
|
||||
|
||||
@@ -108,8 +110,14 @@ public:
|
||||
ICONNAME_LINKFOLDER,
|
||||
ICONNAME_MESH,
|
||||
|
||||
ICONNAME_SETTINGS,
|
||||
ICONNAME_SETTINGS_SKY,
|
||||
ICONNAME_SETTINGS_WATER,
|
||||
ICONNAME_SETTINGS_DAY,
|
||||
|
||||
ICONNAME_CLOTHING_UNKNOWN,
|
||||
ICONNAME_INVALID,
|
||||
ICONNAME_UNKNOWN,
|
||||
ICONNAME_COUNT,
|
||||
ICONNAME_NONE = -1
|
||||
};
|
||||
|
||||
@@ -572,7 +572,7 @@ void LLImageGL::setSize(S32 width, S32 height, S32 ncomponents, S32 discard_leve
|
||||
// Check if dimensions are a power of two!
|
||||
if (!checkSize(width,height))
|
||||
{
|
||||
LL_WARNS() << llformat("Texture has non power of two dimension: %dx%d",width,height) << " Unless on Aurora-Sim, beware." << LL_ENDL;
|
||||
LL_WARNS() << llformat("Texture has non power of two dimension: %dx%d",width,height) << " Unless on WhiteCore, beware." << LL_ENDL;
|
||||
}
|
||||
|
||||
if (mTexName)
|
||||
|
||||
@@ -286,7 +286,7 @@ public:
|
||||
LLVector2 screen_rect = LLPostProcess::getInstance()->getDimensions();
|
||||
|
||||
mPassLoc = getShader().getUniformLocation(sHorizontalPass);
|
||||
LLVector4 vec[] = { LLVector4(1.3846153846, 3.2307692308, 0, 0) / screen_rect.mV[VX], LLVector4( 0,0, 1.3846153846, 3.2307692308 ) / screen_rect.mV[VY] };
|
||||
LLVector4 vec[] = { LLVector4(1.3846153846f, 3.2307692308f, 0.f, 0.f) / screen_rect.mV[VX], LLVector4( 0.f,0.f, 1.3846153846f, 3.2307692308f ) / screen_rect.mV[VY] };
|
||||
getShader().uniform4fv(sKern, LL_ARRAY_SIZE(vec), (GLfloat*)vec);
|
||||
return QUAD_NORMAL;
|
||||
}
|
||||
@@ -367,10 +367,10 @@ LLPostProcess::LLPostProcess(void) :
|
||||
}
|
||||
|
||||
// Singu TODO: Make this configurable via settings
|
||||
if (!mAllEffectInfo.has("default"))
|
||||
mAllEffectInfo["default"] = LLSD::emptyMap();
|
||||
if (!mAllEffectInfo.has("Default"))
|
||||
mAllEffectInfo["Default"] = LLSD::emptyMap();
|
||||
|
||||
LLSD& defaults = mAllEffectInfo["default"];
|
||||
LLSD& defaults = mAllEffectInfo["Default"];
|
||||
|
||||
for(std::list<LLPointer<LLPostProcessShader> >::iterator it=mShaders.begin();it!=mShaders.end();++it)
|
||||
{
|
||||
@@ -385,7 +385,7 @@ LLPostProcess::LLPostProcess(void) :
|
||||
{
|
||||
(*it)->loadSettings(defaults);
|
||||
}
|
||||
setSelectedEffect("default");
|
||||
setSelectedEffect("Default");
|
||||
}
|
||||
|
||||
LLPostProcess::~LLPostProcess(void)
|
||||
@@ -675,10 +675,11 @@ void LLPostProcess::setSelectedEffect(std::string const & effectName)
|
||||
{
|
||||
mSelectedEffectName = effectName;
|
||||
mSelectedEffectInfo = mAllEffectInfo[effectName];
|
||||
for(std::list<LLPointer<LLPostProcessShader> >::iterator it=mShaders.begin();it!=mShaders.end();++it)
|
||||
for(auto shader : mShaders)
|
||||
{
|
||||
(*it)->loadSettings(mSelectedEffectInfo);
|
||||
shader->loadSettings(mSelectedEffectInfo);
|
||||
}
|
||||
mSelectedEffectChanged(mSelectedEffectName);
|
||||
}
|
||||
|
||||
void LLPostProcess::setSelectedEffectValue(std::string const & setting, LLSD value)
|
||||
@@ -714,6 +715,7 @@ void LLPostProcess::resetSelectedEffect()
|
||||
void LLPostProcess::saveEffectAs(std::string const & effectName)
|
||||
{
|
||||
mAllEffectInfo[effectName] = mSelectedEffectInfo;
|
||||
mSelectedEffectChanged(mSelectedEffectName); // Might've changed, either way update the lists
|
||||
|
||||
std::string pathName(gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "windlight", XML_FILENAME));
|
||||
//LL_INFOS() << "Saving PostProcess Effects settings to " << pathName << LL_ENDL;
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
#define LL_POSTPROCESS_H
|
||||
|
||||
#include <map>
|
||||
#include <boost/signals2.hpp>
|
||||
#include "llsd.h"
|
||||
#include "llrendertarget.h"
|
||||
|
||||
@@ -103,6 +104,9 @@ private:
|
||||
// The map of all availible effects
|
||||
LLSD mAllEffectInfo;
|
||||
|
||||
typedef boost::signals2::signal<void(const std::string&)> selected_effect_changed_signal;
|
||||
selected_effect_changed_signal mSelectedEffectChanged;
|
||||
|
||||
public:
|
||||
LLPostProcess(void);
|
||||
~LLPostProcess(void);
|
||||
@@ -144,6 +148,7 @@ public:
|
||||
// Setters
|
||||
void setSelectedEffect(std::string const & effectName);
|
||||
void setSelectedEffectValue(std::string const & setting, LLSD value);
|
||||
auto setSelectedEffectChangeCallback(const selected_effect_changed_signal::slot_type& func) { return mSelectedEffectChanged.connect(func); }
|
||||
void resetSelectedEffect();
|
||||
void saveEffectAs(std::string const & effectName);
|
||||
};
|
||||
|
||||
@@ -1497,8 +1497,9 @@ BOOL LLLineEditor::handleSpecialKey(KEY key, MASK mask)
|
||||
break;
|
||||
|
||||
case KEY_RETURN:
|
||||
if (getCommitOnReturn()) onCommit();
|
||||
// store sent line in history
|
||||
updateHistory();
|
||||
else updateHistory();
|
||||
break;
|
||||
|
||||
case KEY_ESCAPE:
|
||||
|
||||
@@ -406,12 +406,13 @@ class ContextText : public LLMemberListener<LLView>
|
||||
}
|
||||
};
|
||||
|
||||
static const std::string& get_focused_url()
|
||||
{
|
||||
return get_focused_text_editor()->getMenuSegmentUrl();
|
||||
}
|
||||
|
||||
class ContextUrl : public LLMemberListener<LLView>
|
||||
{
|
||||
static const std::string& get_focused_url()
|
||||
{
|
||||
return get_focused_text_editor()->getMenuSegmentUrl();
|
||||
}
|
||||
bool handleEvent(LLPointer<LLOldEvents::LLEvent>, const LLSD& userdata) override
|
||||
{
|
||||
const auto& url = get_focused_url();
|
||||
@@ -434,6 +435,20 @@ class ContextUrl : public LLMemberListener<LLView>
|
||||
}
|
||||
};
|
||||
|
||||
class ContextUrlCopy : public LLMemberListener<LLView>
|
||||
{
|
||||
|
||||
bool handleEvent(LLPointer<LLOldEvents::LLEvent>, const LLSD& userdata) override
|
||||
{
|
||||
const auto& url = get_focused_url();
|
||||
const auto& type = userdata.asStringRef();
|
||||
// Empty works like avatar and group, "object" is an object (you needed to be told this)
|
||||
const auto& id = type.empty() ? LLUrlAction::getUserID(url) : LLUrlAction::getObjectId(url);
|
||||
LLView::getWindow()->copyTextToClipboard(utf8str_to_wstring(id));
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
void LLTextEditor::spell_correct(void* data)
|
||||
{
|
||||
@@ -516,6 +531,7 @@ void LLTextEditor::addMenuListeners()
|
||||
{
|
||||
(new ContextText)->registerListener(LLMenuGL::sMenuContainer, "Text");
|
||||
(new ContextUrl)->registerListener(LLMenuGL::sMenuContainer, "Text.Url");
|
||||
(new ContextUrlCopy)->registerListener(LLMenuGL::sMenuContainer, "Text.Url.CopyUUID");
|
||||
}
|
||||
|
||||
void LLTextEditor::setTrackColor( const LLColor4& color )
|
||||
@@ -4246,7 +4262,7 @@ void LLTextEditor::appendColoredText(const std::string &new_text,
|
||||
static LLTrace::BlockTimerStatHandle FTM_APPEND_TEXT("Append Text");
|
||||
|
||||
void LLTextEditor::appendText(const std::string &new_text, bool allow_undo, bool prepend_newline,
|
||||
const LLStyleSP style)
|
||||
const LLStyleSP style, bool force_replace_links)
|
||||
{
|
||||
LL_RECORD_BLOCK_TIME(FTM_APPEND_TEXT);
|
||||
if (new_text.empty())
|
||||
@@ -4264,11 +4280,12 @@ void LLTextEditor::appendText(const std::string &new_text, bool allow_undo, bool
|
||||
static LLTrace::BlockTimerStatHandle FTM_PARSE_HTML("Parse HTML");
|
||||
|
||||
// Appends new text to end of document
|
||||
void LLTextEditor::appendTextImpl(const std::string &new_text, const LLStyleSP style)
|
||||
void LLTextEditor::appendTextImpl(const std::string &new_text, const LLStyleSP style, bool force_replace_links)
|
||||
{
|
||||
std::string text = new_text;
|
||||
static LLUICachedControl<bool> replace_links("SinguReplaceLinks");
|
||||
bool is_link = style && !style->getLinkHREF().empty(); // Don't search for URLs inside a link segment (STORM-358).
|
||||
static const LLUICachedControl<bool> replace_links("SinguReplaceLinks");
|
||||
force_replace_links = force_replace_links || replace_links;
|
||||
bool is_link = style && style->isLink(); // Don't search for URLs inside a link segment (STORM-358).
|
||||
|
||||
S32 part = (S32)LLTextParser::WHOLE;
|
||||
if (mReadOnly && mParseHTML && !is_link) // Singu Note: Do not replace html if the user is going to edit it. (Like in profiles)
|
||||
@@ -4276,20 +4293,25 @@ void LLTextEditor::appendTextImpl(const std::string &new_text, const LLStyleSP s
|
||||
LL_RECORD_BLOCK_TIME(FTM_PARSE_HTML);
|
||||
S32 start=0,end=0;
|
||||
LLUrlMatch match;
|
||||
const auto& link_color = mLinkColor ? *mLinkColor : LLUI::sConfigGroup->getColor4("HTMLLinkColor");
|
||||
auto append_substr = [&](const size_t& pos, const size_t& count)
|
||||
{
|
||||
appendAndHighlightText(text.substr(pos, count), part, style);
|
||||
};
|
||||
auto append_link = [&](const std::string& link)
|
||||
auto append_link = [&](const std::string& link, LLStyleSP link_style)
|
||||
{
|
||||
LLStyleSP link_style(style ? new LLStyle(*style) : new LLStyle);
|
||||
link_style->setColor(link_color);
|
||||
link_style->setLinkHREF(match.getUrl());
|
||||
if (style) // Respect styling
|
||||
{
|
||||
const auto& text_style = *style;
|
||||
link_style->mItalic = text_style.mItalic;
|
||||
link_style->mBold = text_style.mBold;
|
||||
link_style->mUnderline = text_style.mUnderline;
|
||||
}
|
||||
// Hack around colors looking bad on some backgrounds by allowing setting link color for this editor
|
||||
if (mLinkColor) link_style->setColor(*mLinkColor);
|
||||
appendAndHighlightText(link, part, link_style, true/*match.underlineOnHoverOnly()*/);
|
||||
};
|
||||
while (!text.empty() && LLUrlRegistry::instance().findUrl(text, match,
|
||||
boost::bind(&LLTextEditor::replaceUrl, this, _1, _2, _3)))
|
||||
const auto&& cb = force_replace_links ? boost::bind(&LLTextEditor::replaceUrl, this, _1, _2, _3) : LLUrlLabelCallback::slot_function_type();
|
||||
while (!text.empty() && LLUrlRegistry::instance().findUrl(text, match, cb))
|
||||
{
|
||||
start = match.getStart();
|
||||
end = match.getEnd()+1;
|
||||
@@ -4311,7 +4333,7 @@ void LLTextEditor::appendTextImpl(const std::string &new_text, const LLStyleSP s
|
||||
|
||||
auto url = match.getUrl();
|
||||
const auto& label = match.getLabel();
|
||||
if (replace_links || url == label)
|
||||
if (force_replace_links || replace_links || url == label)
|
||||
{
|
||||
// add icon before url if need
|
||||
/* Singu TODO: Icons next to links?
|
||||
@@ -4323,7 +4345,7 @@ void LLTextEditor::appendTextImpl(const std::string &new_text, const LLStyleSP s
|
||||
}*/
|
||||
|
||||
// output the styled url
|
||||
append_link(label + match.getQuery());
|
||||
append_link(label + match.getQuery(), match.getStyle());
|
||||
bool tooltip_required = !match.getTooltip().empty();
|
||||
|
||||
// set the tooltip for the Url label
|
||||
@@ -4350,7 +4372,7 @@ void LLTextEditor::appendTextImpl(const std::string &new_text, const LLStyleSP s
|
||||
}
|
||||
}*/
|
||||
}
|
||||
else if (!replace_links) // Still link the link itself
|
||||
else // Still link the link itself
|
||||
{
|
||||
const auto pos = text.find(url);
|
||||
bool fallback(pos == std::string::npos); // In special cases like no protocol and brackets
|
||||
@@ -4359,7 +4381,7 @@ void LLTextEditor::appendTextImpl(const std::string &new_text, const LLStyleSP s
|
||||
append_substr(start, brackets ? 1 : pos-start);
|
||||
// In the special cases, only link exactly the url, this might not have a protocol so calculate the exact string
|
||||
if (fallback) url = brackets ? text.substr(start+1, text.find(' ', start+2)-start) : text.substr(start, end-start);
|
||||
append_link(url); // Append the link
|
||||
append_link(url, match.getStyle()); // Append the link
|
||||
const auto url_end = pos + url.size();
|
||||
if (fallback == brackets && end > url_end) // Ending text, only in special case if brackets present
|
||||
append_substr(url_end, end-url_end);
|
||||
@@ -4433,9 +4455,6 @@ void LLTextEditor::replaceUrl(const std::string &url,
|
||||
const std::string &label,
|
||||
const std::string &icon)
|
||||
{
|
||||
static LLUICachedControl<bool> replace_links("SinguReplaceLinks");
|
||||
if (!replace_links) return;
|
||||
|
||||
// get the full (wide) text for the editor so we can change it
|
||||
LLWString text = getWText();
|
||||
LLWString wlabel = utf8str_to_wstring(label);
|
||||
|
||||
@@ -181,8 +181,8 @@ public:
|
||||
void insertText(const std::string &text, BOOL deleteSelection = TRUE);
|
||||
// appends text at end
|
||||
void appendText(const std::string &wtext, bool allow_undo, bool prepend_newline,
|
||||
const LLStyleSP stylep = NULL);
|
||||
void appendTextImpl(const std::string& new_text, const LLStyleSP style);
|
||||
const LLStyleSP stylep = NULL, bool force_replace_links = true);
|
||||
void appendTextImpl(const std::string& new_text, const LLStyleSP style, bool force_replace_links = true);
|
||||
|
||||
void setLastSegmentToolTip(const std::string& tooltip);
|
||||
|
||||
@@ -295,6 +295,7 @@ public:
|
||||
llwchar getWChar(S32 pos) const { return mWText[pos]; }
|
||||
LLWString getWSubString(S32 pos, S32 len) const { return mWText.substr(pos, len); }
|
||||
|
||||
const LLTextSegment* getLastSegment() const { return mSegments.empty() ? nullptr : mSegments.back(); }
|
||||
const LLTextSegment* getCurrentSegment() const { return getSegmentAtOffset(mCursorPos); }
|
||||
const LLTextSegment* getPreviousSegment() const;
|
||||
void getSelectedSegments(std::vector<LLTextSegmentPtr>& segments) const;
|
||||
|
||||
@@ -69,14 +69,13 @@ std::string LLUrlEntryBase::getIcon(const std::string &url)
|
||||
return mIcon;
|
||||
}
|
||||
|
||||
/*LLStyle::Params LLUrlEntryBase::getStyle() const
|
||||
LLStyleSP LLUrlEntryBase::getStyle() const
|
||||
{
|
||||
LLStyle::Params style_params;
|
||||
style_params.color = LLUIColorTable::instance().getColor("HTMLLinkColor");
|
||||
style_params.readonly_color = LLUIColorTable::instance().getColor("HTMLLinkColor");
|
||||
style_params.font.style = "UNDERLINE";
|
||||
static LLUICachedControl<LLColor4> color("HTMLLinkColor");
|
||||
LLStyleSP style_params(new LLStyle(true, color, LLStringUtil::null));
|
||||
//style_params->mUnderline = true; // Singu Note: We're not gonna bother here, underlining on hover
|
||||
return style_params;
|
||||
}*/
|
||||
}
|
||||
|
||||
|
||||
std::string LLUrlEntryBase::getIDStringFromUrl(const std::string &url) const
|
||||
@@ -677,13 +676,12 @@ std::string LLUrlEntryAgent::getLabel(const std::string &url, const LLUrlLabelCa
|
||||
}
|
||||
}
|
||||
|
||||
/*LLStyle::Params LLUrlEntryAgent::getStyle() const
|
||||
LLStyleSP LLUrlEntryAgent::getStyle() const
|
||||
{
|
||||
LLStyle::Params style_params = LLUrlEntryBase::getStyle();
|
||||
style_params.color = LLUIColorTable::instance().getColor("HTMLLinkColor");
|
||||
style_params.readonly_color = LLUIColorTable::instance().getColor("HTMLLinkColor");
|
||||
static LLUICachedControl<LLColor4> color("HTMLAgentColor");
|
||||
LLStyleSP style_params(new LLStyle(true, color, LLStringUtil::null));
|
||||
return style_params;
|
||||
}*/
|
||||
}
|
||||
|
||||
std::string localize_slapp_label(const std::string& url, const std::string& full_name)
|
||||
{
|
||||
@@ -733,7 +731,9 @@ std::string LLUrlEntryAgent::getIcon(const std::string &url)
|
||||
// x-grid-info://lincoln.lindenlab.com/app/agent/0e346d8b-4433-4d66-a6b0-fd37083abc4c/(completename|displayname|username)
|
||||
//
|
||||
LLUrlEntryAgentName::LLUrlEntryAgentName()
|
||||
{}
|
||||
{
|
||||
mMenuName = "menu_url_agent.xml";
|
||||
}
|
||||
|
||||
void LLUrlEntryAgentName::onAvatarNameCache(const LLUUID& id,
|
||||
const LLAvatarName& av_name)
|
||||
@@ -788,11 +788,12 @@ std::string LLUrlEntryAgentName::getLabel(const std::string &url, const LLUrlLab
|
||||
}
|
||||
}
|
||||
|
||||
/*LLStyle::Params LLUrlEntryAgentName::getStyle() const
|
||||
LLStyleSP LLUrlEntryAgentName::getStyle() const
|
||||
{
|
||||
// don't override default colors
|
||||
return LLStyle::Params().is_link(false);
|
||||
}*/
|
||||
static LLUICachedControl<LLColor4> color("HTMLAgentColor");
|
||||
LLStyleSP style_params(new LLStyle(true, color, LLStringUtil::null));
|
||||
return style_params;
|
||||
}
|
||||
|
||||
//
|
||||
// LLUrlEntryAgentCompleteName describes a Second Life agent complete name Url, e.g.,
|
||||
@@ -924,13 +925,12 @@ std::string LLUrlEntryGroup::getLabel(const std::string &url, const LLUrlLabelCa
|
||||
}
|
||||
}
|
||||
|
||||
/*LLStyle::Params LLUrlEntryGroup::getStyle() const
|
||||
LLStyleSP LLUrlEntryGroup::getStyle() const
|
||||
{
|
||||
LLStyle::Params style_params = LLUrlEntryBase::getStyle();
|
||||
style_params.color = LLUIColorTable::instance().getColor("HTMLLinkColor");
|
||||
style_params.readonly_color = LLUIColorTable::instance().getColor("HTMLLinkColor");
|
||||
LLStyleSP style_params = LLUrlEntryBase::getStyle();
|
||||
//style_params->mUnderline = false; // Singu Note: We're not gonna bother here, underlining on hover
|
||||
return style_params;
|
||||
}*/
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
@@ -1392,11 +1392,12 @@ std::string LLUrlEntryNoLink::getLabel(const std::string &url, const LLUrlLabelC
|
||||
return getUrl(url);
|
||||
}
|
||||
|
||||
/*LLStyle::Params LLUrlEntryNoLink::getStyle() const
|
||||
LLStyleSP LLUrlEntryNoLink::getStyle() const
|
||||
{
|
||||
// Don't render as URL (i.e. no context menu or hand cursor).
|
||||
return LLStyle::Params().is_link(false);
|
||||
}*/
|
||||
// Singu Note: What the heck? No, that's misleading!!
|
||||
return LLUrlEntryBase::getStyle();
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
|
||||
@@ -82,7 +82,7 @@ public:
|
||||
virtual std::string getIcon(const std::string &url);
|
||||
|
||||
/// Return the style to render the displayed text
|
||||
//virtual LLStyle::Params getStyle() const;
|
||||
virtual LLStyleSP getStyle() const;
|
||||
|
||||
/// Given a matched Url, return a tooltip string for the hyperlink
|
||||
virtual std::string getTooltip(const std::string &string) const { return mTooltip; }
|
||||
@@ -232,7 +232,7 @@ public:
|
||||
/*virtual*/ std::string getLabel(const std::string &url, const LLUrlLabelCallback &cb) override;
|
||||
/*virtual*/ std::string getIcon(const std::string &url) override;
|
||||
/*virtual*/ std::string getTooltip(const std::string &string) const override;
|
||||
///*virtual*/ LLStyle::Params getStyle() const override;
|
||||
/*virtual*/ LLStyleSP getStyle() const override;
|
||||
/*virtual*/ LLUUID getID(const std::string &string) const override;
|
||||
/*virtual*/ bool underlineOnHoverOnly(const std::string &string) const override;
|
||||
protected:
|
||||
@@ -265,7 +265,7 @@ public:
|
||||
|
||||
}
|
||||
/*virtual*/ std::string getLabel(const std::string &url, const LLUrlLabelCallback &cb) override;
|
||||
///*virtual*/ LLStyle::Params getStyle() const override;
|
||||
/*virtual*/ LLStyleSP getStyle() const override;
|
||||
protected:
|
||||
// override this to pull out relevant name fields
|
||||
virtual std::string getName(const LLAvatarName& avatar_name) = 0;
|
||||
@@ -332,7 +332,7 @@ class LLUrlEntryGroup : public LLUrlEntryBase
|
||||
public:
|
||||
LLUrlEntryGroup();
|
||||
/*virtual*/ std::string getLabel(const std::string &url, const LLUrlLabelCallback &cb) override;
|
||||
///*virtual*/ LLStyle::Params getStyle() const override;
|
||||
/*virtual*/ LLStyleSP getStyle() const override;
|
||||
/*virtual*/ LLUUID getID(const std::string &string) const override;
|
||||
private:
|
||||
void onGroupNameReceived(const LLUUID& id, const std::string& name, bool is_group);
|
||||
@@ -492,7 +492,7 @@ public:
|
||||
LLUrlEntryNoLink();
|
||||
/*virtual*/ std::string getLabel(const std::string &url, const LLUrlLabelCallback &cb) override;
|
||||
/*virtual*/ std::string getUrl(const std::string &string) const override;
|
||||
///*virtual*/ LLStyle::Params getStyle() const override;
|
||||
/*virtual*/ LLStyleSP getStyle() const override;
|
||||
};
|
||||
|
||||
///
|
||||
|
||||
@@ -46,7 +46,7 @@ LLUrlMatch::LLUrlMatch() :
|
||||
|
||||
void LLUrlMatch::setValues(U32 start, U32 end, const std::string &url, const std::string &label,
|
||||
const std::string& query, const std::string &tooltip,
|
||||
const std::string &icon, /*const LLStyle::Params& style,*/
|
||||
const std::string &icon, const LLStyleSP& style,
|
||||
const std::string &menu, const std::string &location,
|
||||
const LLUUID& id, bool underline_on_hover_only, bool trusted)
|
||||
{
|
||||
@@ -57,8 +57,8 @@ void LLUrlMatch::setValues(U32 start, U32 end, const std::string &url, const std
|
||||
mQuery = query;
|
||||
mTooltip = tooltip;
|
||||
mIcon = icon;
|
||||
//mStyle = style;
|
||||
//mStyle.link_href = url;
|
||||
mStyle = style;
|
||||
mStyle->setLinkHREF(url);
|
||||
mMenuName = menu;
|
||||
mLocation = location;
|
||||
mID = id;
|
||||
|
||||
@@ -70,7 +70,7 @@ public:
|
||||
std::string getIcon() const { return mIcon; }
|
||||
|
||||
/// Return the color to render the displayed text
|
||||
//LLStyle::Params getStyle() const { return mStyle; }
|
||||
LLStyleSP getStyle() const { return mStyle; }
|
||||
|
||||
/// Return the name of a XUI file containing the context menu items
|
||||
std::string getMenuName() const { return mMenuName; }
|
||||
@@ -87,7 +87,7 @@ public:
|
||||
/// Change the contents of this match object (used by LLUrlRegistry)
|
||||
void setValues(U32 start, U32 end, const std::string &url, const std::string &label,
|
||||
const std::string& query, const std::string &tooltip, const std::string &icon,
|
||||
/*const LLStyle::Params& style,*/ const std::string &menu,
|
||||
const LLStyleSP& style, const std::string &menu,
|
||||
const std::string &location, const LLUUID& id,
|
||||
bool underline_on_hover_only = false, bool trusted = false);
|
||||
|
||||
@@ -103,7 +103,7 @@ private:
|
||||
std::string mMenuName;
|
||||
std::string mLocation;
|
||||
LLUUID mID;
|
||||
//LLStyle::Params mStyle;
|
||||
LLStyleSP mStyle;
|
||||
bool mUnderlineOnHoverOnly;
|
||||
bool mTrusted;
|
||||
};
|
||||
|
||||
@@ -265,7 +265,7 @@ bool LLUrlRegistry::findUrl(const std::string &text, LLUrlMatch &match, const LL
|
||||
match_entry->getQuery(url),
|
||||
match_entry->getTooltip(url),
|
||||
match_entry->getIcon(url),
|
||||
//match_entry->getStyle(),
|
||||
match_entry->getStyle(),
|
||||
match_entry->getMenuName(),
|
||||
match_entry->getLocation(url),
|
||||
match_entry->getID(url),
|
||||
@@ -302,7 +302,7 @@ bool LLUrlRegistry::findUrl(const LLWString &text, LLUrlMatch &match, const LLUr
|
||||
match.getQuery(),
|
||||
match.getTooltip(),
|
||||
match.getIcon(),
|
||||
//match.getStyle(),
|
||||
match.getStyle(),
|
||||
match.getMenuName(),
|
||||
match.getLocation(),
|
||||
match.getID(),
|
||||
|
||||
@@ -66,7 +66,7 @@ public:
|
||||
};
|
||||
public:
|
||||
virtual void postInitialized() {}
|
||||
virtual void show() = 0;
|
||||
virtual void show(bool focus = true) = 0;
|
||||
virtual void hide() = 0;
|
||||
virtual void close() = 0;
|
||||
virtual BOOL getVisible() = 0;
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
class LLWindowHeadless : public LLWindow
|
||||
{
|
||||
public:
|
||||
/*virtual*/ void show() {};
|
||||
/*virtual*/ void show(bool) {};
|
||||
/*virtual*/ void hide() {};
|
||||
/*virtual*/ void close() {};
|
||||
/*virtual*/ BOOL getVisible() {return FALSE;};
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
class LLWindowMesaHeadless : public LLWindow
|
||||
{
|
||||
public:
|
||||
/*virtual*/ void show() {};
|
||||
/*virtual*/ void show(bool) {};
|
||||
/*virtual*/ void hide() {};
|
||||
/*virtual*/ void close() {};
|
||||
/*virtual*/ BOOL getVisible() {return FALSE;};
|
||||
|
||||
@@ -790,7 +790,7 @@ LLWindowSDL::~LLWindowSDL()
|
||||
}
|
||||
|
||||
|
||||
void LLWindowSDL::show()
|
||||
void LLWindowSDL::show(bool focus)
|
||||
{
|
||||
// *FIX: What to do with SDL?
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
class LLWindowSDL : public LLWindow
|
||||
{
|
||||
public:
|
||||
/*virtual*/ void show();
|
||||
/*virtual*/ void show(bool focus);
|
||||
/*virtual*/ void hide();
|
||||
/*virtual*/ void close();
|
||||
/*virtual*/ BOOL getVisible();
|
||||
|
||||
@@ -717,9 +717,10 @@ void LLWindowWin32::postInitialized()
|
||||
mCallbacks->handleDPIScaleChange(this, xDPIScale, yDPIScale);
|
||||
}
|
||||
|
||||
void LLWindowWin32::show()
|
||||
void LLWindowWin32::show(bool take_focus)
|
||||
{
|
||||
ShowWindow(mWindowHandle, SW_SHOW);
|
||||
if (!take_focus) return;
|
||||
SetForegroundWindow(mWindowHandle);
|
||||
SetFocus(mWindowHandle);
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ class LLWindowWin32 : public LLWindow
|
||||
{
|
||||
public:
|
||||
/*virtual*/ void postInitialized();
|
||||
/*virtual*/ void show();
|
||||
/*virtual*/ void show(bool focus = true);
|
||||
/*virtual*/ void hide();
|
||||
/*virtual*/ void close();
|
||||
/*virtual*/ BOOL getVisible();
|
||||
|
||||
@@ -13,7 +13,7 @@ include_directories(
|
||||
)
|
||||
|
||||
set(llxml_SOURCE_FILES
|
||||
#aixml.cpp
|
||||
aixml.cpp
|
||||
llcontrol.cpp
|
||||
llxmlnode.cpp
|
||||
llxmlparser.cpp
|
||||
@@ -23,7 +23,7 @@ set(llxml_SOURCE_FILES
|
||||
set(llxml_HEADER_FILES
|
||||
CMakeLists.txt
|
||||
|
||||
#aixml.h
|
||||
aixml.h
|
||||
llcontrol.h
|
||||
llcontrolgroupreader.h
|
||||
llxmlnode.h
|
||||
|
||||
@@ -32,7 +32,6 @@
|
||||
#include "aixml.h"
|
||||
#include "llmd5.h"
|
||||
#include <boost/tokenizer.hpp>
|
||||
#include "aifile.h"
|
||||
|
||||
//=============================================================================
|
||||
// Overview
|
||||
@@ -311,11 +310,10 @@ void AIXMLElement::child(LLDate const& element)
|
||||
//-----------------------------------------------------------------------------
|
||||
// AIXMLStream
|
||||
|
||||
AIXMLStream::AIXMLStream(LLFILE* fp, bool standalone) : mOfs(fp)
|
||||
AIXMLStream::AIXMLStream(const std::string& filename, bool standalone) : mOfs(filename)
|
||||
{
|
||||
char const* sp = standalone ? " standalone=\"yes\"" : "";
|
||||
int rc = fprintf(fp, "<?xml version=\"1.0\" encoding=\"utf-8\"%s ?>\n", sp);
|
||||
if (rc < 0 || ferror(fp))
|
||||
mOfs << "<?xml version=\"1.0\" encoding=\"utf-8\"" << (standalone ? " standalone=\"yes\"" : LLStringUtil::null) << "?>\n";
|
||||
if (!mOfs)
|
||||
{
|
||||
// I don't think that errno is set to anything else but EBADF here,
|
||||
// so there is not really any informative message to add here.
|
||||
@@ -342,7 +340,6 @@ AIXMLParser::AIXMLParser(std::string const& filename, char const* file_desc, std
|
||||
AIArgs args;
|
||||
if (!mXmlTree.parseFile(filename, TRUE))
|
||||
{
|
||||
AIFile dummy(filename, "rb"); // Check if the file can be opened at all (throws with a more descriptive error if not).
|
||||
error = "AIXMLParser_Cannot_parse_FILEDESC_FILENAME";
|
||||
}
|
||||
else
|
||||
|
||||
@@ -151,7 +151,7 @@ void AIXMLElement::child(FWD_ITERATOR i1, FWD_ITERATOR const& i2)
|
||||
class AIXMLStream {
|
||||
protected:
|
||||
llofstream mOfs;
|
||||
AIXMLStream(LLFILE* fp, bool standalone);
|
||||
AIXMLStream(const std::string& filename, bool standalone);
|
||||
~AIXMLStream();
|
||||
};
|
||||
|
||||
@@ -159,7 +159,7 @@ class AIXMLStream {
|
||||
class AIXMLRootElement : public AIXMLStream, public AIXMLElement
|
||||
{
|
||||
public:
|
||||
AIXMLRootElement(LLFILE* fp, char const* name, bool standalone = true) : AIXMLStream(fp, standalone), AIXMLElement(mOfs, name, 0) { }
|
||||
AIXMLRootElement(const std::string& filename, char const* name, bool standalone = true) : AIXMLStream(filename, standalone), AIXMLElement(mOfs, name, 0) { }
|
||||
};
|
||||
|
||||
class AIXMLElementParser
|
||||
|
||||
@@ -78,7 +78,7 @@ include_directories(
|
||||
set(viewer_SOURCE_FILES
|
||||
NACLantispam.cpp
|
||||
aihttpview.cpp
|
||||
#aixmllindengenepool.cpp
|
||||
aixmllindengenepool.cpp
|
||||
alfloaterregiontracker.cpp
|
||||
aoremotectrl.cpp
|
||||
ascentfloatercontactgroups.cpp
|
||||
@@ -174,6 +174,7 @@ set(viewer_SOURCE_FILES
|
||||
llexternaleditor.cpp
|
||||
llface.cpp
|
||||
llfasttimerview.cpp
|
||||
llfavoritesbar.cpp
|
||||
llfeaturemanager.cpp
|
||||
llfirstuse.cpp
|
||||
llflexibleobject.cpp
|
||||
@@ -321,6 +322,7 @@ set(viewer_SOURCE_FILES
|
||||
llinventoryobserver.cpp
|
||||
llinventorypanel.cpp
|
||||
lljoystickbutton.cpp
|
||||
lllandmarkactions.cpp
|
||||
lllandmarklist.cpp
|
||||
lllogchat.cpp
|
||||
llloginhandler.cpp
|
||||
@@ -612,7 +614,7 @@ set(viewer_HEADER_FILES
|
||||
|
||||
NACLantispam.h
|
||||
aihttpview.h
|
||||
#aixmllindengenepool.h
|
||||
aixmllindengenepool.h
|
||||
alfloaterregiontracker.h
|
||||
aoremotectrl.h
|
||||
ascentfloatercontactgroups.h
|
||||
@@ -708,6 +710,7 @@ set(viewer_HEADER_FILES
|
||||
llexternaleditor.h
|
||||
llface.h
|
||||
llfasttimerview.h
|
||||
llfavoritesbar.h
|
||||
llfeaturemanager.h
|
||||
llfirstuse.h
|
||||
llflexibleobject.h
|
||||
@@ -854,6 +857,7 @@ set(viewer_HEADER_FILES
|
||||
llinventoryobserver.h
|
||||
llinventorypanel.h
|
||||
lljoystickbutton.h
|
||||
lllandmarkactions.h
|
||||
lllandmarklist.h
|
||||
lllightconstants.h
|
||||
lllogchat.h
|
||||
|
||||
@@ -67,7 +67,7 @@ AIXMLLindenGenepool::MetaData::MetaData(AIXMLElementParser const& parser)
|
||||
parser.attribute(DEFAULT_LLDATE_NAME, mDate);
|
||||
}
|
||||
|
||||
AIXMLLindenGenepool::AIXMLLindenGenepool(LLFILE* fp) : AIXMLRootElement(fp, "linden_genepool")
|
||||
AIXMLLindenGenepool::AIXMLLindenGenepool(const std::string& filename) : AIXMLRootElement(filename, "linden_genepool")
|
||||
{
|
||||
attribute("version", "1.0");
|
||||
attribute("metaversion", "1.0");
|
||||
|
||||
@@ -53,7 +53,7 @@ class AIXMLLindenGenepool : public AIXMLRootElement
|
||||
MetaData(AIXMLElementParser const& parser);
|
||||
};
|
||||
|
||||
AIXMLLindenGenepool(LLFILE* fp);
|
||||
AIXMLLindenGenepool(const std::string& filename);
|
||||
};
|
||||
|
||||
class AIVisualParamIDValuePair
|
||||
|
||||
@@ -1196,7 +1196,7 @@ Found in Advanced->Rendering->Info Displays</string>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<boolean>0</boolean>
|
||||
<boolean>1</boolean>
|
||||
</map>
|
||||
<key>InstantMessageLogPathAnyAccount</key>
|
||||
<map>
|
||||
@@ -9074,6 +9074,22 @@ This should be as low as possible, but too low may break functionality</string>
|
||||
<key>Value</key>
|
||||
<integer>400</integer>
|
||||
</map>
|
||||
<key>HTMLAgentColor</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Color of hyperlinked user/object names</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Color4</string>
|
||||
<key>Value</key>
|
||||
<array>
|
||||
<real>0.600000023842</real>
|
||||
<real>0.600000023842</real>
|
||||
<real>1.0</real>
|
||||
<real>1.0</real>
|
||||
</array>
|
||||
</map>
|
||||
<key>HTMLLinkColor</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
|
||||
@@ -770,6 +770,17 @@
|
||||
<key>Value</key>
|
||||
<string>-%Y-%m</string>
|
||||
</map>
|
||||
<key>ShowFavoritesOnLogin</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Determines whether favorites of last logged in user will be saved on exit from viewer and shown on login screen</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
|
||||
<key>KeywordsChangeColor</key>
|
||||
<map>
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
<real>4.5799999237060547</real>
|
||||
<key>bloom_width</key>
|
||||
<real>12.539999961853027</real>
|
||||
<key>gamma</key>
|
||||
<real>1.0</real>
|
||||
<key>brightness</key>
|
||||
<real>0.89999997615814209</real>
|
||||
<key>brightness_multiplier</key>
|
||||
@@ -42,6 +44,8 @@
|
||||
<real>1.5</real>
|
||||
<key>bloom_width</key>
|
||||
<real>2.25</real>
|
||||
<key>gamma</key>
|
||||
<real>1.0</real>
|
||||
<key>brightness</key>
|
||||
<real>1</real>
|
||||
<key>brightness_multiplier</key>
|
||||
@@ -144,7 +148,7 @@
|
||||
<key>saturation</key>
|
||||
<real>1</real>
|
||||
</map>
|
||||
<key>default</key>
|
||||
<key>Default</key>
|
||||
<map>
|
||||
<key>bloom_strength</key>
|
||||
<real>1.5</real>
|
||||
@@ -173,12 +177,12 @@
|
||||
<boolean>0</boolean>
|
||||
<key>enable_gauss_blur</key>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_posterize</key>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_motionblur</key>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_vignette</key>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_posterize</key>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_motionblur</key>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_vignette</key>
|
||||
<boolean>0</boolean>
|
||||
<key>gauss_blur_passes</key>
|
||||
<integer>2</integer>
|
||||
<key>extract_high</key>
|
||||
@@ -191,82 +195,20 @@
|
||||
<real>0.40000000000000002</real>
|
||||
<key>saturation</key>
|
||||
<real>1</real>
|
||||
<key>posterize_layers</key>
|
||||
<real>10</real>
|
||||
<key>blur_strength</key>
|
||||
<real>10</real>
|
||||
<key>vignette_strength</key>
|
||||
<real>0.85</real>
|
||||
<key>vignette_radius</key>
|
||||
<real>0.7</real>
|
||||
<key>vignette_darkness</key>
|
||||
<real>1.0</real>
|
||||
<key>vignette_desaturation</key>
|
||||
<real>1.0</real>
|
||||
<key>vignette_chromatic_aberration</key>
|
||||
<real>0.01</real>
|
||||
</map>
|
||||
<key>PyFx None</key>
|
||||
<map>
|
||||
<key>bloom_strength</key>
|
||||
<real>1.5</real>
|
||||
<key>bloom_width</key>
|
||||
<real>2.25</real>
|
||||
<key>blur_strength</key>
|
||||
<real>10</real>
|
||||
<key>brightness</key>
|
||||
<real>1</real>
|
||||
<key>brightness_multiplier</key>
|
||||
<real>3</real>
|
||||
<key>contrast</key>
|
||||
<real>1</real>
|
||||
<key>contrast_base</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
<real>0.5</real>
|
||||
</array>
|
||||
<key>enable_bloom</key>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_color_filter</key>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_gauss_blur</key>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_motionblur</key>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_night_vision</key>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_posterize</key>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_vignette</key>
|
||||
<boolean>0</boolean>
|
||||
<key>extract_high</key>
|
||||
<real>1</real>
|
||||
<key>extract_low</key>
|
||||
<real>0.949999999999999955591079</real>
|
||||
<key>gamma</key>
|
||||
<real>1</real>
|
||||
<key>gauss_blur_passes</key>
|
||||
<integer>2</integer>
|
||||
<key>noise_size</key>
|
||||
<real>25</real>
|
||||
<key>noise_strength</key>
|
||||
<real>0.4000000000000000222044605</real>
|
||||
<key>posterize_layers</key>
|
||||
<real>10</real>
|
||||
<key>saturation</key>
|
||||
<real>1</real>
|
||||
<key>vignette_chromatic_aberration</key>
|
||||
<real>0.01000000000000000020816682</real>
|
||||
<key>vignette_darkness</key>
|
||||
<real>1</real>
|
||||
<key>vignette_desaturation</key>
|
||||
<real>1</real>
|
||||
<key>vignette_radius</key>
|
||||
<real>0.699999999999999955591079</real>
|
||||
<key>blur_strength</key>
|
||||
<real>10</real>
|
||||
<key>vignette_strength</key>
|
||||
<real>0.8499999999999999777955395</real>
|
||||
<real>0.85</real>
|
||||
<key>vignette_radius</key>
|
||||
<real>0.7</real>
|
||||
<key>vignette_darkness</key>
|
||||
<real>1.0</real>
|
||||
<key>vignette_desaturation</key>
|
||||
<real>1.0</real>
|
||||
<key>vignette_chromatic_aberration</key>
|
||||
<real>0.01</real>
|
||||
</map>
|
||||
<key>PyFX CatVision v1</key>
|
||||
<map>
|
||||
@@ -826,7 +768,7 @@
|
||||
<key>vignette_strength</key>
|
||||
<real>1</real>
|
||||
</map>
|
||||
<key>PyFX v1</key>
|
||||
<key>PyFX Twilight v1 Cold</key>
|
||||
<map>
|
||||
<key>bloom_strength</key>
|
||||
<real>1.5</real>
|
||||
@@ -835,15 +777,77 @@
|
||||
<key>blur_strength</key>
|
||||
<real>30</real>
|
||||
<key>brightness</key>
|
||||
<real>1.19999992847442626953125</real>
|
||||
<real>1.25</real>
|
||||
<key>brightness_multiplier</key>
|
||||
<real>3</real>
|
||||
<key>contrast</key>
|
||||
<real>1.25</real>
|
||||
<real>1.0299999713897705078125</real>
|
||||
<key>contrast_base</key>
|
||||
<array>
|
||||
<real>0.7999999523162841796875</real>
|
||||
<real>0.89999997615814208984375</real>
|
||||
<real>1</real>
|
||||
<real>0.329999983310699462890625</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>enable_bloom</key>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_color_filter</key>
|
||||
<integer>1</integer>
|
||||
<key>enable_gauss_blur</key>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_motionblur</key>
|
||||
<integer>1</integer>
|
||||
<key>enable_night_vision</key>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_posterize</key>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_vignette</key>
|
||||
<integer>1</integer>
|
||||
<key>extract_high</key>
|
||||
<real>1</real>
|
||||
<key>extract_low</key>
|
||||
<real>0.949999999999999955591079</real>
|
||||
<key>gamma</key>
|
||||
<real>1.5</real>
|
||||
<key>gauss_blur_passes</key>
|
||||
<integer>2</integer>
|
||||
<key>noise_size</key>
|
||||
<real>25</real>
|
||||
<key>noise_strength</key>
|
||||
<real>0.4000000000000000222044605</real>
|
||||
<key>posterize_layers</key>
|
||||
<real>10</real>
|
||||
<key>saturation</key>
|
||||
<real>0.5</real>
|
||||
<key>vignette_chromatic_aberration</key>
|
||||
<real>0.005000000353902578353881836</real>
|
||||
<key>vignette_darkness</key>
|
||||
<real>1</real>
|
||||
<key>vignette_desaturation</key>
|
||||
<real>0.4000000059604644775390625</real>
|
||||
<key>vignette_radius</key>
|
||||
<real>5</real>
|
||||
<key>vignette_strength</key>
|
||||
<real>1</real>
|
||||
</map>
|
||||
<key>PyFX Twilight v1 Warm</key>
|
||||
<map>
|
||||
<key>bloom_strength</key>
|
||||
<real>1.5</real>
|
||||
<key>bloom_width</key>
|
||||
<real>2.25</real>
|
||||
<key>blur_strength</key>
|
||||
<real>30</real>
|
||||
<key>brightness</key>
|
||||
<real>1.25</real>
|
||||
<key>brightness_multiplier</key>
|
||||
<real>3</real>
|
||||
<key>contrast</key>
|
||||
<real>1.0299999713897705078125</real>
|
||||
<key>contrast_base</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0.66999995708465576171875</real>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
@@ -866,7 +870,7 @@
|
||||
<key>extract_low</key>
|
||||
<real>0.949999999999999955591079</real>
|
||||
<key>gamma</key>
|
||||
<real>2</real>
|
||||
<real>1.5</real>
|
||||
<key>gauss_blur_passes</key>
|
||||
<integer>2</integer>
|
||||
<key>noise_size</key>
|
||||
@@ -876,15 +880,15 @@
|
||||
<key>posterize_layers</key>
|
||||
<real>10</real>
|
||||
<key>saturation</key>
|
||||
<real>0.7999999523162841796875</real>
|
||||
<real>0.5</real>
|
||||
<key>vignette_chromatic_aberration</key>
|
||||
<real>0.004500000271946191787719727</real>
|
||||
<real>0.005000000353902578353881836</real>
|
||||
<key>vignette_darkness</key>
|
||||
<real>1</real>
|
||||
<key>vignette_desaturation</key>
|
||||
<real>0</real>
|
||||
<real>0.4000000059604644775390625</real>
|
||||
<key>vignette_radius</key>
|
||||
<real>1.5</real>
|
||||
<real>5</real>
|
||||
<key>vignette_strength</key>
|
||||
<real>1</real>
|
||||
</map>
|
||||
@@ -950,7 +954,69 @@
|
||||
<key>vignette_strength</key>
|
||||
<real>1</real>
|
||||
</map>
|
||||
<key>PyFx default</key>
|
||||
<key>PyFX Vivid v1 Cold</key>
|
||||
<map>
|
||||
<key>bloom_strength</key>
|
||||
<real>1.5</real>
|
||||
<key>bloom_width</key>
|
||||
<real>2.25</real>
|
||||
<key>blur_strength</key>
|
||||
<real>30</real>
|
||||
<key>brightness</key>
|
||||
<real>1.19999992847442626953125</real>
|
||||
<key>brightness_multiplier</key>
|
||||
<real>3</real>
|
||||
<key>contrast</key>
|
||||
<real>1.25</real>
|
||||
<key>contrast_base</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>0.89999997615814208984375</real>
|
||||
<real>0.7999999523162841796875</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>enable_bloom</key>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_color_filter</key>
|
||||
<integer>1</integer>
|
||||
<key>enable_gauss_blur</key>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_motionblur</key>
|
||||
<integer>1</integer>
|
||||
<key>enable_night_vision</key>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_posterize</key>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_vignette</key>
|
||||
<integer>1</integer>
|
||||
<key>extract_high</key>
|
||||
<real>1</real>
|
||||
<key>extract_low</key>
|
||||
<real>0.949999999999999955591079</real>
|
||||
<key>gamma</key>
|
||||
<real>2</real>
|
||||
<key>gauss_blur_passes</key>
|
||||
<integer>2</integer>
|
||||
<key>noise_size</key>
|
||||
<real>25</real>
|
||||
<key>noise_strength</key>
|
||||
<real>0.4000000000000000222044605</real>
|
||||
<key>posterize_layers</key>
|
||||
<real>10</real>
|
||||
<key>saturation</key>
|
||||
<real>1.19999980926513671875</real>
|
||||
<key>vignette_chromatic_aberration</key>
|
||||
<real>0.004500000271946191787719727</real>
|
||||
<key>vignette_darkness</key>
|
||||
<real>1</real>
|
||||
<key>vignette_desaturation</key>
|
||||
<real>0</real>
|
||||
<key>vignette_radius</key>
|
||||
<real>2.9999997615814208984375</real>
|
||||
<key>vignette_strength</key>
|
||||
<real>1</real>
|
||||
</map>
|
||||
<key>PyFX v1</key>
|
||||
<map>
|
||||
<key>bloom_strength</key>
|
||||
<real>1.5</real>
|
||||
@@ -972,7 +1038,7 @@
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>enable_bloom</key>
|
||||
<boolean>1</boolean>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_color_filter</key>
|
||||
<integer>1</integer>
|
||||
<key>enable_gauss_blur</key>
|
||||
@@ -1012,5 +1078,191 @@
|
||||
<key>vignette_strength</key>
|
||||
<real>1</real>
|
||||
</map>
|
||||
<key>PyFX v2</key>
|
||||
<map>
|
||||
<key>bloom_strength</key>
|
||||
<real>1.5</real>
|
||||
<key>bloom_width</key>
|
||||
<real>2.25</real>
|
||||
<key>blur_strength</key>
|
||||
<real>30</real>
|
||||
<key>brightness</key>
|
||||
<real>1</real>
|
||||
<key>brightness_multiplier</key>
|
||||
<real>3</real>
|
||||
<key>contrast</key>
|
||||
<real>2</real>
|
||||
<key>contrast_base</key>
|
||||
<array>
|
||||
<real>0.949999988079071044921875</real>
|
||||
<real>0.969999969005584716796875</real>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>enable_bloom</key>
|
||||
<boolean>1</boolean>
|
||||
<key>enable_color_filter</key>
|
||||
<integer>1</integer>
|
||||
<key>enable_gauss_blur</key>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_motionblur</key>
|
||||
<integer>1</integer>
|
||||
<key>enable_night_vision</key>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_posterize</key>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_vignette</key>
|
||||
<integer>1</integer>
|
||||
<key>extract_high</key>
|
||||
<real>1</real>
|
||||
<key>extract_low</key>
|
||||
<real>0.949999999999999955591079</real>
|
||||
<key>gamma</key>
|
||||
<real>5</real>
|
||||
<key>gauss_blur_passes</key>
|
||||
<integer>2</integer>
|
||||
<key>noise_size</key>
|
||||
<real>25</real>
|
||||
<key>noise_strength</key>
|
||||
<real>0.4000000000000000222044605</real>
|
||||
<key>posterize_layers</key>
|
||||
<real>10</real>
|
||||
<key>saturation</key>
|
||||
<real>1</real>
|
||||
<key>vignette_chromatic_aberration</key>
|
||||
<real>0.004500000271946191787719727</real>
|
||||
<key>vignette_darkness</key>
|
||||
<real>1</real>
|
||||
<key>vignette_desaturation</key>
|
||||
<real>0</real>
|
||||
<key>vignette_radius</key>
|
||||
<real>1.5</real>
|
||||
<key>vignette_strength</key>
|
||||
<real>1</real>
|
||||
</map>
|
||||
<key>PyFX v3</key>
|
||||
<map>
|
||||
<key>bloom_strength</key>
|
||||
<real>1.5</real>
|
||||
<key>bloom_width</key>
|
||||
<real>2.25</real>
|
||||
<key>blur_strength</key>
|
||||
<real>30</real>
|
||||
<key>brightness</key>
|
||||
<real>1</real>
|
||||
<key>brightness_multiplier</key>
|
||||
<real>3</real>
|
||||
<key>contrast</key>
|
||||
<real>1.75</real>
|
||||
<key>contrast_base</key>
|
||||
<array>
|
||||
<real>0.949999988079071044921875</real>
|
||||
<real>0.969999969005584716796875</real>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>enable_bloom</key>
|
||||
<boolean>1</boolean>
|
||||
<key>enable_color_filter</key>
|
||||
<integer>1</integer>
|
||||
<key>enable_gauss_blur</key>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_motionblur</key>
|
||||
<integer>1</integer>
|
||||
<key>enable_night_vision</key>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_posterize</key>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_vignette</key>
|
||||
<integer>1</integer>
|
||||
<key>extract_high</key>
|
||||
<real>1</real>
|
||||
<key>extract_low</key>
|
||||
<real>0.949999999999999955591079</real>
|
||||
<key>gamma</key>
|
||||
<real>4</real>
|
||||
<key>gauss_blur_passes</key>
|
||||
<integer>2</integer>
|
||||
<key>noise_size</key>
|
||||
<real>25</real>
|
||||
<key>noise_strength</key>
|
||||
<real>0.4000000000000000222044605</real>
|
||||
<key>posterize_layers</key>
|
||||
<real>10</real>
|
||||
<key>saturation</key>
|
||||
<real>1.099999904632568359375</real>
|
||||
<key>vignette_chromatic_aberration</key>
|
||||
<real>0.004500000271946191787719727</real>
|
||||
<key>vignette_darkness</key>
|
||||
<real>0.66999995708465576171875</real>
|
||||
<key>vignette_desaturation</key>
|
||||
<real>0</real>
|
||||
<key>vignette_radius</key>
|
||||
<real>2.9999997615814208984375</real>
|
||||
<key>vignette_strength</key>
|
||||
<real>1</real>
|
||||
</map>
|
||||
<key>PyFX Default</key>
|
||||
<map>
|
||||
<key>bloom_strength</key>
|
||||
<real>1.5</real>
|
||||
<key>bloom_width</key>
|
||||
<real>2.25</real>
|
||||
<key>blur_strength</key>
|
||||
<real>30</real>
|
||||
<key>brightness</key>
|
||||
<real>1</real>
|
||||
<key>brightness_multiplier</key>
|
||||
<real>3</real>
|
||||
<key>contrast</key>
|
||||
<real>1.75</real>
|
||||
<key>contrast_base</key>
|
||||
<array>
|
||||
<real>0.949999988079071044921875</real>
|
||||
<real>0.969999969005584716796875</real>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>enable_bloom</key>
|
||||
<boolean>1</boolean>
|
||||
<key>enable_color_filter</key>
|
||||
<integer>1</integer>
|
||||
<key>enable_gauss_blur</key>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_motionblur</key>
|
||||
<integer>1</integer>
|
||||
<key>enable_night_vision</key>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_posterize</key>
|
||||
<boolean>0</boolean>
|
||||
<key>enable_vignette</key>
|
||||
<integer>1</integer>
|
||||
<key>extract_high</key>
|
||||
<real>1</real>
|
||||
<key>extract_low</key>
|
||||
<real>0.949999999999999955591079</real>
|
||||
<key>gamma</key>
|
||||
<real>4</real>
|
||||
<key>gauss_blur_passes</key>
|
||||
<integer>2</integer>
|
||||
<key>noise_size</key>
|
||||
<real>25</real>
|
||||
<key>noise_strength</key>
|
||||
<real>0.4000000000000000222044605</real>
|
||||
<key>posterize_layers</key>
|
||||
<real>10</real>
|
||||
<key>saturation</key>
|
||||
<real>1.099999904632568359375</real>
|
||||
<key>vignette_chromatic_aberration</key>
|
||||
<real>0.004500000271946191787719727</real>
|
||||
<key>vignette_darkness</key>
|
||||
<real>0.66999995708465576171875</real>
|
||||
<key>vignette_desaturation</key>
|
||||
<real>0</real>
|
||||
<key>vignette_radius</key>
|
||||
<real>2.9999997615814208984375</real>
|
||||
<key>vignette_strength</key>
|
||||
<real>1</real>
|
||||
</map>
|
||||
</map>
|
||||
</llsd>
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>3</real>
|
||||
<real>3</real>
|
||||
<real>3</real>
|
||||
<real>1</real>
|
||||
<real>1.5</real>
|
||||
<real>1.5</real>
|
||||
<real>1.5</real>
|
||||
<real>0.5</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
@@ -63,14 +63,14 @@
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>4.999999873689375817775726e-05</real>
|
||||
<real>0.0008999999845400452613830566</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>50</real>
|
||||
<real>1</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
@@ -0,0 +1,141 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>1.5</real>
|
||||
<real>1.5</real>
|
||||
<real>1.5</real>
|
||||
<real>0.5</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
<real>0.449999993698308176082179</real>
|
||||
<real>0.4499999939833594919669224</real>
|
||||
<real>0.4499999944309046040480382</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0.89999997615814208984375</real>
|
||||
<real>0.89999997615814208984375</real>
|
||||
<real>0.89999997615814208984375</real>
|
||||
<real>0.449999988079071044921875</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.2261540024157503436796901</real>
|
||||
<real>0.2261540024157503436796901</real>
|
||||
<real>0.2261540024157503436796901</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
<array>
|
||||
<real>0.5</real>
|
||||
<real>0.5</real>
|
||||
<real>0.125</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.4199999868869781494140625</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>10</real>
|
||||
<real>10</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0.36000001430511474609375</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>0.0004499999922700226306915283</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>east_angle</key>
|
||||
<real>0</real>
|
||||
<key>enable_cloud_scroll</key>
|
||||
<array>
|
||||
<boolean>1</boolean>
|
||||
<boolean>1</boolean>
|
||||
</array>
|
||||
<key>gamma</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>glow</key>
|
||||
<array>
|
||||
<real>5</real>
|
||||
<real>0.001000000047497451305389404</real>
|
||||
<real>-0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>4</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0.1991560043746730401803546</real>
|
||||
<real>0.1991560043746730401803546</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>-0</real>
|
||||
<real>1</real>
|
||||
<real>1.148381556959066074341536e-06</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>4000</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>preset_num</key>
|
||||
<integer>26</integer>
|
||||
<key>star_brightness</key>
|
||||
<real>0</real>
|
||||
<key>sun_angle</key>
|
||||
<real>1.57079517841339111328125</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
@@ -37,14 +37,14 @@
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
<array>
|
||||
<real>1.6884100437164306640625</real>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.07000000029802322387695313</real>
|
||||
<real>0.2000000029802322387695313</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
@@ -56,7 +56,7 @@
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0.66999995708465576171875</real>
|
||||
<real>0.75</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
@@ -105,7 +105,7 @@
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0.1499999910593032836914063</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>1</real>
|
||||
@@ -119,7 +119,7 @@
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>150</real>
|
||||
<real>1</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
|
||||
@@ -23,10 +23,10 @@
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.25</real>
|
||||
<real>0.25</real>
|
||||
<real>0.25</real>
|
||||
<real>0.25</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
@@ -44,7 +44,7 @@
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.07000000029802322387695313</real>
|
||||
<real>0.2000000029802322387695313</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
@@ -56,7 +56,7 @@
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0.66999995708465576171875</real>
|
||||
<real>0.75</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
@@ -119,7 +119,7 @@
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>150</real>
|
||||
<real>1</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
|
||||
@@ -0,0 +1,141 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>0.44999992847442626953125</real>
|
||||
<real>0.599999964237213134765625</real>
|
||||
<real>0.199999988079071044921875</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
<real>2</real>
|
||||
<real>2</real>
|
||||
<real>2</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0.599999964237213134765625</real>
|
||||
<real>0.599999964237213134765625</real>
|
||||
<real>0.599999964237213134765625</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.329999983310699462890625</real>
|
||||
<real>0.329999983310699462890625</real>
|
||||
<real>0.329999983310699462890625</real>
|
||||
<real>0.329999983310699462890625</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
<real>0.25</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
<array>
|
||||
<real>1.6884100437164306640625</real>
|
||||
<real>1</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.2000000029802322387695313</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>10.3999996185302734375</real>
|
||||
<real>10</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0.75</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>9.999999747378751635551453e-05</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>5</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>east_angle</key>
|
||||
<real>0</real>
|
||||
<key>enable_cloud_scroll</key>
|
||||
<array>
|
||||
<boolean>1</boolean>
|
||||
<boolean>1</boolean>
|
||||
</array>
|
||||
<key>gamma</key>
|
||||
<array>
|
||||
<real>0.89999997615814208984375</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>glow</key>
|
||||
<array>
|
||||
<real>0.200002193450927734375</real>
|
||||
<real>0.001000000047497451305389404</real>
|
||||
<real>-0.199999988079071044921875</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>4</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0.2099999934434890747070313</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
<real>-4.371138828673792886547744e-08</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>preset_num</key>
|
||||
<integer>22</integer>
|
||||
<key>star_brightness</key>
|
||||
<real>0</real>
|
||||
<key>sun_angle</key>
|
||||
<real>1.57079637050628662109375</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>1.0499999523162841796875</real>
|
||||
<real>1.0499999523162841796875</real>
|
||||
<real>1.0499999523162841796875</real>
|
||||
<real>0.3499999940395355224609375</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
@@ -0,0 +1,141 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
<real>2</real>
|
||||
<real>2</real>
|
||||
<real>2</real>
|
||||
<real>2</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0.39999997615814208984375</real>
|
||||
<real>0.39999997615814208984375</real>
|
||||
<real>0.39999997615814208984375</real>
|
||||
<real>0.199999988079071044921875</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>0.5</real>
|
||||
<real>0.5</real>
|
||||
<real>0.1700000017881393432617188</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
<array>
|
||||
<real>1.6884100437164306640625</real>
|
||||
<real>1</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.2000000029802322387695313</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>10.3999996185302734375</real>
|
||||
<real>10</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0.75</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>0.0005999999702908098697662354</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>3.5</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>east_angle</key>
|
||||
<real>0</real>
|
||||
<key>enable_cloud_scroll</key>
|
||||
<array>
|
||||
<boolean>1</boolean>
|
||||
<boolean>1</boolean>
|
||||
</array>
|
||||
<key>gamma</key>
|
||||
<array>
|
||||
<real>1.599999904632568359375</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>glow</key>
|
||||
<array>
|
||||
<real>0.200002193450927734375</real>
|
||||
<real>0.001000000047497451305389404</real>
|
||||
<real>-0.1499999910593032836914063</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>4</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0.04999999701976776123046875</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0.876306593418121337890625</real>
|
||||
<real>-0.4817537963390350341796875</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>26</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>preset_num</key>
|
||||
<integer>22</integer>
|
||||
<key>star_brightness</key>
|
||||
<real>0</real>
|
||||
<key>sun_angle</key>
|
||||
<real>2.0734512805938720703125</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>0.599999964237213134765625</real>
|
||||
<real>0.75</real>
|
||||
<real>0.749999940395355224609375</real>
|
||||
<real>0.75</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
@@ -0,0 +1,141 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
<real>2</real>
|
||||
<real>2</real>
|
||||
<real>2</real>
|
||||
<real>2</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0.39999997615814208984375</real>
|
||||
<real>0.39999997615814208984375</real>
|
||||
<real>0.39999997615814208984375</real>
|
||||
<real>0.199999988079071044921875</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>0.5</real>
|
||||
<real>0.5</real>
|
||||
<real>0.1700000017881393432617188</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
<array>
|
||||
<real>1.6884100437164306640625</real>
|
||||
<real>1</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.2000000029802322387695313</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>10.3999996185302734375</real>
|
||||
<real>10</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0.75</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>0.0005999999702908098697662354</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>3.5</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>east_angle</key>
|
||||
<real>0</real>
|
||||
<key>enable_cloud_scroll</key>
|
||||
<array>
|
||||
<boolean>1</boolean>
|
||||
<boolean>1</boolean>
|
||||
</array>
|
||||
<key>gamma</key>
|
||||
<array>
|
||||
<real>1.19999992847442626953125</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>glow</key>
|
||||
<array>
|
||||
<real>0.200002193450927734375</real>
|
||||
<real>0.001000000047497451305389404</real>
|
||||
<real>-0.1499999910593032836914063</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>4</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0.04999999701976776123046875</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0.876306593418121337890625</real>
|
||||
<real>-0.4817537963390350341796875</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>100</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>preset_num</key>
|
||||
<integer>22</integer>
|
||||
<key>star_brightness</key>
|
||||
<real>0</real>
|
||||
<key>sun_angle</key>
|
||||
<real>2.0734512805938720703125</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>0.599999964237213134765625</real>
|
||||
<real>0.75</real>
|
||||
<real>0.749999940395355224609375</real>
|
||||
<real>0.75</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
@@ -30,9 +30,9 @@
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>0.5</real>
|
||||
<real>0.5</real>
|
||||
<real>0.1700000017881393432617188</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
@@ -44,33 +44,33 @@
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.07000000029802322387695313</real>
|
||||
<real>0.2000000029802322387695313</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>11</real>
|
||||
<real>10.3999996185302734375</real>
|
||||
<real>10</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0.66999995708465576171875</real>
|
||||
<real>0.75</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>0.0003999999898951500654220581</real>
|
||||
<real>0.0005999999702908098697662354</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>6</real>
|
||||
<real>3.5</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
@@ -93,7 +93,7 @@
|
||||
<array>
|
||||
<real>0.200002193450927734375</real>
|
||||
<real>0.001000000047497451305389404</real>
|
||||
<real>-0.2499999850988388061523438</real>
|
||||
<real>-0.1499999910593032836914063</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
@@ -105,7 +105,7 @@
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0.04999999701976776123046875</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>1</real>
|
||||
@@ -119,7 +119,7 @@
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>70</real>
|
||||
<real>100</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
|
||||
@@ -2,49 +2,49 @@
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0.2880000174045562744140625</real>
|
||||
<real>0.449999988079071044921875</real>
|
||||
<real>0.599999964237213134765625</real>
|
||||
<real>0.599999964237213134765625</real>
|
||||
<real>1.0499999523162841796875</real>
|
||||
<real>1.19999992847442626953125</real>
|
||||
<real>1.19999992847442626953125</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
<real>0.199999988079071044921875</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>0.39999997615814208984375</real>
|
||||
<real>0.699999988079071044921875</real>
|
||||
<real>0.599999964237213134765625</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0.39999997615814208984375</real>
|
||||
<real>0.5</real>
|
||||
<real>1</real>
|
||||
<real>0.5</real>
|
||||
<real>0</real>
|
||||
<real>0.199999988079071044921875</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.2399999797344207763671875</real>
|
||||
<real>0.2399999797344207763671875</real>
|
||||
<real>0.2399999797344207763671875</real>
|
||||
<real>0.2399999946355819702148438</real>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
<real>0.329999983310699462890625</real>
|
||||
<real>0.08999999612569808959960938</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
<array>
|
||||
<real>1.6884100437164306640625</real>
|
||||
<real>0</real>
|
||||
<real>0.04999999701976776123046875</real>
|
||||
<real>0.75</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.0999999940395355224609375</real>
|
||||
<real>0.4999999701976776123046875</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
@@ -63,14 +63,14 @@
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>9.999999747378751635551453e-05</real>
|
||||
<real>0.0002500000118743628263473511</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>6</real>
|
||||
<real>1</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
@@ -84,28 +84,28 @@
|
||||
</array>
|
||||
<key>gamma</key>
|
||||
<array>
|
||||
<real>0.5</real>
|
||||
<real>0.75</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>glow</key>
|
||||
<array>
|
||||
<real>5</real>
|
||||
<real>10</real>
|
||||
<real>0.001000000047497451305389404</real>
|
||||
<real>-0.4799999892711639404296875</real>
|
||||
<real>-0.4999999701976776123046875</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>0.199999988079071044921875</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0.199999988079071044921875</real>
|
||||
<real>0.4699999988079071044921875</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>1</real>
|
||||
@@ -113,13 +113,13 @@
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0.876306593418121337890625</real>
|
||||
<real>-0.4817537963390350341796875</real>
|
||||
<real>0.867070615291595458984375</real>
|
||||
<real>-0.49818527698516845703125</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>4000</real>
|
||||
<real>2000</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
@@ -129,13 +129,13 @@
|
||||
<key>star_brightness</key>
|
||||
<real>0</real>
|
||||
<key>sun_angle</key>
|
||||
<real>2.0734512805938720703125</real>
|
||||
<real>2.092300891876220703125</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>1.7999999523162841796875</real>
|
||||
<real>1.61999976634979248046875</real>
|
||||
<real>1.43999946117401123046875</real>
|
||||
<real>0.599999964237213134765625</real>
|
||||
<real>1.5</real>
|
||||
<real>1.5</real>
|
||||
<real>1.5</real>
|
||||
<real>0.5</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
|
||||
@@ -3,55 +3,55 @@
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0.599999964237213134765625</real>
|
||||
<real>1.0499999523162841796875</real>
|
||||
<real>1.19999992847442626953125</real>
|
||||
<real>1.049999237060546875</real>
|
||||
<real>1.19999992847442626953125</real>
|
||||
<real>0.39999997615814208984375</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
<real>0.199999988079071044921875</real>
|
||||
<real>0.0999999940395355224609375</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>0.39999997615814208984375</real>
|
||||
<real>0.699999988079071044921875</real>
|
||||
<real>0.560000002384185791015625</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0.39999997615814208984375</real>
|
||||
<real>0.5</real>
|
||||
<real>1</real>
|
||||
<real>0.5</real>
|
||||
<real>0.39999997615814208984375</real>
|
||||
<real>0.7999999523162841796875</real>
|
||||
<real>0.39999997615814208984375</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.2399999797344207763671875</real>
|
||||
<real>0.2399999797344207763671875</real>
|
||||
<real>0.2399999797344207763671875</real>
|
||||
<real>0.2399999946355819702148438</real>
|
||||
<real>0.39999997615814208984375</real>
|
||||
<real>0.2800000011920928955078125</real>
|
||||
<real>0.1999999433755874633789063</real>
|
||||
<real>0.39999997615814208984375</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
<real>0.329999983310699462890625</real>
|
||||
<real>0.0999999940395355224609375</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
<array>
|
||||
<real>1.6884100437164306640625</real>
|
||||
<real>0</real>
|
||||
<real>0.04999999701976776123046875</real>
|
||||
<real>0.0999999940395355224609375</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.0999999940395355224609375</real>
|
||||
<real>0.05999999493360519409179688</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>10.19999980926513671875</real>
|
||||
<real>10.5</real>
|
||||
<real>10.0109996795654296875</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
@@ -84,28 +84,28 @@
|
||||
</array>
|
||||
<key>gamma</key>
|
||||
<array>
|
||||
<real>0.5</real>
|
||||
<real>0.599999964237213134765625</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>glow</key>
|
||||
<array>
|
||||
<real>21.8000011444091796875</real>
|
||||
<real>20</real>
|
||||
<real>0.001000000047497451305389404</real>
|
||||
<real>-0.2499999850988388061523438</real>
|
||||
<real>-1.25</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>0.5</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0.199999988079071044921875</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>1</real>
|
||||
@@ -132,10 +132,10 @@
|
||||
<real>2.51327419281005859375</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>2.25</real>
|
||||
<real>1.68749940395355224609375</real>
|
||||
<real>1.125</real>
|
||||
<real>0.75</real>
|
||||
<real>1.5</real>
|
||||
<real>1.19999992847442626953125</real>
|
||||
<real>0.89999997615814208984375</real>
|
||||
<real>1.5</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
|
||||
@@ -0,0 +1,141 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1.5</real>
|
||||
<real>1.5</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>2</real>
|
||||
<real>2</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.5</real>
|
||||
<real>0.5</real>
|
||||
<real>0.5</real>
|
||||
<real>0.5</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>1.6884100437164306640625</real>
|
||||
<real>0</real>
|
||||
<real>0.5</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
<array>
|
||||
<real>1.6884100437164306640625</real>
|
||||
<real>0.526096999645233154296875</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.0999999940395355224609375</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>10.19999980926513671875</real>
|
||||
<real>10.0109996795654296875</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0.5</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>0.0003299999807495623826980591</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>50</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>east_angle</key>
|
||||
<real>0</real>
|
||||
<key>enable_cloud_scroll</key>
|
||||
<array>
|
||||
<boolean>1</boolean>
|
||||
<boolean>1</boolean>
|
||||
</array>
|
||||
<key>gamma</key>
|
||||
<array>
|
||||
<real>0.329999983310699462890625</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>glow</key>
|
||||
<array>
|
||||
<real>30</real>
|
||||
<real>0.001000000047497451305389404</real>
|
||||
<real>-0.4999999701976776123046875</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0.5</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0.867070615291595458984375</real>
|
||||
<real>-0.49818527698516845703125</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>2000</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>preset_num</key>
|
||||
<integer>22</integer>
|
||||
<key>star_brightness</key>
|
||||
<real>0</real>
|
||||
<key>sun_angle</key>
|
||||
<real>2.092300891876220703125</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>3</real>
|
||||
<real>0.990000188350677490234375</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
@@ -0,0 +1,141 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>2.25</real>
|
||||
<real>2.25</real>
|
||||
<real>2.25</real>
|
||||
<real>0.75</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
<real>2</real>
|
||||
<real>2</real>
|
||||
<real>2</real>
|
||||
<real>2</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0.1999999731779098510742188</real>
|
||||
<real>0.1999999731779098510742188</real>
|
||||
<real>0.1999999731779098510742188</real>
|
||||
<real>0.0999999940395355224609375</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
<real>0.08999999612569808959960938</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
<array>
|
||||
<real>1.6884100437164306640625</real>
|
||||
<real>0</real>
|
||||
<real>0.75</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.4999999701976776123046875</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>10.19999980926513671875</real>
|
||||
<real>10.0109996795654296875</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>9.999999747378751635551453e-06</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>100</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>east_angle</key>
|
||||
<real>0</real>
|
||||
<key>enable_cloud_scroll</key>
|
||||
<array>
|
||||
<boolean>1</boolean>
|
||||
<boolean>1</boolean>
|
||||
</array>
|
||||
<key>gamma</key>
|
||||
<array>
|
||||
<real>0.66999995708465576171875</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>glow</key>
|
||||
<array>
|
||||
<real>10</real>
|
||||
<real>0.001000000047497451305389404</real>
|
||||
<real>-0.4999999701976776123046875</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0.867070615291595458984375</real>
|
||||
<real>-0.49818527698516845703125</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>4000</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>preset_num</key>
|
||||
<integer>22</integer>
|
||||
<key>star_brightness</key>
|
||||
<real>0</real>
|
||||
<key>sun_angle</key>
|
||||
<real>2.092300891876220703125</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>3</real>
|
||||
<real>2.4000003337860107421875</real>
|
||||
<real>2.099999904632568359375</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
@@ -0,0 +1,141 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>1.5</real>
|
||||
<real>1.7999999523162841796875</real>
|
||||
<real>2.099999904632568359375</real>
|
||||
<real>2.099999904632568359375</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
<real>2</real>
|
||||
<real>2</real>
|
||||
<real>2</real>
|
||||
<real>2</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0.1999999731779098510742188</real>
|
||||
<real>0.1999999731779098510742188</real>
|
||||
<real>0.1999999731779098510742188</real>
|
||||
<real>0.0999999940395355224609375</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
<real>0.08999999612569808959960938</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
<array>
|
||||
<real>1.6884100437164306640625</real>
|
||||
<real>0</real>
|
||||
<real>0.75</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.4999999701976776123046875</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>10.19999980926513671875</real>
|
||||
<real>10.0109996795654296875</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>1.999999949475750327110291e-05</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>100</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>east_angle</key>
|
||||
<real>0</real>
|
||||
<key>enable_cloud_scroll</key>
|
||||
<array>
|
||||
<boolean>1</boolean>
|
||||
<boolean>1</boolean>
|
||||
</array>
|
||||
<key>gamma</key>
|
||||
<array>
|
||||
<real>0.66999995708465576171875</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>glow</key>
|
||||
<array>
|
||||
<real>10</real>
|
||||
<real>0.001000000047497451305389404</real>
|
||||
<real>-0.4999999701976776123046875</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0.867070615291595458984375</real>
|
||||
<real>-0.49818527698516845703125</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>4000</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>preset_num</key>
|
||||
<integer>22</integer>
|
||||
<key>star_brightness</key>
|
||||
<real>0</real>
|
||||
<key>sun_angle</key>
|
||||
<real>2.092300891876220703125</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>1.230000019073486328125</real>
|
||||
<real>1.230000019073486328125</real>
|
||||
<real>1.230000019073486328125</real>
|
||||
<real>0.4099999964237213134765625</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
@@ -0,0 +1,141 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>0.599999964237213134765625</real>
|
||||
<real>0.89999997615814208984375</real>
|
||||
<real>0.89999997615814208984375</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
<real>2</real>
|
||||
<real>2</real>
|
||||
<real>2</real>
|
||||
<real>2</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0.1999999731779098510742188</real>
|
||||
<real>0.1999999731779098510742188</real>
|
||||
<real>0.1999999731779098510742188</real>
|
||||
<real>0.0999999940395355224609375</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.5</real>
|
||||
<real>0.5</real>
|
||||
<real>0.5</real>
|
||||
<real>0.5</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
<real>0.08999999612569808959960938</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
<array>
|
||||
<real>1.6884100437164306640625</real>
|
||||
<real>0</real>
|
||||
<real>0.75</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.4999999701976776123046875</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>10.19999980926513671875</real>
|
||||
<real>10.0109996795654296875</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>1.999999949475750327110291e-05</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>100</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>east_angle</key>
|
||||
<real>0</real>
|
||||
<key>enable_cloud_scroll</key>
|
||||
<array>
|
||||
<boolean>1</boolean>
|
||||
<boolean>1</boolean>
|
||||
</array>
|
||||
<key>gamma</key>
|
||||
<array>
|
||||
<real>0.66999995708465576171875</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>glow</key>
|
||||
<array>
|
||||
<real>10</real>
|
||||
<real>0.001000000047497451305389404</real>
|
||||
<real>-0.4999999701976776123046875</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>-1</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>4000</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>preset_num</key>
|
||||
<integer>22</integer>
|
||||
<key>star_brightness</key>
|
||||
<real>0</real>
|
||||
<key>sun_angle</key>
|
||||
<real>3.1415927410125732421875</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
@@ -0,0 +1,141 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0.599999964237213134765625</real>
|
||||
<real>0.75</real>
|
||||
<real>1.19999992847442626953125</real>
|
||||
<real>0.39999997615814208984375</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
<real>1.99999988079071044921875</real>
|
||||
<real>1.99999988079071044921875</real>
|
||||
<real>1.99999988079071044921875</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.5</real>
|
||||
<real>0.5</real>
|
||||
<real>0.5</real>
|
||||
<real>0.5</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
<real>0.08999999612569808959960938</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
<array>
|
||||
<real>1.6884100437164306640625</real>
|
||||
<real>0</real>
|
||||
<real>0.75</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.4999999701976776123046875</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>10.19999980926513671875</real>
|
||||
<real>10.0109996795654296875</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>0.0002500000118743628263473511</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>100</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>east_angle</key>
|
||||
<real>0</real>
|
||||
<key>enable_cloud_scroll</key>
|
||||
<array>
|
||||
<boolean>1</boolean>
|
||||
<boolean>1</boolean>
|
||||
</array>
|
||||
<key>gamma</key>
|
||||
<array>
|
||||
<real>0.66999995708465576171875</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>glow</key>
|
||||
<array>
|
||||
<real>10</real>
|
||||
<real>0.001000000047497451305389404</real>
|
||||
<real>-0.4999999701976776123046875</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>-1</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>4000</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>preset_num</key>
|
||||
<integer>22</integer>
|
||||
<key>star_brightness</key>
|
||||
<real>0</real>
|
||||
<key>sun_angle</key>
|
||||
<real>3.1415927410125732421875</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
@@ -0,0 +1,141 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0.1499999910593032836914063</real>
|
||||
<real>0.4500000178813934326171875</real>
|
||||
<real>0.1499999910593032836914063</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
<real>0.39999997615814208984375</real>
|
||||
<real>0.39999997615814208984375</real>
|
||||
<real>0.39999997615814208984375</real>
|
||||
<real>0.199999988079071044921875</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0.4000000059604644775390625</real>
|
||||
<real>0.599999725818634033203125</real>
|
||||
<real>0.800000011920928955078125</real>
|
||||
<real>0.39999997615814208984375</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.329999983310699462890625</real>
|
||||
<real>0.329999983310699462890625</real>
|
||||
<real>0.329999983310699462890625</real>
|
||||
<real>0.329999983310699462890625</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>0.5</real>
|
||||
<real>0.5</real>
|
||||
<real>0.0999999940395355224609375</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
<array>
|
||||
<real>0.5</real>
|
||||
<real>0.5</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.07000000029802322387695313</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>10.1399993896484375</real>
|
||||
<real>10.0109996795654296875</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0.39999997615814208984375</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>4.999999873689375817775726e-05</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>10</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>east_angle</key>
|
||||
<real>0</real>
|
||||
<key>enable_cloud_scroll</key>
|
||||
<array>
|
||||
<boolean>1</boolean>
|
||||
<boolean>1</boolean>
|
||||
</array>
|
||||
<key>gamma</key>
|
||||
<array>
|
||||
<real>2</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>glow</key>
|
||||
<array>
|
||||
<real>20</real>
|
||||
<real>0.001000000047497451305389404</real>
|
||||
<real>-1.25</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>2</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0.04999999701976776123046875</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>-0</real>
|
||||
<real>0.3090172111988067626953125</real>
|
||||
<real>0.951056420803070068359375</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>4000</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>preset_num</key>
|
||||
<integer>10</integer>
|
||||
<key>star_brightness</key>
|
||||
<real>0.5</real>
|
||||
<key>sun_angle</key>
|
||||
<real>3.4557521343231201171875</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>0.08999999612569808959960938</real>
|
||||
<real>0.1799999922513961791992188</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>0.0999999940395355224609375</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
@@ -0,0 +1,141 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0.1499999910593032836914063</real>
|
||||
<real>0.449999988079071044921875</real>
|
||||
<real>0.449999988079071044921875</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
<real>0.39999997615814208984375</real>
|
||||
<real>0.39999997615814208984375</real>
|
||||
<real>0.39999997615814208984375</real>
|
||||
<real>0.199999988079071044921875</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0.7999999523162841796875</real>
|
||||
<real>0.599999964237213134765625</real>
|
||||
<real>0.39999997615814208984375</real>
|
||||
<real>0.39999997615814208984375</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.699999988079071044921875</real>
|
||||
<real>0.39999997615814208984375</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>0.699999988079071044921875</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>0.5</real>
|
||||
<real>0.5</real>
|
||||
<real>0.04999999701976776123046875</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
<array>
|
||||
<real>0.5</real>
|
||||
<real>0.5</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.07000000029802322387695313</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>10.1399993896484375</real>
|
||||
<real>10.0109996795654296875</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0.5</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>4.999999873689375817775726e-05</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>10</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>east_angle</key>
|
||||
<real>0</real>
|
||||
<key>enable_cloud_scroll</key>
|
||||
<array>
|
||||
<boolean>1</boolean>
|
||||
<boolean>1</boolean>
|
||||
</array>
|
||||
<key>gamma</key>
|
||||
<array>
|
||||
<real>2</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>glow</key>
|
||||
<array>
|
||||
<real>20</real>
|
||||
<real>0.001000000047497451305389404</real>
|
||||
<real>-1.25</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>2</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0.04999999701976776123046875</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>-0</real>
|
||||
<real>0.3090172111988067626953125</real>
|
||||
<real>0.951056420803070068359375</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>4000</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>preset_num</key>
|
||||
<integer>10</integer>
|
||||
<key>star_brightness</key>
|
||||
<real>0.5</real>
|
||||
<key>sun_angle</key>
|
||||
<real>3.4557521343231201171875</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>0.1799999922513961791992188</real>
|
||||
<real>0.1799999922513961791992188</real>
|
||||
<real>0.1799999922513961791992188</real>
|
||||
<real>0.1799999922513961791992188</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
@@ -0,0 +1,141 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0.1499999910593032836914063</real>
|
||||
<real>0.449999988079071044921875</real>
|
||||
<real>0.449999988079071044921875</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
<real>0.39999997615814208984375</real>
|
||||
<real>0.39999997615814208984375</real>
|
||||
<real>0.39999997615814208984375</real>
|
||||
<real>0.199999988079071044921875</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0.7999999523162841796875</real>
|
||||
<real>0.599999964237213134765625</real>
|
||||
<real>0.39999997615814208984375</real>
|
||||
<real>0.39999997615814208984375</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.699999988079071044921875</real>
|
||||
<real>0.39999997615814208984375</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>0.699999988079071044921875</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>0.5</real>
|
||||
<real>0.5</real>
|
||||
<real>0.04999999701976776123046875</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
<array>
|
||||
<real>0.5</real>
|
||||
<real>0.5</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.07000000029802322387695313</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>10.1399993896484375</real>
|
||||
<real>10.0109996795654296875</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0.5</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>4.999999873689375817775726e-05</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>10</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>east_angle</key>
|
||||
<real>0</real>
|
||||
<key>enable_cloud_scroll</key>
|
||||
<array>
|
||||
<boolean>1</boolean>
|
||||
<boolean>1</boolean>
|
||||
</array>
|
||||
<key>gamma</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>glow</key>
|
||||
<array>
|
||||
<real>20</real>
|
||||
<real>0.001000000047497451305389404</real>
|
||||
<real>-1.25</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>2</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0.04999999701976776123046875</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>-0</real>
|
||||
<real>0.3090172111988067626953125</real>
|
||||
<real>0.951056420803070068359375</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>4000</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>preset_num</key>
|
||||
<integer>10</integer>
|
||||
<key>star_brightness</key>
|
||||
<real>0.5</real>
|
||||
<key>sun_angle</key>
|
||||
<real>3.4557521343231201171875</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>0.1799999922513961791992188</real>
|
||||
<real>0.1799999922513961791992188</real>
|
||||
<real>0.1799999922513961791992188</real>
|
||||
<real>0.1799999922513961791992188</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
@@ -0,0 +1,141 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
<real>2</real>
|
||||
<real>2</real>
|
||||
<real>2</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0.1999999731779098510742188</real>
|
||||
<real>0.1999999731779098510742188</real>
|
||||
<real>0.1999999731779098510742188</real>
|
||||
<real>0.0999999940395355224609375</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
<array>
|
||||
<real>1.6884100437164306640625</real>
|
||||
<real>1</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.07000000029802322387695313</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>11</real>
|
||||
<real>10</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0.66999995708465576171875</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>0.0008999999845400452613830566</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>32.200000762939453125</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>east_angle</key>
|
||||
<real>0</real>
|
||||
<key>enable_cloud_scroll</key>
|
||||
<array>
|
||||
<boolean>1</boolean>
|
||||
<boolean>1</boolean>
|
||||
</array>
|
||||
<key>gamma</key>
|
||||
<array>
|
||||
<real>0.39999997615814208984375</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>glow</key>
|
||||
<array>
|
||||
<real>0.200002193450927734375</real>
|
||||
<real>0.001000000047497451305389404</real>
|
||||
<real>-0.2499999850988388061523438</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0.0999999940395355224609375</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0.876306593418121337890625</real>
|
||||
<real>-0.4817537963390350341796875</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>314</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>preset_num</key>
|
||||
<integer>22</integer>
|
||||
<key>star_brightness</key>
|
||||
<real>0</real>
|
||||
<key>sun_angle</key>
|
||||
<real>2.0734512805938720703125</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>0.08999998867511749267578125</real>
|
||||
<real>0.1799999773502349853515625</real>
|
||||
<real>0.269999980926513671875</real>
|
||||
<real>0.08999999612569808959960938</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
@@ -2,10 +2,10 @@
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>0.449999988079071044921875</real>
|
||||
<real>0.599999964237213134765625</real>
|
||||
<real>0.199999988079071044921875</real>
|
||||
<real>0</real>
|
||||
<real>0.1499999910593032836914063</real>
|
||||
<real>0.4500000178813934326171875</real>
|
||||
<real>0.1499999910593032836914063</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
@@ -16,23 +16,23 @@
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0.199999988079071044921875</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>0.4000000059604644775390625</real>
|
||||
<real>0.599999725818634033203125</real>
|
||||
<real>0.800000011920928955078125</real>
|
||||
<real>0.39999997615814208984375</real>
|
||||
<real>0.199999988079071044921875</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.09411763399839401245117188</real>
|
||||
<real>0.1499999910593032836914063</real>
|
||||
<real>0.199999988079071044921875</real>
|
||||
<real>0.199999988079071044921875</real>
|
||||
<real>0.329999983310699462890625</real>
|
||||
<real>0.329999983310699462890625</real>
|
||||
<real>0.329999983310699462890625</real>
|
||||
<real>0.329999983310699462890625</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>0.5</real>
|
||||
<real>0.5</real>
|
||||
<real>0.07000000029802322387695313</real>
|
||||
<real>0.0999999940395355224609375</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
@@ -56,21 +56,21 @@
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0.5</real>
|
||||
<real>0.39999997615814208984375</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>0.0001999999949475750327110291</real>
|
||||
<real>4.999999873689375817775726e-05</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>8</real>
|
||||
<real>10</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
@@ -84,21 +84,21 @@
|
||||
</array>
|
||||
<key>gamma</key>
|
||||
<array>
|
||||
<real>0.699999988079071044921875</real>
|
||||
<real>1</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>glow</key>
|
||||
<array>
|
||||
<real>11.6000003814697265625</real>
|
||||
<real>20</real>
|
||||
<real>0.001000000047497451305389404</real>
|
||||
<real>-0.749999940395355224609375</real>
|
||||
<real>-1.25</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>0.5</real>
|
||||
<real>2</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
@@ -119,7 +119,7 @@
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>500</real>
|
||||
<real>4000</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
@@ -127,15 +127,15 @@
|
||||
<key>preset_num</key>
|
||||
<integer>10</integer>
|
||||
<key>star_brightness</key>
|
||||
<real>0.3599999845027923583984375</real>
|
||||
<real>0.5</real>
|
||||
<key>sun_angle</key>
|
||||
<real>3.4557521343231201171875</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>0.1499999910593032836914063</real>
|
||||
<real>0.1499999910593032836914063</real>
|
||||
<real>0.1499999910593032836914063</real>
|
||||
<real>0.04999999701976776123046875</real>
|
||||
<real>0.08999999612569808959960938</real>
|
||||
<real>0.1799999922513961791992188</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>0.0999999940395355224609375</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
|
||||
@@ -0,0 +1,141 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0.599999964237213134765625</real>
|
||||
<real>0.599999964237213134765625</real>
|
||||
<real>0.599999964237213134765625</real>
|
||||
<real>0.199999988079071044921875</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
<real>2</real>
|
||||
<real>2</real>
|
||||
<real>2</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0.599999964237213134765625</real>
|
||||
<real>0.599999964237213134765625</real>
|
||||
<real>0.599999964237213134765625</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
<real>0.25</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
<array>
|
||||
<real>1.6884100437164306640625</real>
|
||||
<real>1</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.07000000029802322387695313</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>10.3999996185302734375</real>
|
||||
<real>10</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0.61000001430511474609375</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>9.999999747378751635551453e-05</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>5</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>east_angle</key>
|
||||
<real>1.06814157962799072265625</real>
|
||||
<key>enable_cloud_scroll</key>
|
||||
<array>
|
||||
<boolean>1</boolean>
|
||||
<boolean>1</boolean>
|
||||
</array>
|
||||
<key>gamma</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>glow</key>
|
||||
<array>
|
||||
<real>0.200002193450927734375</real>
|
||||
<real>0.001000000047497451305389404</real>
|
||||
<real>-0.199999988079071044921875</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>4</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0.2099999934434890747070313</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>0.38304769992828369140625</real>
|
||||
<real>0.89940512180328369140625</real>
|
||||
<real>-0.2105822265148162841796875</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>preset_num</key>
|
||||
<integer>22</integer>
|
||||
<key>star_brightness</key>
|
||||
<real>0</real>
|
||||
<key>sun_angle</key>
|
||||
<real>2.0231859683990478515625</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>1.5</real>
|
||||
<real>1.5</real>
|
||||
<real>1.5</real>
|
||||
<real>0.5</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
@@ -0,0 +1,141 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
<real>0.25</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
<array>
|
||||
<real>1.6884100437164306640625</real>
|
||||
<real>1</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.07000000029802322387695313</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>10.3999996185302734375</real>
|
||||
<real>10</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>100</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>east_angle</key>
|
||||
<real>0</real>
|
||||
<key>enable_cloud_scroll</key>
|
||||
<array>
|
||||
<boolean>1</boolean>
|
||||
<boolean>1</boolean>
|
||||
</array>
|
||||
<key>gamma</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>glow</key>
|
||||
<array>
|
||||
<real>0.200002193450927734375</real>
|
||||
<real>0.001000000047497451305389404</real>
|
||||
<real>-0.199999988079071044921875</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0.2099999934434890747070313</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0.587785184383392333984375</real>
|
||||
<real>-0.80901706218719482421875</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>preset_num</key>
|
||||
<integer>22</integer>
|
||||
<key>star_brightness</key>
|
||||
<real>0</real>
|
||||
<key>sun_angle</key>
|
||||
<real>2.51327419281005859375</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>2.009999752044677734375</real>
|
||||
<real>2.009999752044677734375</real>
|
||||
<real>2.009999752044677734375</real>
|
||||
<real>0.66999995708465576171875</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
@@ -2,10 +2,10 @@
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0.449999988079071044921875</real>
|
||||
<real>0.75</real>
|
||||
<real>1.0499999523162841796875</real>
|
||||
<real>0.3499999940395355224609375</real>
|
||||
<real>0.89999997615814208984375</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
@@ -23,16 +23,16 @@
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.199999988079071044921875</real>
|
||||
<real>0.199999988079071044921875</real>
|
||||
<real>0.199999988079071044921875</real>
|
||||
<real>0.199999988079071044921875</real>
|
||||
<real>0.25</real>
|
||||
<real>0.25</real>
|
||||
<real>0.25</real>
|
||||
<real>0.25</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
<real>0.25</real>
|
||||
<real>0.189999997615814208984375</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
@@ -44,7 +44,7 @@
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.0999999940395355224609375</real>
|
||||
<real>0.07000000029802322387695313</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
@@ -91,21 +91,21 @@
|
||||
</array>
|
||||
<key>glow</key>
|
||||
<array>
|
||||
<real>4.00000095367431640625</real>
|
||||
<real>38</real>
|
||||
<real>0.001000000047497451305389404</real>
|
||||
<real>-0.39999997615814208984375</real>
|
||||
<real>-0.2499999850988388061523438</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>0.75</real>
|
||||
<real>0.199999988079071044921875</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0.199999988079071044921875</real>
|
||||
<real>0.5</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>0.1991560012102127075195313</real>
|
||||
<real>1</real>
|
||||
@@ -132,10 +132,10 @@
|
||||
<real>0.31415927410125732421875</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>3</real>
|
||||
<real>2.9999997615814208984375</real>
|
||||
<real>1.19999992847442626953125</real>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<real>3</real>
|
||||
<real>0.449999988079071044921875</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
|
||||
@@ -23,16 +23,16 @@
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.09999998658895492553710938</real>
|
||||
<real>0.09999998658895492553710938</real>
|
||||
<real>0.09999998658895492553710938</real>
|
||||
<real>0.0999999940395355224609375</real>
|
||||
<real>0</real>
|
||||
<real>0.02999999932944774627685547</real>
|
||||
<real>0.05999999865889549255371094</real>
|
||||
<real>0.05999999865889549255371094</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
<real>0.1499999910593032836914063</real>
|
||||
<real>0.1199999973177909851074219</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
@@ -44,7 +44,7 @@
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.0999999940395355224609375</real>
|
||||
<real>0.07000000029802322387695313</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>blurMultiplier</key>
|
||||
<real>0.1600000113248825073242188</real>
|
||||
<key>fresnelOffset</key>
|
||||
<real>0.5</real>
|
||||
<key>fresnelScale</key>
|
||||
<real>1</real>
|
||||
<key>normScale</key>
|
||||
<array>
|
||||
<real>5</real>
|
||||
<real>5</real>
|
||||
<real>5</real>
|
||||
</array>
|
||||
<key>normalMap</key>
|
||||
<uuid>f92da839-f302-c813-668d-601ab1957af1</uuid>
|
||||
<key>scaleAbove</key>
|
||||
<real>0.199999988079071044921875</real>
|
||||
<key>scaleBelow</key>
|
||||
<real>0.2000000029802322387695313</real>
|
||||
<key>underWaterFogMod</key>
|
||||
<real>1</real>
|
||||
<key>waterFogColor</key>
|
||||
<array>
|
||||
<real>0.02851562201976776123046875</real>
|
||||
<real>0.07148437201976776123046875</real>
|
||||
<real>0.06242064759135246276855469</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>waterFogDensity</key>
|
||||
<real>2</real>
|
||||
<key>wave1Dir</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>wave2Dir</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
@@ -1,16 +1,16 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>blurMultiplier</key>
|
||||
<real>0.08000000566244125366210938</real>
|
||||
<real>0.01000000070780515670776367</real>
|
||||
<key>fresnelOffset</key>
|
||||
<real>0.550000011920928955078125</real>
|
||||
<real>0.5</real>
|
||||
<key>fresnelScale</key>
|
||||
<real>0.75</real>
|
||||
<real>0.5</real>
|
||||
<key>normScale</key>
|
||||
<array>
|
||||
<real>5</real>
|
||||
<real>5</real>
|
||||
<real>5</real>
|
||||
<real>4</real>
|
||||
<real>4</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>normalMap</key>
|
||||
<uuid>7f132b94-6c9c-5af3-5a17-3412ad653da0</uuid>
|
||||
@@ -19,25 +19,25 @@
|
||||
<key>scaleBelow</key>
|
||||
<real>0.2000000029802322387695313</real>
|
||||
<key>underWaterFogMod</key>
|
||||
<real>1</real>
|
||||
<real>0.66999995708465576171875</real>
|
||||
<key>waterFogColor</key>
|
||||
<array>
|
||||
<real>0.02851562201976776123046875</real>
|
||||
<real>0.07148437201976776123046875</real>
|
||||
<real>0.06242064759135246276855469</real>
|
||||
<real>0.1960784494876861572265625</real>
|
||||
<real>0.2196078598499298095703125</real>
|
||||
<real>0.1764705926179885864257813</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>waterFogDensity</key>
|
||||
<real>16</real>
|
||||
<real>103.96833038330078125</real>
|
||||
<key>wave1Dir</key>
|
||||
<array>
|
||||
<real>-0.1000001430511474609375</real>
|
||||
<real>-0.1000001430511474609375</real>
|
||||
<real>-0.25</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>wave2Dir</key>
|
||||
<array>
|
||||
<real>-0.5</real>
|
||||
<real>-0.5</real>
|
||||
<real>-1</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
|
||||
@@ -1,43 +1,43 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>blurMultiplier</key>
|
||||
<real>0.010000000707805157</real>
|
||||
<real>0.04500000178813934326171875</real>
|
||||
<key>fresnelOffset</key>
|
||||
<real>0.5</real>
|
||||
<key>fresnelScale</key>
|
||||
<real>0.39999997615814209</real>
|
||||
<real>0.5</real>
|
||||
<key>normScale</key>
|
||||
<array>
|
||||
<integer>2</integer>
|
||||
<integer>2</integer>
|
||||
<integer>2</integer>
|
||||
<real>1.10000002384185791015625</real>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>normalMap</key>
|
||||
<uuid>822ded49-9a6c-f61c-cb89-6df54f42cdf4</uuid>
|
||||
<key>scaleAbove</key>
|
||||
<real>0.029999999329447746</real>
|
||||
<real>0.02999999932944774627685547</real>
|
||||
<key>scaleBelow</key>
|
||||
<real>0.099999994039535522</real>
|
||||
<real>0.2000000029802322387695313</real>
|
||||
<key>underWaterFogMod</key>
|
||||
<real>0.25</real>
|
||||
<real>0.66999995708465576171875</real>
|
||||
<key>waterFogColor</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0.039215687662363052</real>
|
||||
<real>0.039215687662363052</real>
|
||||
<real>0.199999988079071044921875</real>
|
||||
<real>0.2199999988079071044921875</real>
|
||||
<real>0.1799999773502349853515625</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>waterFogDensity</key>
|
||||
<real>32</real>
|
||||
<real>103.96833038330078125</real>
|
||||
<key>wave1Dir</key>
|
||||
<array>
|
||||
<real>1.0499997138977051</real>
|
||||
<real>-0.42000007629394531</real>
|
||||
<real>-1</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>wave2Dir</key>
|
||||
<array>
|
||||
<real>1.1099996566772461</real>
|
||||
<real>-1.1600000858306885</real>
|
||||
<real>-1</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>blurMultiplier</key>
|
||||
<real>0.05000000074505805969238281</real>
|
||||
<key>fresnelOffset</key>
|
||||
<real>0.5</real>
|
||||
<key>fresnelScale</key>
|
||||
<real>0.5</real>
|
||||
<key>normScale</key>
|
||||
<array>
|
||||
<real>5</real>
|
||||
<real>5</real>
|
||||
<real>5</real>
|
||||
</array>
|
||||
<key>normalMap</key>
|
||||
<uuid>7f132b94-6c9c-5af3-5a17-3412ad653da0</uuid>
|
||||
<key>scaleAbove</key>
|
||||
<real>0.04999999701976776123046875</real>
|
||||
<key>scaleBelow</key>
|
||||
<real>0.2000000029802322387695313</real>
|
||||
<key>underWaterFogMod</key>
|
||||
<real>1</real>
|
||||
<key>waterFogColor</key>
|
||||
<array>
|
||||
<real>0.194549560546875</real>
|
||||
<real>0.602325439453125</real>
|
||||
<real>0.50675296783447265625</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>waterFogDensity</key>
|
||||
<real>8</real>
|
||||
<key>wave1Dir</key>
|
||||
<array>
|
||||
<real>-0.1000001430511474609375</real>
|
||||
<real>-0.1000001430511474609375</real>
|
||||
</array>
|
||||
<key>wave2Dir</key>
|
||||
<array>
|
||||
<real>-0.5</real>
|
||||
<real>-0.5</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
@@ -0,0 +1,43 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>blurMultiplier</key>
|
||||
<real>0.005000000353902578353881836</real>
|
||||
<key>fresnelOffset</key>
|
||||
<real>0.599999964237213134765625</real>
|
||||
<key>fresnelScale</key>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<key>normScale</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>normalMap</key>
|
||||
<uuid>7f132b94-6c9c-5af3-5a17-3412ad653da0</uuid>
|
||||
<key>scaleAbove</key>
|
||||
<real>0.02999999932944774627685547</real>
|
||||
<key>scaleBelow</key>
|
||||
<real>0.2000000029802322387695313</real>
|
||||
<key>underWaterFogMod</key>
|
||||
<real>0.5</real>
|
||||
<key>waterFogColor</key>
|
||||
<array>
|
||||
<real>0.1882353127002716064453125</real>
|
||||
<real>0.2509804069995880126953125</real>
|
||||
<real>0.3137255012989044189453125</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>waterFogDensity</key>
|
||||
<real>32</real>
|
||||
<key>wave1Dir</key>
|
||||
<array>
|
||||
<real>-0.5</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>wave2Dir</key>
|
||||
<array>
|
||||
<real>-2</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
@@ -0,0 +1,43 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>blurMultiplier</key>
|
||||
<real>0.04500000178813934326171875</real>
|
||||
<key>fresnelOffset</key>
|
||||
<real>0.599999964237213134765625</real>
|
||||
<key>fresnelScale</key>
|
||||
<real>0.2999999821186065673828125</real>
|
||||
<key>normScale</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>normalMap</key>
|
||||
<uuid>822ded49-9a6c-f61c-cb89-6df54f42cdf4</uuid>
|
||||
<key>scaleAbove</key>
|
||||
<real>0.02999999932944774627685547</real>
|
||||
<key>scaleBelow</key>
|
||||
<real>0.2000000029802322387695313</real>
|
||||
<key>underWaterFogMod</key>
|
||||
<real>0.5</real>
|
||||
<key>waterFogColor</key>
|
||||
<array>
|
||||
<real>0.1882353127002716064453125</real>
|
||||
<real>0.2509804069995880126953125</real>
|
||||
<real>0.3137255012989044189453125</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>waterFogDensity</key>
|
||||
<real>32</real>
|
||||
<key>wave1Dir</key>
|
||||
<array>
|
||||
<real>-2</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>wave2Dir</key>
|
||||
<array>
|
||||
<real>-4</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
@@ -64,6 +64,8 @@ this feature is still a work in progress.
|
||||
#include "llviewermenufile.h"
|
||||
#include "llfloaterimagepreview.h"
|
||||
#include "llfile.h"
|
||||
#include "llsdparam.h"
|
||||
#include "llsdserialize.h"
|
||||
|
||||
/* including to force rebakes when needed */
|
||||
#include "llvoavatarself.h"
|
||||
@@ -93,21 +95,29 @@ bool LocalAssetBrowser::mSculptUpdated;
|
||||
containing one loaded local texture.
|
||||
*/
|
||||
|
||||
LocalBitmap::LocalBitmap(std::string fullpath)
|
||||
LocalBitmap::Params::Params(const std::string& path)
|
||||
: fullpath("path", path)
|
||||
, keep_updating("update", gSavedSettings.getBOOL("LocalBitmapUpdate"))
|
||||
, type("type", TYPE_TEXTURE)
|
||||
, id("id", LLUUID::generateNewID())
|
||||
{
|
||||
}
|
||||
|
||||
LocalBitmap::LocalBitmap(const Params& p)
|
||||
{
|
||||
llassert(!p.fullpath.empty());
|
||||
valid = false;
|
||||
if ( gDirUtilp->fileExists(fullpath) )
|
||||
if ( gDirUtilp->fileExists(p.fullpath) )
|
||||
{
|
||||
/* taking care of basic properties */
|
||||
id.generate();
|
||||
filename = fullpath;
|
||||
keep_updating = gSavedSettings.getBOOL("LocalBitmapUpdate");
|
||||
id = p.id;
|
||||
filename = p.fullpath;
|
||||
keep_updating = p.keep_updating;
|
||||
linkstatus = keep_updating ? LINK_ON : LINK_OFF;
|
||||
shortname = gDirUtilp->getBaseFileName(filename, true);
|
||||
bitmap_type = TYPE_TEXTURE;
|
||||
bitmap_type = p.type;
|
||||
sculpt_dirty = false;
|
||||
volume_dirty = false;
|
||||
valid = false;
|
||||
|
||||
/* taking care of extension type now to avoid switch madness */
|
||||
std::string temp_exten = gDirUtilp->getExtension(filename);
|
||||
@@ -143,6 +153,7 @@ LocalBitmap::LocalBitmap(std::string fullpath)
|
||||
|
||||
/* filename is valid, bitmap is decoded and valid, i can haz liftoff! */
|
||||
valid = true;
|
||||
LocalAssetBrowser::add(*this);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -293,64 +304,64 @@ void LocalBitmap::setType( S32 type )
|
||||
bitmap_type = type;
|
||||
}
|
||||
|
||||
void LocalBitmap::setID(const LLUUID& uuid)
|
||||
{
|
||||
LLViewerFetchedTexture* image = gTextureList.findImage(id);
|
||||
gTextureList.deleteImage(image);
|
||||
id = uuid;
|
||||
image->setID(id);
|
||||
gTextureList.addImage(image);
|
||||
}
|
||||
|
||||
/* [information query functions] */
|
||||
std::string LocalBitmap::getShortName()
|
||||
std::string LocalBitmap::getShortName() const
|
||||
{
|
||||
return shortname;
|
||||
}
|
||||
|
||||
std::string LocalBitmap::getFileName()
|
||||
std::string LocalBitmap::getFileName() const
|
||||
{
|
||||
return filename;
|
||||
}
|
||||
|
||||
LLUUID LocalBitmap::getID()
|
||||
LLUUID LocalBitmap::getID() const
|
||||
{
|
||||
return id;
|
||||
}
|
||||
|
||||
LLSD LocalBitmap::getLastModified()
|
||||
LLSD LocalBitmap::getLastModified() const
|
||||
{
|
||||
return last_modified;
|
||||
}
|
||||
|
||||
std::string LocalBitmap::getLinkStatus()
|
||||
std::string LocalBitmap::getLinkStatus() const
|
||||
{
|
||||
switch(linkstatus)
|
||||
{
|
||||
case LINK_ON:
|
||||
return "On";
|
||||
|
||||
case LINK_OFF:
|
||||
return "Off";
|
||||
|
||||
case LINK_BROKEN:
|
||||
return "Broken";
|
||||
|
||||
case LINK_UPDATING:
|
||||
return "Updating";
|
||||
|
||||
default:
|
||||
return "Unknown";
|
||||
case LINK_ON: return "On";
|
||||
case LINK_OFF: return "Off";
|
||||
case LINK_BROKEN: return "Broken";
|
||||
case LINK_UPDATING: return "Updating";
|
||||
default: return "Unknown";
|
||||
}
|
||||
}
|
||||
|
||||
bool LocalBitmap::getUpdateBool()
|
||||
bool LocalBitmap::getUpdateBool() const
|
||||
{
|
||||
return keep_updating;
|
||||
}
|
||||
|
||||
bool LocalBitmap::getIfValidBool()
|
||||
bool LocalBitmap::getIfValidBool() const
|
||||
{
|
||||
return valid;
|
||||
}
|
||||
|
||||
S32 LocalBitmap::getType()
|
||||
S32 LocalBitmap::getType() const
|
||||
{
|
||||
return bitmap_type;
|
||||
}
|
||||
|
||||
std::vector<LLFace*> LocalBitmap::getFaceUsesThis(LLDrawable* drawable)
|
||||
std::vector<LLFace*> LocalBitmap::getFaceUsesThis(LLDrawable* drawable) const
|
||||
{
|
||||
std::vector<LLFace*> matching_faces;
|
||||
|
||||
@@ -365,7 +376,7 @@ std::vector<LLFace*> LocalBitmap::getFaceUsesThis(LLDrawable* drawable)
|
||||
return matching_faces;
|
||||
}
|
||||
|
||||
std::vector<affected_object> LocalBitmap::getUsingObjects(bool seek_by_type, bool seek_textures, bool seek_sculptmaps)
|
||||
std::vector<affected_object> LocalBitmap::getUsingObjects(bool seek_by_type, bool seek_textures, bool seek_sculptmaps) const
|
||||
{
|
||||
std::vector<affected_object> affected_vector;
|
||||
|
||||
@@ -413,21 +424,29 @@ std::vector<affected_object> LocalBitmap::getUsingObjects(bool seek_by_type, boo
|
||||
return affected_vector;
|
||||
}
|
||||
|
||||
void LocalBitmap::getDebugInfo()
|
||||
void LocalBitmap::getDebugInfo() const
|
||||
{
|
||||
/* debug function: dumps everything human readable into llinfos */
|
||||
LL_INFOS() << "===[local bitmap debug]===" << "\n"
|
||||
<< "path: " << filename << "\n"
|
||||
<< "name: " << shortname << "\n"
|
||||
<< "extension: " << extension << "\n"
|
||||
<< "uuid: " << id << "\n"
|
||||
<< "last modified: " << last_modified << "\n"
|
||||
<< "link status: " << getLinkStatus() << "\n"
|
||||
<< "keep updated: " << keep_updating << "\n"
|
||||
<< "type: " << bitmap_type << "\n"
|
||||
<< "is valid: " << valid << "\n"
|
||||
LL_INFOS() << "===[local bitmap debug]===" << '\n'
|
||||
<< "path: " << filename << '\n'
|
||||
<< "name: " << shortname << '\n'
|
||||
<< "extension: " << extension << '\n'
|
||||
<< "uuid: " << id << '\n'
|
||||
<< "last modified: " << last_modified << '\n'
|
||||
<< "link status: " << getLinkStatus() << '\n'
|
||||
<< "keep updated: " << keep_updating << '\n'
|
||||
<< "type: " << bitmap_type << '\n'
|
||||
<< "is valid: " << valid << '\n'
|
||||
<< "==========================" << LL_ENDL;
|
||||
|
||||
}
|
||||
|
||||
LLSD LocalBitmap::asLLSD() const
|
||||
{
|
||||
return LLSD()
|
||||
.with("path", filename)
|
||||
.with("id", id)
|
||||
.with("update", keep_updating)
|
||||
.with("type", bitmap_type);
|
||||
}
|
||||
|
||||
/*=======================================*/
|
||||
@@ -439,15 +458,47 @@ void LocalBitmap::getDebugInfo()
|
||||
Sits in memory until the viewer is closed.
|
||||
*/
|
||||
|
||||
const std::string LocalAssetBrowser::getFileName() const
|
||||
{
|
||||
return gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "local_assets.xml");
|
||||
}
|
||||
|
||||
LocalAssetBrowser::LocalAssetBrowser()
|
||||
{
|
||||
gLocalBrowser = this;
|
||||
mLayerUpdated = false;
|
||||
mSculptUpdated = false;
|
||||
|
||||
// Load bitmaps
|
||||
llifstream file(getFileName());
|
||||
if (!file) return;
|
||||
LLSD saved_assets;
|
||||
LLSDSerialize::fromXML(saved_assets, file);
|
||||
file.close();
|
||||
for (auto it = saved_assets.beginArray(), end = saved_assets.endArray(); it < end; ++it)
|
||||
{
|
||||
const auto&& p = LLSDParamAdapter<LocalBitmap::Params>(*it);
|
||||
LocalBitmap bm(p); // Creating one adds it to the list
|
||||
}
|
||||
|
||||
if (!loaded_bitmaps.empty()) PingTimer();
|
||||
}
|
||||
|
||||
LocalAssetBrowser::~LocalAssetBrowser()
|
||||
{
|
||||
|
||||
// Save bitmaps
|
||||
llofstream file(getFileName());
|
||||
if (!file)
|
||||
{
|
||||
LL_WARNS() << "Could not open file " << getFileName() << " for saving." << LL_ENDL;
|
||||
return;
|
||||
}
|
||||
LLSD saved_assets(LLSD::emptyArray());
|
||||
for (const auto& bitmap : loaded_bitmaps)
|
||||
saved_assets.append(bitmap.asLLSD());
|
||||
LLSDSerialize::toPrettyXML(saved_assets, file);
|
||||
file.close();
|
||||
gLocalBrowser = nullptr;
|
||||
}
|
||||
|
||||
void LocalAssetBrowser::AddBitmap()
|
||||
@@ -463,20 +514,13 @@ void LocalAssetBrowser::AddBitmap_continued(AIFilePicker* filepicker)
|
||||
return;
|
||||
|
||||
bool change_happened = false;
|
||||
std::vector<std::string> const& filenames(filepicker->getFilenames());
|
||||
for(std::vector<std::string>::const_iterator filename = filenames.begin(); filename != filenames.end(); ++filename)
|
||||
{
|
||||
LocalBitmap unit(*filename);
|
||||
if (unit.getIfValidBool())
|
||||
{
|
||||
loaded_bitmaps.push_back(unit);
|
||||
|
||||
for(const auto& filename : filepicker->getFilenames())
|
||||
if (LocalBitmap(filename).getIfValidBool())
|
||||
change_happened = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (change_happened) onChangeHappened();
|
||||
}
|
||||
|
||||
void LocalAssetBrowser::DelBitmap( std::vector<LLScrollListItem*> delete_vector, S32 column )
|
||||
{
|
||||
bool change_happened = false;
|
||||
@@ -592,21 +636,20 @@ void LocalAssetBrowser::UpdateTextureCtrlList(LLScrollListCtrl* ctrl)
|
||||
if (ctrl) // checking again in case called externally for some silly reason.
|
||||
{
|
||||
ctrl->clearRows();
|
||||
if ( !loaded_bitmaps.empty() )
|
||||
for (const auto& bitmap : loaded_bitmaps)
|
||||
{
|
||||
for (local_list_iter iter = loaded_bitmaps.begin(); iter != loaded_bitmaps.end(); ++iter)
|
||||
{
|
||||
LLSD element;
|
||||
element["columns"][0]["column"] = "unit_name";
|
||||
element["columns"][0]["type"] = "text";
|
||||
element["columns"][0]["value"] = (*iter).shortname;
|
||||
auto row = LLScrollListItem::Params();
|
||||
row.columns.add(LLScrollListCell::Params()
|
||||
.column("unit_name")
|
||||
.type("text")
|
||||
.value(bitmap.shortname));
|
||||
|
||||
element["columns"][1]["column"] = "unit_id_HIDDEN";
|
||||
element["columns"][1]["type"] = "text";
|
||||
element["columns"][1]["value"] = (*iter).id;
|
||||
row.columns.add(LLScrollListCell::Params()
|
||||
.column("unit_id_HIDDEN")
|
||||
.type("text")
|
||||
.value(bitmap.id));
|
||||
|
||||
ctrl->addElement(element);
|
||||
}
|
||||
ctrl->addRow(row);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -731,6 +774,11 @@ FloaterLocalAssetBrowser::FloaterLocalAssetBrowser()
|
||||
|
||||
// checkbox callbacks
|
||||
mUpdateChkBox->setCommitCallback(boost::bind(&FloaterLocalAssetBrowser::onClickUpdateChkbox,this));
|
||||
|
||||
// Allow changing the ID!
|
||||
mUUIDTxt->setCommitCallback(boost::bind(&FloaterLocalAssetBrowser::onUpdateID, this, _2));
|
||||
mUUIDTxt->setCommitOnReturn(true);
|
||||
mUUIDTxt->setCommitOnFocusLost(true);
|
||||
}
|
||||
|
||||
void FloaterLocalAssetBrowser::show(void*)
|
||||
@@ -798,6 +846,21 @@ void FloaterLocalAssetBrowser::onCommitTypeCombo()
|
||||
}
|
||||
}
|
||||
|
||||
void FloaterLocalAssetBrowser::onUpdateID(const LLSD& val)
|
||||
{
|
||||
const auto& id = val.asUUID();
|
||||
const auto& col = mBitmapList->getFirstSelected()->getColumn(BITMAPLIST_COL_ID);
|
||||
const auto& old_id = col->getValue().asString();
|
||||
if (id.isNull() && id.asString() != old_id) // Just reset if invalid or unchanged
|
||||
mUUIDTxt->setValue(old_id);
|
||||
else
|
||||
{
|
||||
gLocalBrowser->GetBitmapUnit(LLUUID(old_id))->setID(id);
|
||||
mTextureView->setImageAssetID(id);
|
||||
col->setValue(id);
|
||||
}
|
||||
}
|
||||
|
||||
void FloaterLocalAssetBrowser::FloaterResize(bool expand)
|
||||
{
|
||||
mMoreBtn->setVisible(!expand);
|
||||
@@ -855,10 +918,9 @@ void FloaterLocalAssetBrowser::UpdateRightSide()
|
||||
*/
|
||||
if (!mTextureView->getVisible()) return;
|
||||
|
||||
if (!mBitmapList->getAllSelected().empty())
|
||||
if (const auto& selected = mBitmapList->getFirstSelected())
|
||||
{
|
||||
LocalBitmap* unit = gLocalBrowser->GetBitmapUnit( LLUUID(mBitmapList->getSelectedItemLabel(BITMAPLIST_COL_ID)) );
|
||||
|
||||
LocalBitmap* unit = gLocalBrowser->GetBitmapUnit(LLUUID(selected->getColumn(BITMAPLIST_COL_ID)->getValue().asString()));
|
||||
if ( unit )
|
||||
{
|
||||
mTextureView->setImageAssetID(unit->getID());
|
||||
@@ -873,6 +935,7 @@ void FloaterLocalAssetBrowser::UpdateRightSide()
|
||||
mTextureView->setEnabled(true);
|
||||
mUpdateChkBox->setEnabled(true);
|
||||
mTypeComboBox->setEnabled(true);
|
||||
mUUIDTxt->setEnabled(true);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -884,12 +947,14 @@ void FloaterLocalAssetBrowser::UpdateRightSide()
|
||||
|
||||
mTypeComboBox->selectFirstItem();
|
||||
mTypeComboBox->setEnabled(false);
|
||||
mUUIDTxt->setEnabled(false);
|
||||
|
||||
mPathTxt->setText(LLStringExplicit("None"));
|
||||
mUUIDTxt->setText(LLStringExplicit("None"));
|
||||
mNameTxt->setText(LLStringExplicit("None"));
|
||||
mLinkTxt->setText(LLStringExplicit("None"));
|
||||
mTimeTxt->setText(LLStringExplicit("None"));
|
||||
const auto none = LLStringExplicit("None");
|
||||
mPathTxt->setText(none);
|
||||
mUUIDTxt->setText(none);
|
||||
mNameTxt->setText(none);
|
||||
mLinkTxt->setText(none);
|
||||
mTimeTxt->setText(none);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -931,7 +996,7 @@ void LocalAssetBrowserTimer::stop()
|
||||
mEventTimer.stop();
|
||||
}
|
||||
|
||||
bool LocalAssetBrowserTimer::isRunning()
|
||||
bool LocalAssetBrowserTimer::isRunning() const
|
||||
{
|
||||
return mEventTimer.getStarted();
|
||||
}
|
||||
|
||||
@@ -97,7 +97,15 @@ struct affected_object
|
||||
class LocalBitmap
|
||||
{
|
||||
public:
|
||||
LocalBitmap(std::string filename);
|
||||
struct Params : public LLInitParam::Block<Params>
|
||||
{
|
||||
Mandatory<std::string> fullpath;
|
||||
Optional<bool> keep_updating;
|
||||
Optional<S32> type;
|
||||
Optional<LLUUID> id;
|
||||
Params(const std::string& path = LLStringUtil::null);
|
||||
};
|
||||
LocalBitmap(const Params& p);
|
||||
virtual ~LocalBitmap();
|
||||
friend class LocalAssetBrowser;
|
||||
|
||||
@@ -127,25 +135,28 @@ class LocalBitmap
|
||||
};
|
||||
|
||||
public: /* [information query functions] */
|
||||
std::string getShortName();
|
||||
std::string getFileName();
|
||||
LLUUID getID();
|
||||
LLSD getLastModified();
|
||||
std::string getLinkStatus();
|
||||
bool getUpdateBool();
|
||||
std::string getShortName() const;
|
||||
std::string getFileName() const;
|
||||
LLUUID getID() const;
|
||||
void setID(const LLUUID&);
|
||||
LLSD getLastModified() const;
|
||||
std::string getLinkStatus() const;
|
||||
bool getUpdateBool() const;
|
||||
void setType( S32 );
|
||||
bool getIfValidBool();
|
||||
S32 getType();
|
||||
void getDebugInfo();
|
||||
bool getIfValidBool() const;
|
||||
S32 getType() const;
|
||||
void getDebugInfo() const;
|
||||
LLSD asLLSD() const;
|
||||
|
||||
|
||||
private: /* [maintenence functions] */
|
||||
void updateSelf();
|
||||
bool decodeSelf(LLImageRaw* rawimg);
|
||||
void setUpdateBool();
|
||||
|
||||
std::vector<LLFace*> getFaceUsesThis(LLDrawable*);
|
||||
std::vector<LLFace*> getFaceUsesThis(LLDrawable*) const;
|
||||
std::vector<affected_object> getUsingObjects(bool seek_by_type = true,
|
||||
bool seek_textures = false, bool seek_sculptmaps = false);
|
||||
bool seek_textures = false, bool seek_sculptmaps = false) const;
|
||||
|
||||
protected: /* [basic properties] */
|
||||
std::string shortname;
|
||||
@@ -173,9 +184,10 @@ class LocalBitmap
|
||||
|
||||
class AIFilePicker;
|
||||
|
||||
class LocalAssetBrowser
|
||||
class LocalAssetBrowser : public LLSingleton<LocalAssetBrowser>
|
||||
{
|
||||
public:
|
||||
const std::string getFileName() const;
|
||||
LocalAssetBrowser();
|
||||
virtual ~LocalAssetBrowser();
|
||||
friend class FloaterLocalAssetBrowser;
|
||||
@@ -183,6 +195,7 @@ class LocalAssetBrowser
|
||||
static void UpdateTextureCtrlList(LLScrollListCtrl*);
|
||||
static void setLayerUpdated(bool toggle) { mLayerUpdated = toggle; }
|
||||
static void setSculptUpdated(bool toggle) { mSculptUpdated = toggle; }
|
||||
static void add(const LocalBitmap& unit) { loaded_bitmaps.push_back(unit); }
|
||||
static void AddBitmap();
|
||||
static void AddBitmap_continued(AIFilePicker* filepicker);
|
||||
static void DelBitmap( std::vector<LLScrollListItem*>, S32 column = BITMAPLIST_COL_ID );
|
||||
@@ -241,6 +254,8 @@ private:
|
||||
// Combobox type select
|
||||
void onCommitTypeCombo();
|
||||
|
||||
void onUpdateID(const LLSD& val);
|
||||
|
||||
// Widgets
|
||||
LLButton* mAddBtn;
|
||||
LLButton* mDelBtn;
|
||||
@@ -289,10 +304,10 @@ class LocalAssetBrowserTimer : public LLEventTimer
|
||||
public:
|
||||
LocalAssetBrowserTimer();
|
||||
~LocalAssetBrowserTimer();
|
||||
virtual BOOL tick();
|
||||
BOOL tick() override;
|
||||
void start();
|
||||
void stop();
|
||||
bool isRunning();
|
||||
bool isRunning() const;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -81,7 +81,7 @@ const std::string& HippoGridInfo::getGridOwner() const
|
||||
}
|
||||
else
|
||||
{
|
||||
return this->getGridName();
|
||||
return getGridName();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -102,12 +102,11 @@ void HippoGridInfo::setPlatform(Platform platform)
|
||||
void HippoGridInfo::setPlatform(const std::string& platform)
|
||||
{
|
||||
std::string tmp = platform;
|
||||
for (unsigned i=0; i<platform.size(); i++)
|
||||
tmp[i] = tolower(tmp[i]);
|
||||
LLStringUtil::toLower(tmp);
|
||||
|
||||
if (tmp == "aurora")
|
||||
if (tmp == "aurora" || tmp == "whitecore")
|
||||
{
|
||||
setPlatform(PLATFORM_AURORA);
|
||||
setPlatform(PLATFORM_WHITECORE);
|
||||
}
|
||||
else if (tmp == "opensim")
|
||||
{
|
||||
@@ -120,7 +119,7 @@ void HippoGridInfo::setPlatform(const std::string& platform)
|
||||
else
|
||||
{
|
||||
setPlatform(PLATFORM_OTHER);
|
||||
LL_WARNS() << "Unknown platform '" << platform << "' for " << mGridName << "." << LL_ENDL;
|
||||
LL_WARNS() << "Unknown platform '" << platform << "' for " << mGridName << '.' << LL_ENDL;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -337,7 +336,7 @@ void HippoGridInfo::onXmlCharacterData(void* userData, const XML_Char* s, int le
|
||||
|
||||
case XML_GRIDNAME:
|
||||
{
|
||||
if (self->mGridName == "")
|
||||
if (self->mGridName.empty())
|
||||
{
|
||||
self->mGridName.assign(s, len);
|
||||
}
|
||||
@@ -366,7 +365,7 @@ void HippoGridInfo::getGridInfo()
|
||||
|
||||
// Make sure the uri ends on a '/'.
|
||||
std::string uri = mLoginUri;
|
||||
if (uri.compare(uri.length() - 1, 1, "/") != 0)
|
||||
if (uri.back() != '/')
|
||||
{
|
||||
uri += '/';
|
||||
}
|
||||
@@ -482,9 +481,9 @@ std::string HippoGridInfo::getGridNick() const
|
||||
// static
|
||||
const char* HippoGridInfo::getPlatformString(Platform platform)
|
||||
{
|
||||
static const char* platformStrings[PLATFORM_LAST] =
|
||||
constexpr const char* platformStrings[PLATFORM_LAST] =
|
||||
{
|
||||
"Other", "Aurora", "OpenSim", "SecondLife"
|
||||
"Other", "WhiteCore", "OpenSim", "SecondLife"
|
||||
};
|
||||
|
||||
if ((platform < PLATFORM_OTHER) || (platform >= PLATFORM_LAST))
|
||||
|
||||
@@ -26,7 +26,7 @@ class HippoGridInfo
|
||||
public:
|
||||
enum Platform {
|
||||
PLATFORM_OTHER = 0,
|
||||
PLATFORM_AURORA,
|
||||
PLATFORM_WHITECORE,
|
||||
PLATFORM_OPENSIM,
|
||||
PLATFORM_SECONDLIFE,
|
||||
PLATFORM_LAST
|
||||
@@ -35,8 +35,8 @@ public:
|
||||
explicit HippoGridInfo(const std::string& gridName);
|
||||
|
||||
Platform getPlatform() { return mPlatform; }
|
||||
bool isOpenSimulator() const { return (mPlatform == PLATFORM_OPENSIM || mPlatform == PLATFORM_AURORA); }
|
||||
bool isAurora() const { return (mPlatform == PLATFORM_AURORA); }
|
||||
bool isOpenSimulator() const { return (mPlatform == PLATFORM_OPENSIM || mPlatform == PLATFORM_WHITECORE); }
|
||||
bool isWhiteCore() const { return (mPlatform == PLATFORM_WHITECORE); }
|
||||
bool isSecondLife() const { return (mPlatform == PLATFORM_SECONDLIFE); }
|
||||
bool isAvination() const { return mIsInAvination; }
|
||||
bool isInProductionGrid() const { llassert(mPlatform == PLATFORM_SECONDLIFE); return mIsInProductionGrid; } // Should only be called if isSecondLife() returns true.
|
||||
|
||||
@@ -21,8 +21,8 @@ void HippoLimits::setLimits()
|
||||
{
|
||||
if (gHippoGridManager->getConnectedGrid()->getPlatform() == HippoGridInfo::PLATFORM_SECONDLIFE) {
|
||||
setSecondLifeLimits();
|
||||
} else if (gHippoGridManager->getConnectedGrid()->getPlatform() == HippoGridInfo::PLATFORM_AURORA) {
|
||||
setAuroraLimits();
|
||||
} else if (gHippoGridManager->getConnectedGrid()->getPlatform() == HippoGridInfo::PLATFORM_WHITECORE) {
|
||||
setWhiteCoreLimits();
|
||||
} else {
|
||||
setOpenSimLimits();
|
||||
}
|
||||
@@ -65,7 +65,7 @@ void HippoLimits::setOpenSimLimits()
|
||||
}
|
||||
}
|
||||
|
||||
void HippoLimits::setAuroraLimits()
|
||||
void HippoLimits::setWhiteCoreLimits()
|
||||
{
|
||||
setMaxAgentGroups();
|
||||
mMaxPrimScale = 8192.0f;
|
||||
|
||||
@@ -27,7 +27,7 @@ private:
|
||||
|
||||
void setMaxAgentGroups();
|
||||
void setOpenSimLimits();
|
||||
void setAuroraLimits();
|
||||
void setWhiteCoreLimits();
|
||||
void setSecondLifeLimits();
|
||||
};
|
||||
|
||||
|
||||
@@ -326,9 +326,9 @@ Function CloseSecondLife
|
||||
IntCmp $0 0 DONE
|
||||
|
||||
StrCmp $SKIP_DIALOGS "true" CLOSE
|
||||
MessageBox MB_OKCANCEL $(CloseSecondLifeInstMB) IDOK CLOSE IDCANCEL CANCEL_INSTALL
|
||||
MessageBox MB_YESNOCANCEL $(CloseSecondLifeInstMB) IDYES CLOSE IDNO DONE
|
||||
|
||||
CANCEL_INSTALL:
|
||||
; CANCEL_INSTALL:
|
||||
Quit
|
||||
|
||||
CLOSE:
|
||||
|
||||
@@ -165,6 +165,7 @@
|
||||
// in save_settings_to_globals()
|
||||
#include "llbutton.h"
|
||||
#include "llcombobox.h"
|
||||
#include "floaterlocalassetbrowse.h"
|
||||
#include "llstatusbar.h"
|
||||
#include "llsurface.h"
|
||||
#include "llvosky.h"
|
||||
@@ -1723,6 +1724,8 @@ bool LLAppViewer::cleanup()
|
||||
|
||||
LLFloaterTeleportHistory::saveFile("teleport_history.xml");
|
||||
|
||||
LocalAssetBrowser::deleteSingleton(); // <edit/>
|
||||
|
||||
// save mute list. gMuteList used to also be deleted here too.
|
||||
LLMuteList::getInstance()->cache(gAgent.getID());
|
||||
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
#include "rlvhandler.h"
|
||||
#include "rlvlocks.h"
|
||||
// [/RLVa:KB]
|
||||
#include <boost/algorithm/string/predicate.hpp>
|
||||
|
||||
const F32 COF_LINK_BATCH_TIME = 5.0F;
|
||||
const F32 MAX_ATTACHMENT_REQUEST_LIFETIME = 30.0F;
|
||||
@@ -478,9 +479,17 @@ void LLAttachmentsMgr::onAttachmentArrived(const LLUUID& inv_item_id)
|
||||
{
|
||||
LLTimer timer;
|
||||
bool expected = mAttachmentRequests.getTime(inv_item_id, timer);
|
||||
LLInventoryItem *item = gInventory.getItem(inv_item_id);
|
||||
|
||||
if (item && boost::algorithm::contains(item->getName(), " Bridge v") && gSavedSettings.getBOOL("SGDetachBridge"))
|
||||
{
|
||||
LL_INFOS() << "Bridge detected! detaching" << LL_ENDL;
|
||||
LLVOAvatarSelf::detachAttachmentIntoInventory(item->getUUID());
|
||||
return;
|
||||
}
|
||||
|
||||
if (!expected)
|
||||
{
|
||||
LLInventoryItem *item = gInventory.getItem(inv_item_id);
|
||||
LL_WARNS() << "ATT Attachment was unexpected or arrived after " << MAX_ATTACHMENT_REQUEST_LIFETIME << " seconds: "
|
||||
<< (item ? item->getName() : "UNKNOWN") << " id " << inv_item_id << LL_ENDL;
|
||||
}
|
||||
|
||||
@@ -546,20 +546,12 @@ void LLAvatarActions::csr(const LLUUID& id)
|
||||
if (!gCacheName->getFullName(id, name)) return;
|
||||
|
||||
std::string url = "http://csr.lindenlab.com/agent/";
|
||||
|
||||
// slow and stupid, but it's late
|
||||
S32 len = name.length();
|
||||
for (S32 i = 0; i < len; i++)
|
||||
if (char* output = curl_easy_escape(nullptr, name.c_str(), name.length()))
|
||||
{
|
||||
if (name[i] == ' ')
|
||||
{
|
||||
url += "%20";
|
||||
}
|
||||
else
|
||||
{
|
||||
url += name[i];
|
||||
}
|
||||
name = output;
|
||||
curl_free(output);
|
||||
}
|
||||
url += name;
|
||||
|
||||
LLWeb::loadURL(url);
|
||||
}
|
||||
|
||||
@@ -505,7 +505,7 @@ void LLEnvManagerNew::onRegionSettingsResponse(const LLSD& content)
|
||||
mRegionSettingsChangeSignal();
|
||||
|
||||
// reset
|
||||
if (!gHippoGridManager->getConnectedGrid()->isAurora()) // On Aurora, the region says when to refresh
|
||||
if (!gHippoGridManager->getConnectedGrid()->isWhiteCore()) // On WhiteCore, the region says when to refresh
|
||||
mInterpNextChangeMessage = false;
|
||||
}
|
||||
|
||||
@@ -704,7 +704,7 @@ void LLEnvManagerNew::onRegionChange()
|
||||
}
|
||||
}
|
||||
|
||||
// Aurora-sim windlight refresh
|
||||
// WhiteCore windlight refresh
|
||||
class WindLightRefresh : public LLHTTPNode
|
||||
{
|
||||
/*virtual*/ void post(LLHTTPNode::ResponsePtr response, const LLSD& context, const LLSD& input) const
|
||||
|
||||
@@ -190,6 +190,20 @@ namespace
|
||||
mErrorCount = 0;
|
||||
makeRequest();
|
||||
}
|
||||
else if (mStatus == HTTP_NOT_FOUND)
|
||||
{ // Event polling for this server has been canceled. In
|
||||
// some cases the server gets ahead of the viewer and will
|
||||
// return a 404 error (Not Found) before the cancel event
|
||||
// comes back in the queue
|
||||
LL_WARNS("LLEventPollImpl") << "Canceling coroutine" << LL_ENDL;
|
||||
stop();
|
||||
}
|
||||
else if (mCode != CURLE_OK)
|
||||
{
|
||||
/// Some LLCore or LIBCurl error was returned. This is unlikely to be recoverable
|
||||
LL_WARNS("LLEventPollImpl") << "Critical error from poll request returned from libraries. Canceling coroutine." << LL_ENDL;
|
||||
stop();
|
||||
}
|
||||
else if (mErrorCount < MAX_EVENT_POLL_HTTP_ERRORS)
|
||||
{
|
||||
++mErrorCount;
|
||||
@@ -213,6 +227,7 @@ namespace
|
||||
// They are essentially disconnected from the region even though some things may still work.
|
||||
// Since things won't get better until they relog we force a disconnect now.
|
||||
|
||||
/* Singu Note: There's no reason to disconnect, just because this failed a few too many times
|
||||
// *NOTE:Mani - The following condition check to see if this failing event poll
|
||||
// is attached to the Agent's main region. If so we disconnect the viewer.
|
||||
// Else... its a child region and we just leave the dead event poll stopped and
|
||||
@@ -222,6 +237,7 @@ namespace
|
||||
LL_WARNS() << "Forcing disconnect due to stalled main region event poll." << LL_ENDL;
|
||||
LLAppViewer::instance()->forceDisconnect(LLTrans::getString("AgentLostConnection"));
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
1802
indra/newview/llfavoritesbar.cpp
Normal file
1802
indra/newview/llfavoritesbar.cpp
Normal file
File diff suppressed because it is too large
Load Diff
274
indra/newview/llfavoritesbar.h
Normal file
274
indra/newview/llfavoritesbar.h
Normal file
@@ -0,0 +1,274 @@
|
||||
/**
|
||||
* @file llfavoritesbar.h
|
||||
* @brief LLFavoritesBarCtrl base class
|
||||
*
|
||||
* $LicenseInfo:firstyear=2009&license=viewerlgpl$
|
||||
* Second Life Viewer Source Code
|
||||
* Copyright (C) 2010, Linden Research, Inc.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation;
|
||||
* version 2.1 of the License only.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
|
||||
* $/LicenseInfo$
|
||||
*/
|
||||
|
||||
#ifndef LL_LLFAVORITESBARCTRL_H
|
||||
#define LL_LLFAVORITESBARCTRL_H
|
||||
|
||||
#include "llbutton.h"
|
||||
#include "lluictrl.h"
|
||||
#include "lltextbox.h"
|
||||
|
||||
#include "llinventoryobserver.h"
|
||||
#include "llinventorymodel.h"
|
||||
#include "llviewerinventory.h"
|
||||
#include "llui.h" //"llinitdestroyclass.h"
|
||||
|
||||
class LLMenuItemCallGL;
|
||||
class LLMenuGL;
|
||||
|
||||
class LLFavoritesBarCtrl : public LLUICtrl, public LLInventoryObserver
|
||||
{
|
||||
public:
|
||||
struct Params : public LLInitParam::Block<Params, LLUICtrl::Params>
|
||||
{
|
||||
Optional<LLUIImage*> image_drag_indication;
|
||||
Optional<LLTextBox::Params> more_button;
|
||||
Optional<LLTextBox::Params> label;
|
||||
Params();
|
||||
};
|
||||
|
||||
protected:
|
||||
LLFavoritesBarCtrl(const Params&);
|
||||
friend class LLUICtrlFactory;
|
||||
public:
|
||||
virtual ~LLFavoritesBarCtrl();
|
||||
|
||||
/*virtual*/ BOOL postBuild() override;
|
||||
|
||||
/*virtual*/ BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop,
|
||||
EDragAndDropType cargo_type,
|
||||
void* cargo_data,
|
||||
EAcceptance* accept,
|
||||
std::string& tooltip_msg) override;
|
||||
|
||||
/*virtual*/ BOOL handleHover(S32 x, S32 y, MASK mask) override;
|
||||
/*virtual*/ BOOL handleRightMouseDown(S32 x, S32 y, MASK mask) override;
|
||||
// LLInventoryObserver observer trigger
|
||||
void changed(U32 mask) override;
|
||||
void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE) override;
|
||||
void draw() override;
|
||||
|
||||
void showDragMarker(BOOL show) { mShowDragMarker = show; }
|
||||
void setLandingTab(LLUICtrl* tab) { mLandingTab = tab; }
|
||||
|
||||
protected:
|
||||
void updateButtons();
|
||||
LLButton* createButton(const LLPointer<LLViewerInventoryItem> item, const LLButton::Params& button_params, S32 x_offset );
|
||||
const LLButton::Params& getButtonParams();
|
||||
BOOL collectFavoriteItems(LLInventoryModel::item_array_t &items);
|
||||
|
||||
void onButtonClick(LLUUID id);
|
||||
void onButtonRightClick(LLUUID id,LLView* button,S32 x,S32 y,MASK mask);
|
||||
|
||||
void onButtonMouseDown(LLUUID id, LLUICtrl* button, S32 x, S32 y, MASK mask);
|
||||
void onOverflowMenuItemMouseDown(LLUUID id, LLUICtrl* item, S32 x, S32 y, MASK mask);
|
||||
void onButtonMouseUp(LLUUID id, LLUICtrl* button, S32 x, S32 y, MASK mask);
|
||||
|
||||
void onEndDrag();
|
||||
|
||||
bool enableSelected(const LLSD& userdata);
|
||||
void doToSelected(const LLSD& userdata);
|
||||
BOOL isClipboardPasteable() const;
|
||||
void pasteFromClipboard() const;
|
||||
|
||||
void showDropDownMenu();
|
||||
|
||||
LLHandle<LLView> mOverflowMenuHandle;
|
||||
LLHandle<LLView> mContextMenuHandle;
|
||||
|
||||
LLUUID mFavoriteFolderId;
|
||||
const LLFontGL *mFont;
|
||||
S32 mFirstDropDownItem;
|
||||
S32 mDropDownItemsCount;
|
||||
bool mUpdateDropDownItems;
|
||||
bool mRestoreOverflowMenu;
|
||||
|
||||
LLUUID mSelectedItemID;
|
||||
|
||||
LLUIImage* mImageDragIndication;
|
||||
|
||||
private:
|
||||
/*
|
||||
* Helper function to make code more readable. It handles all drag and drop
|
||||
* operations of the existing favorites items on the favorites bar.
|
||||
*/
|
||||
void handleExistingFavoriteDragAndDrop(S32 x, S32 y);
|
||||
|
||||
/*
|
||||
* Helper function to make code more readable. It handles all drag and drop
|
||||
* operations of the new landmark to the favorites bar.
|
||||
*/
|
||||
void handleNewFavoriteDragAndDrop(LLInventoryItem *item, const LLUUID& favorites_id, S32 x, S32 y);
|
||||
|
||||
// finds a control under the specified LOCAL point
|
||||
LLUICtrl* findChildByLocalCoords(S32 x, S32 y);
|
||||
|
||||
// checks if the current order of the favorites items must be saved
|
||||
BOOL needToSaveItemsOrder(const LLInventoryModel::item_array_t& items);
|
||||
|
||||
/**
|
||||
* inserts an item identified by insertedItemId BEFORE an item identified by beforeItemId.
|
||||
* this function assumes that an item identified by insertedItemId doesn't exist in items array.
|
||||
*/
|
||||
void insertItem(LLInventoryModel::item_array_t& items, const LLUUID& dest_item_id, LLViewerInventoryItem* insertedItem, bool insert_before);
|
||||
|
||||
// finds an item by it's UUID in the items array
|
||||
LLInventoryModel::item_array_t::iterator findItemByUUID(LLInventoryModel::item_array_t& items, const LLUUID& id);
|
||||
|
||||
void createOverflowMenu();
|
||||
|
||||
void updateMenuItems(LLMenuGL* menu);
|
||||
|
||||
// Fits menu item label width with favorites menu width
|
||||
void fitLabelWidth(LLMenuItemCallGL* menu_item);
|
||||
|
||||
void addOpenLandmarksMenuItem(LLMenuGL* menu);
|
||||
|
||||
void positionAndShowMenu(LLMenuGL* menu);
|
||||
|
||||
BOOL mShowDragMarker;
|
||||
LLUICtrl* mLandingTab;
|
||||
LLUICtrl* mLastTab;
|
||||
LLTextBox* mMoreTextBox;
|
||||
LLTextBox* mBarLabel;
|
||||
|
||||
LLUUID mDragItemId;
|
||||
BOOL mStartDrag;
|
||||
LLInventoryModel::item_array_t mItems;
|
||||
|
||||
BOOL mTabsHighlightEnabled;
|
||||
|
||||
boost::signals2::connection mEndDragConnection;
|
||||
};
|
||||
|
||||
/**
|
||||
* Class to store sorting order of favorites landmarks in a local file. EXT-3985.
|
||||
* It replaced previously implemented solution to store sort index in landmark's name as a "<N>@" prefix.
|
||||
* Data are stored in user home directory.
|
||||
*/
|
||||
class LLFavoritesOrderStorage : public LLSingleton<LLFavoritesOrderStorage>
|
||||
, public LLDestroyClass<LLFavoritesOrderStorage>
|
||||
{
|
||||
friend class LLSingleton<LLFavoritesOrderStorage>;
|
||||
LLFavoritesOrderStorage(); //LLSINGLETON(LLFavoritesOrderStorage);
|
||||
~LLFavoritesOrderStorage() { save(); }
|
||||
LOG_CLASS(LLFavoritesOrderStorage);
|
||||
public:
|
||||
/**
|
||||
* Sets sort index for specified with LLUUID favorite landmark
|
||||
*/
|
||||
void setSortIndex(const LLViewerInventoryItem* inv_item, S32 sort_index);
|
||||
|
||||
/**
|
||||
* Gets sort index for specified with LLUUID favorite landmark
|
||||
*/
|
||||
S32 getSortIndex(const LLUUID& inv_item_id);
|
||||
void removeSortIndex(const LLUUID& inv_item_id);
|
||||
|
||||
void getSLURL(const LLUUID& asset_id);
|
||||
|
||||
// Saves current order of the passed items using inventory item sort field.
|
||||
// Resets 'items' sort fields and saves them on server.
|
||||
// Is used to save order for Favorites folder.
|
||||
void saveItemsOrder(const LLInventoryModel::item_array_t& items);
|
||||
|
||||
void saveOrder();
|
||||
|
||||
void rearrangeFavoriteLandmarks(const LLUUID& source_item_id, const LLUUID& target_item_id);
|
||||
|
||||
/**
|
||||
* Implementation of LLDestroyClass. Calls cleanup() instance method.
|
||||
*
|
||||
* It is important this callback is called before gInventory is cleaned.
|
||||
* For now it is called from LLAppViewer::cleanup() -> LLAppViewer::disconnectViewer(),
|
||||
* Inventory is cleaned later from LLAppViewer::cleanup() after LLAppViewer::disconnectViewer() is called.
|
||||
* @see cleanup()
|
||||
*/
|
||||
static void destroyClass();
|
||||
|
||||
const static S32 NO_INDEX;
|
||||
private:
|
||||
/**
|
||||
* Removes sort indexes for items which are not in Favorites bar for now.
|
||||
*/
|
||||
void cleanup();
|
||||
|
||||
const static std::string SORTING_DATA_FILE_NAME;
|
||||
std::string getSavedOrderFileName();
|
||||
static std::string getStoredFavoritesFilename();
|
||||
|
||||
void load();
|
||||
void save();
|
||||
|
||||
void saveFavoritesSLURLs();
|
||||
|
||||
// Remove record of current user's favorites from file on disk.
|
||||
void removeFavoritesRecordOfUser();
|
||||
|
||||
void onLandmarkLoaded(const LLUUID& asset_id, class LLLandmark* landmark);
|
||||
void storeFavoriteSLURL(const LLUUID& asset_id, std::string& slurl);
|
||||
|
||||
typedef std::map<LLUUID, S32> sort_index_map_t;
|
||||
sort_index_map_t mSortIndexes;
|
||||
|
||||
typedef std::map<LLUUID, std::string> slurls_map_t;
|
||||
slurls_map_t mSLURLs;
|
||||
std::set<LLUUID> mMissingSLURLs;
|
||||
bool mIsDirty;
|
||||
|
||||
struct IsNotInFavorites
|
||||
{
|
||||
IsNotInFavorites(const LLInventoryModel::item_array_t& items)
|
||||
: mFavoriteItems(items)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if specified item is not found among inventory items
|
||||
*/
|
||||
bool operator()(const sort_index_map_t::value_type& id_index_pair) const
|
||||
{
|
||||
LLPointer<LLViewerInventoryItem> item = gInventory.getItem(id_index_pair.first);
|
||||
if (item.isNull()) return true;
|
||||
|
||||
LLInventoryModel::item_array_t::const_iterator found_it =
|
||||
std::find(mFavoriteItems.begin(), mFavoriteItems.end(), item);
|
||||
|
||||
return found_it == mFavoriteItems.end();
|
||||
}
|
||||
private:
|
||||
LLInventoryModel::item_array_t mFavoriteItems;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
inline
|
||||
LLFavoritesOrderStorage::LLFavoritesOrderStorage() :
|
||||
mIsDirty(false)
|
||||
{ load(); }
|
||||
|
||||
#endif // LL_LLFAVORITESBARCTRL_H
|
||||
@@ -421,6 +421,9 @@ void LLFeatureManager::parseGPUTable(std::string filename)
|
||||
else
|
||||
{
|
||||
LL_WARNS("RenderInit") << "GPU '" << rawRenderer << "' not recognized" << LL_ENDL;
|
||||
mGPUString = rawRenderer;
|
||||
mGPUClass = EGPUClass::GPU_CLASS_3;
|
||||
mGPUSupported = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -98,7 +98,7 @@ namespace
|
||||
case STAT_TYPE_DRAW: if (radar_alert_draw) args["[RANGE]"] = LLTrans::getString("draw_distance"); break;
|
||||
case STAT_TYPE_SHOUTRANGE: if (radar_alert_shout_range) args["[RANGE]"] = LLTrans::getString("shout_range"); break;
|
||||
case STAT_TYPE_CHATRANGE: if (radar_alert_chat_range) args["[RANGE]"] = LLTrans::getString("chat_range"); break;
|
||||
case STAT_TYPE_AGE: if (radar_alert_age) chat.mText = name + " " + LLTrans::getString("has_triggered_your_avatar_age_alert") + "."; break;
|
||||
case STAT_TYPE_AGE: if (radar_alert_age) chat.mText = name + ' ' + LLTrans::getString("has_triggered_your_avatar_age_alert") + '.'; break;
|
||||
default: llassert(type); break;
|
||||
}
|
||||
args["[NAME]"] = name;
|
||||
@@ -112,6 +112,7 @@ namespace
|
||||
if (radar_show_dist) chat.mText += llformat(" (%.2fm)", dist);
|
||||
}
|
||||
chat.mFromName = name;
|
||||
chat.mFromID = key;
|
||||
if (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) // RLVa:LF - No way!
|
||||
chat.mURL = llformat("secondlife:///app/agent/%s/about", key.asString().c_str());
|
||||
chat.mSourceType = CHAT_SOURCE_SYSTEM;
|
||||
@@ -591,13 +592,13 @@ void LLFloaterAvatarList::updateAvatarList(const LLViewerRegion* region, bool fi
|
||||
U32 num_ids = 0;
|
||||
while(!announce_keys.empty())
|
||||
{
|
||||
ids << "," << announce_keys.front().asString();
|
||||
ids << ',' << announce_keys.front().asString();
|
||||
++num_ids;
|
||||
if (ids.tellp() > 200)
|
||||
{
|
||||
send_keys_message(transact_num, num_ids, ids.str());
|
||||
ids.seekp(num_ids = 0);
|
||||
ids.str("");
|
||||
ids.str(LLStringUtil::null);
|
||||
}
|
||||
announce_keys.pop();
|
||||
}
|
||||
@@ -1101,7 +1102,6 @@ void LLFloaterAvatarList::trackAvatar(const LLAvatarListEntry* entry) const
|
||||
|
||||
LLAvatarListEntry* LLFloaterAvatarList::getAvatarEntry(const LLUUID& avatar) const
|
||||
{
|
||||
if (avatar.isNull()) return NULL;
|
||||
av_list_t::const_iterator iter = std::find_if(mAvatars.begin(),mAvatars.end(),LLAvatarListEntry::uuidMatch(avatar));
|
||||
return (iter != mAvatars.end()) ? iter->get() : NULL;
|
||||
}
|
||||
@@ -1271,13 +1271,13 @@ void LLFloaterAvatarList::sendKeys() const
|
||||
|
||||
for (U32 i = 0; i < regionp->mMapAvatarIDs.size(); ++i)
|
||||
{
|
||||
ids << "," << regionp->mMapAvatarIDs.at(i);
|
||||
ids << ',' << regionp->mMapAvatarIDs.at(i);
|
||||
++num_ids;
|
||||
if (ids.tellp() > 200)
|
||||
{
|
||||
send_keys_message(transact_num, num_ids, ids.str());
|
||||
ids.seekp(num_ids = 0);
|
||||
ids.str("");
|
||||
ids.str(LLStringUtil::null);
|
||||
}
|
||||
}
|
||||
if (num_ids > 0) send_keys_message(transact_num, num_ids, ids.str());
|
||||
@@ -1416,7 +1416,7 @@ std::string LLFloaterAvatarList::getSelectedNames(const std::string& separator)
|
||||
std::string LLFloaterAvatarList::getSelectedName() const
|
||||
{
|
||||
LLAvatarListEntry* entry = getAvatarEntry(getSelectedID());
|
||||
return entry ? entry->getName() : "";
|
||||
return entry ? entry->getName() : LLStringUtil::null;
|
||||
}
|
||||
|
||||
LLUUID LLFloaterAvatarList::getSelectedID() const
|
||||
|
||||
@@ -45,6 +45,7 @@
|
||||
#include "llcombobox.h"
|
||||
#include "lltextparser.h"
|
||||
#include "lltrans.h"
|
||||
#include "llurlregistry.h"
|
||||
#include "llwindow.h"
|
||||
|
||||
// project include
|
||||
@@ -200,7 +201,7 @@ void add_timestamped_line(LLViewerTextEditor* edit, LLChat chat, const LLColor4&
|
||||
if (chat.mSourceType == CHAT_SOURCE_OBJECT)
|
||||
{
|
||||
LLStringUtil::trim(chat.mFromName);
|
||||
if (!chat.mFromName.length())
|
||||
if (chat.mFromName.empty())
|
||||
{
|
||||
chat.mFromName = LLTrans::getString("Unnamed");
|
||||
line = chat.mFromName + line;
|
||||
@@ -211,19 +212,19 @@ void add_timestamped_line(LLViewerTextEditor* edit, LLChat chat, const LLColor4&
|
||||
bool is_irc = italicize && chat.mChatStyle == CHAT_STYLE_IRC;
|
||||
// If the chat line has an associated url, link it up to the name.
|
||||
if (!chat.mURL.empty()
|
||||
&& (line.length() > chat.mFromName.length() && line.find(chat.mFromName,0) == 0))
|
||||
&& boost::algorithm::starts_with(line, chat.mFromName))
|
||||
{
|
||||
std::string start_line = line.substr(0, chat.mFromName.length() + 1);
|
||||
line = line.substr(chat.mFromName.length() + 1);
|
||||
line = line.substr(chat.mFromName.length());
|
||||
LLStyleSP sourceStyle = LLStyleMap::instance().lookup(chat.mFromID, chat.mURL);
|
||||
sourceStyle->mItalic = is_irc;
|
||||
edit->appendText(start_line, false, prepend_newline, sourceStyle);
|
||||
edit->appendText(chat.mFromName, false, prepend_newline, sourceStyle, false);
|
||||
prepend_newline = false;
|
||||
}
|
||||
LLStyleSP style(new LLStyle);
|
||||
style->setColor(color);
|
||||
style->mItalic = is_irc;
|
||||
edit->appendText(line, false, prepend_newline, style);
|
||||
style->mBold = chat.mChatType == CHAT_TYPE_SHOUT;
|
||||
edit->appendText(line, false, prepend_newline, style, false);
|
||||
}
|
||||
|
||||
void log_chat_text(const LLChat& chat)
|
||||
@@ -384,7 +385,19 @@ void LLFloaterChat::addChat(const LLChat& chat,
|
||||
// We display anything if it's not an IM. If it's an IM, check pref...
|
||||
if ( !from_instant_message || gSavedSettings.getBOOL("IMInChatConsole") )
|
||||
{
|
||||
gConsole->addConsoleLine(chat.mText, text_color);
|
||||
// Replace registered urls in the console so it looks right.
|
||||
std::string chit(chat.mText), // Read through this
|
||||
chat; // Add parts to this
|
||||
LLUrlMatch match;
|
||||
while (!chit.empty() && LLUrlRegistry::instance().findUrl(chit, match))
|
||||
{
|
||||
const auto start(match.getStart()), length(match.getEnd()+1-start);
|
||||
if (start > 0) chat += chit.substr(0, start); // Add up to the start of the match
|
||||
chat += match.getLabel() + match.getQuery(); // Add the label and the query
|
||||
chit.erase(0, start+length); // remove the url match and all before it
|
||||
}
|
||||
if (!chit.empty()) chat += chit; // Add any leftovers
|
||||
gConsole->addConsoleLine(chat, text_color);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -55,8 +55,7 @@
|
||||
|
||||
#include "statemachine/aifilepicker.h"
|
||||
#include "hippogridmanager.h"
|
||||
//#include "aixmllindengenepool.h"
|
||||
#include "aifile.h"
|
||||
#include "aixmllindengenepool.h"
|
||||
|
||||
using namespace LLAvatarAppearanceDefines;
|
||||
|
||||
@@ -119,9 +118,9 @@ LLFloaterCustomize::LLFloaterCustomize()
|
||||
gInventory.addObserver(mInventoryObserver);
|
||||
|
||||
LLOutfitObserver& outfit_observer = LLOutfitObserver::instance();
|
||||
outfit_observer.addBOFReplacedCallback(boost::bind(&LLFloaterCustomize::refreshCurrentOutfitName, this, ""));
|
||||
outfit_observer.addBOFChangedCallback(boost::bind(&LLFloaterCustomize::refreshCurrentOutfitName, this, ""));
|
||||
outfit_observer.addCOFChangedCallback(boost::bind(&LLFloaterCustomize::refreshCurrentOutfitName, this, ""));
|
||||
outfit_observer.addBOFReplacedCallback(boost::bind(&LLFloaterCustomize::refreshCurrentOutfitName, this, LLStringUtil::null));
|
||||
outfit_observer.addBOFChangedCallback(boost::bind(&LLFloaterCustomize::refreshCurrentOutfitName, this, LLStringUtil::null));
|
||||
outfit_observer.addCOFChangedCallback(boost::bind(&LLFloaterCustomize::refreshCurrentOutfitName, this, LLStringUtil::null));
|
||||
|
||||
LLCallbackMap::map_t factory_map;
|
||||
const std::string &invalid_name = LLWearableType::getTypeName(LLWearableType::WT_INVALID);
|
||||
@@ -238,7 +237,11 @@ void LLFloaterCustomize::editWearable(LLViewerWearable* wearable, bool disable_c
|
||||
{
|
||||
if(!wearable)
|
||||
return;
|
||||
LLFloaterCustomize::getInstance()->setCurrentWearableType(wearable->getType(), disable_camera_switch);
|
||||
auto& inst = LLFloaterCustomize::instance();
|
||||
inst.setCurrentWearableType(wearable->getType(), disable_camera_switch);
|
||||
U32 index(0);
|
||||
gAgentWearables.getWearableIndex(wearable, index);
|
||||
static_cast<LLPanelEditWearable*>(inst.mTabContainer->getCurrentPanel())->setWearableIndex(index);
|
||||
}
|
||||
|
||||
//static
|
||||
@@ -314,7 +317,6 @@ void LLFloaterCustomize::onBtnImport()
|
||||
|
||||
void LLFloaterCustomize::onBtnImport_continued(AIFilePicker* filepicker)
|
||||
{
|
||||
#if 0
|
||||
if (!filepicker->hasFilename())
|
||||
{
|
||||
// User canceled import.
|
||||
@@ -457,7 +459,6 @@ void LLFloaterCustomize::onBtnImport_continued(AIFilePicker* filepicker)
|
||||
{
|
||||
AIAlert::add("AIXMLImportWearableTypeMismatch", args("[TYPE]", label)("[ARCHETYPENAME]", wearable_types));
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
// reX: new function
|
||||
@@ -502,7 +503,6 @@ void LLFloaterCustomize::onBtnExport()
|
||||
//static
|
||||
void LLFloaterCustomize::onBtnExport_continued(LLViewerWearable* edit_wearable, AIFilePicker* filepicker)
|
||||
{
|
||||
#if 0
|
||||
if (!filepicker->hasFilename())
|
||||
{
|
||||
// User canceled export.
|
||||
@@ -514,9 +514,7 @@ void LLFloaterCustomize::onBtnExport_continued(LLViewerWearable* edit_wearable,
|
||||
bool success = false;
|
||||
try
|
||||
{
|
||||
AIFile outfile(filename, "wb");
|
||||
|
||||
AIXMLLindenGenepool linden_genepool(outfile);
|
||||
AIXMLLindenGenepool linden_genepool(filename);
|
||||
linden_genepool.child(edit_wearable->getArchetype());
|
||||
|
||||
success = true;
|
||||
@@ -530,7 +528,6 @@ void LLFloaterCustomize::onBtnExport_continued(LLViewerWearable* edit_wearable,
|
||||
{
|
||||
AIAlert::add_modal("AIXMLExportSuccess", AIArgs("[FILE]", filename));
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void LLFloaterCustomize::onBtnOk()
|
||||
@@ -677,7 +674,8 @@ const S32 HEADER_HEIGHT = 3 * (LINE_HEIGHT + LLFLOATER_VPAD) + (2 * LLPANEL_BORD
|
||||
void LLFloaterCustomize::wearablesChanged(LLWearableType::EType type)
|
||||
{
|
||||
llassert( type < LLWearableType::WT_COUNT );
|
||||
gSavedSettings.setU32("AvatarSex", (gAgentAvatarp->getSex() == SEX_MALE) );
|
||||
if (type == LLWearableType::WT_SHAPE)
|
||||
gSavedSettings.setU32("AvatarSex", (gAgentAvatarp->getSex() == SEX_MALE));
|
||||
|
||||
LLPanelEditWearable* panel = mWearablePanelList[ type ];
|
||||
if( panel )
|
||||
|
||||
@@ -556,7 +556,7 @@ void LLPanelRegionTools::onSaveState(void* userdata)
|
||||
gMessageSystem->addUUIDFast(_PREHASH_AgentID, gAgent.getID());
|
||||
gMessageSystem->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID());
|
||||
gMessageSystem->nextBlockFast(_PREHASH_DataBlock);
|
||||
gMessageSystem->addStringFast(_PREHASH_Filename, NULL);
|
||||
gMessageSystem->addStringFast(_PREHASH_Filename, nullptr);
|
||||
gAgent.sendReliableMessage();
|
||||
}
|
||||
}
|
||||
@@ -1354,7 +1354,7 @@ void LLPanelRequestTools::onClickRequest()
|
||||
if(dest == SELECTION)
|
||||
{
|
||||
std::string req =getChild<LLUICtrl>("request")->getValue();
|
||||
req = req.substr(0, req.find_first_of(" "));
|
||||
req = req.substr(0, req.find_first_of(' '));
|
||||
std::string param = getChild<LLUICtrl>("parameter")->getValue();
|
||||
LLSelectMgr::getInstance()->sendGodlikeRequest(req, param);
|
||||
}
|
||||
@@ -1401,11 +1401,11 @@ void LLPanelRequestTools::sendRequest(const LLHost& host)
|
||||
host,
|
||||
FALSE,
|
||||
terrain_download_done,
|
||||
NULL);
|
||||
nullptr);
|
||||
}
|
||||
else
|
||||
{
|
||||
req = req.substr(0, req.find_first_of(" "));
|
||||
req = req.substr(0, req.find_first_of(' '));
|
||||
sendRequest(req, getChild<LLUICtrl>("parameter")->getValue().asString(), host);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
LLFloaterPostProcess* LLFloaterPostProcess::sPostProcess = NULL;
|
||||
|
||||
|
||||
LLFloaterPostProcess::LLFloaterPostProcess() : LLFloater(std::string("Post-Process Floater"))
|
||||
LLFloaterPostProcess::LLFloaterPostProcess(const LLSD&) : LLFloater("Post-Process Floater")
|
||||
{
|
||||
LLUICtrlFactory::getInstance()->buildFloater(this, "floater_post_process.xml");
|
||||
|
||||
@@ -91,24 +91,11 @@ LLFloaterPostProcess::LLFloaterPostProcess() : LLFloater(std::string("Post-Proce
|
||||
getChild<LLUICtrl>("PPSaveEffect")->setCommitCallback(boost::bind(&LLFloaterPostProcess::onSaveEffect, this, editBox));
|
||||
|
||||
syncMenu();
|
||||
LLPostProcess::instance().setSelectedEffectChangeCallback(boost::bind(&LLFloaterPostProcess::syncMenu, this));
|
||||
}
|
||||
|
||||
LLFloaterPostProcess::~LLFloaterPostProcess()
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
LLFloaterPostProcess* LLFloaterPostProcess::instance()
|
||||
{
|
||||
// if we don't have our singleton instance, create it
|
||||
if (!sPostProcess)
|
||||
{
|
||||
sPostProcess = new LLFloaterPostProcess();
|
||||
sPostProcess->open();
|
||||
sPostProcess->setFocus(TRUE);
|
||||
}
|
||||
return sPostProcess;
|
||||
}
|
||||
|
||||
|
||||
@@ -122,8 +109,6 @@ void LLFloaterPostProcess::onLoadEffect(LLComboBox* comboBox)
|
||||
LLSD::String effectName(comboBox->getSelectedValue().asString());
|
||||
|
||||
LLPostProcess::getInstance()->setSelectedEffect(effectName);
|
||||
|
||||
syncMenu();
|
||||
}
|
||||
|
||||
void LLFloaterPostProcess::onSaveEffect(LLLineEditor* editBox)
|
||||
@@ -139,7 +124,6 @@ void LLFloaterPostProcess::onSaveEffect(LLLineEditor* editBox)
|
||||
else
|
||||
{
|
||||
LLPostProcess::getInstance()->saveEffectAs(effectName);
|
||||
syncMenu();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -161,48 +145,40 @@ bool LLFloaterPostProcess::saveAlertCallback(const LLSD& notification, const LLS
|
||||
if (option == 0)
|
||||
{
|
||||
LLPostProcess::getInstance()->saveEffectAs(notification["payload"]["effect_name"].asString());
|
||||
|
||||
syncMenu();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void LLFloaterPostProcess::show()
|
||||
{
|
||||
// get the instance, make sure the values are synced
|
||||
// and open the menu
|
||||
LLFloaterPostProcess* postProcess = instance();
|
||||
postProcess->syncMenu();
|
||||
postProcess->open();
|
||||
}
|
||||
|
||||
// virtual
|
||||
void LLFloaterPostProcess::onClose(bool app_quitting)
|
||||
{
|
||||
// just set visibility to false, don't get fancy yet
|
||||
if (sPostProcess)
|
||||
{
|
||||
sPostProcess->setVisible(FALSE);
|
||||
}
|
||||
if (app_quitting)
|
||||
die();
|
||||
else
|
||||
setVisible(FALSE);
|
||||
}
|
||||
|
||||
void LLFloaterPostProcess::syncMenu()
|
||||
void populatePostProcessList(LLComboBox* comboBox)
|
||||
{
|
||||
// add the combo boxe contents
|
||||
LLComboBox* comboBox = getChild<LLComboBox>("PPEffectsCombo");
|
||||
|
||||
comboBox->removeall();
|
||||
|
||||
LLSD::map_const_iterator currEffect;
|
||||
for(currEffect = LLPostProcess::getInstance()->getAllEffectInfo().beginMap();
|
||||
currEffect != LLPostProcess::getInstance()->getAllEffectInfo().endMap();
|
||||
const auto& inst(LLPostProcess::instance());
|
||||
for(auto currEffect = inst.getAllEffectInfo().beginMap(), end = inst.getAllEffectInfo().endMap();
|
||||
currEffect != end;
|
||||
++currEffect)
|
||||
{
|
||||
comboBox->add(currEffect->first);
|
||||
}
|
||||
|
||||
// set the current effect as selected.
|
||||
comboBox->selectByValue(LLPostProcess::getInstance()->getSelectedEffectName());
|
||||
comboBox->selectByValue(inst.getSelectedEffectName());
|
||||
}
|
||||
|
||||
void LLFloaterPostProcess::syncMenu()
|
||||
{
|
||||
// add the combo boxe contents
|
||||
populatePostProcessList(getChild<LLComboBox>("PPEffectsCombo"));
|
||||
|
||||
const LLSD &tweaks = LLPostProcess::getInstance()->getSelectedEffectInfo();
|
||||
//Iterate down all uniforms handled by post-process shaders. Update any linked ui elements.
|
||||
@@ -214,7 +190,7 @@ void LLFloaterPostProcess::syncMenu()
|
||||
//llsd["uniform"][1]=>"uniform[1]"
|
||||
for(S32 i=0;i<it->second.size();++i)
|
||||
{
|
||||
childSetValue(it->first+"["+boost::lexical_cast<std::string>(i)+"]",it->second[i]);
|
||||
childSetValue(it->first+'['+boost::lexical_cast<std::string>(i)+']',it->second[i]);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user