Merge branch 'master' into curlthreading
Conflicts: indra/newview/viewer_manifest.py
@@ -269,14 +269,23 @@ if (DARWIN)
|
||||
add_definitions(-DLL_DARWIN=1 -D_XOPEN_SOURCE)
|
||||
set(CMAKE_CXX_LINK_FLAGS "-Wl,-headerpad_max_install_names,-search_paths_first")
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_CXX_LINK_FLAGS}")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mlong-branch")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mlong-branch")
|
||||
# NOTE: it's critical that the optimization flag is put in front.
|
||||
# NOTE: it's critical to have both CXX_FLAGS and C_FLAGS covered.
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -msse3 -mtune=generic -mfpmath=sse ${GCC_EXTRA_OPTIMIZATIONS}")
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3 -msse3 -mtune=generic -mfpmath=sse ${GCC_EXTRA_OPTIMIZATIONS}")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -O3 -msse3 -mtune=generic -mfpmath=sse ${GCC_EXTRA_OPTIMIZATIONS}")
|
||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -O3 -msse3 -mtune=generic -mfpmath=sse ${GCC_EXTRA_OPTIMIZATIONS}")
|
||||
if(${CMAKE_C_COMPILER} MATCHES "gcc*")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mlong-branch")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mlong-branch")
|
||||
# NOTE: it's critical that the optimization flag is put in front.
|
||||
# NOTE: it's critical to have both CXX_FLAGS and C_FLAGS covered.
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -msse3 -mtune=generic -mfpmath=sse ${GCC_EXTRA_OPTIMIZATIONS}")
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3 -msse3 -mtune=generic -mfpmath=sse ${GCC_EXTRA_OPTIMIZATIONS}")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -O3 -msse3 -mtune=generic -mfpmath=sse ${GCC_EXTRA_OPTIMIZATIONS}")
|
||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -O3 -msse3 -mtune=generic -mfpmath=sse ${GCC_EXTRA_OPTIMIZATIONS}")
|
||||
elseif(${CMAKE_C_COMPILER} MATCHES "clang*")
|
||||
# NOTE: it's critical that the optimization flag is put in front.
|
||||
# NOTE: it's critical to have both CXX_FLAGS and C_FLAGS covered.
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -msse3")
|
||||
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3 -msse3")
|
||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -O3 -msse3")
|
||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -O3 -msse3")
|
||||
endif()
|
||||
endif (DARWIN)
|
||||
|
||||
|
||||
|
||||
@@ -33,8 +33,8 @@ else (STANDALONE)
|
||||
optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libapr-1.0.dylib
|
||||
)
|
||||
set(APRUTIL_LIBRARIES
|
||||
debug ${ARCH_PREBUILT_DIRS_DEBUG}/libaprutil-1.0.dylib
|
||||
optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libaprutil-1.0.dylib
|
||||
debug ${ARCH_PREBUILT_DIRS_DEBUG}/libaprutil-1.dylib
|
||||
optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libaprutil-1.dylib
|
||||
)
|
||||
set(APRICONV_LIBRARIES iconv)
|
||||
else (WINDOWS)
|
||||
|
||||
@@ -40,10 +40,10 @@ else (STANDALONE)
|
||||
debug libboost_regex-vc${MSVC_SUFFIX}-${BOOST_DEBUG_SUFFIX}-${BOOST_VERSION})
|
||||
|
||||
elseif (DARWIN)
|
||||
set(BOOST_FILESYSTEM_LIBRARY boost_filesystem-mt)
|
||||
set(BOOST_PROGRAM_OPTIONS_LIBRARY boost_program_options-mt)
|
||||
set(BOOST_REGEX_LIBRARY boost_regex-mt)
|
||||
set(BOOST_SYSTEM_LIBRARY boost_system-mt)
|
||||
set(BOOST_FILESYSTEM_LIBRARY boost_filesystem)
|
||||
set(BOOST_PROGRAM_OPTIONS_LIBRARY boost_program_options)
|
||||
set(BOOST_REGEX_LIBRARY boost_regex)
|
||||
set(BOOST_SYSTEM_LIBRARY boost_system)
|
||||
elseif (LINUX)
|
||||
set(BOOST_FILESYSTEM_LIBRARY boost_filesystem-mt)
|
||||
set(BOOST_PROGRAM_OPTIONS_LIBRARY boost_program_options-mt)
|
||||
|
||||
@@ -14,6 +14,9 @@ else (STANDALONE)
|
||||
optimized libcurl)
|
||||
else (WINDOWS)
|
||||
set(CURL_LIBRARIES curl)
|
||||
if(LINUX AND WORD_SIZE EQUAL 64)
|
||||
list(APPEND CURL_LIBRARIES idn)
|
||||
endif(LINUX AND WORD_SIZE EQUAL 64)
|
||||
endif (WINDOWS)
|
||||
set(CURL_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include)
|
||||
endif (STANDALONE)
|
||||
|
||||
@@ -18,7 +18,7 @@ if (NOT FMODEX_LIBRARY)
|
||||
set(FMODEX_SDK_DIR CACHE PATH "Path to the FMOD Ex SDK.")
|
||||
if (FMODEX_SDK_DIR)
|
||||
find_library(FMODEX_LIBRARY
|
||||
fmodex fmodex_vc fmodexL_vc
|
||||
fmodex_vc fmodexL_vc fmodex fmodexL fmodex64 fmodexL64
|
||||
PATHS
|
||||
${FMODEX_SDK_DIR}/api/lib
|
||||
${FMODEX_SDK_DIR}/api
|
||||
|
||||
@@ -1,12 +1,16 @@
|
||||
# -*- cmake -*-
|
||||
include(Prebuilt)
|
||||
|
||||
if(WORD_SIZE EQUAL 64)
|
||||
set(DISABLE_TCMALLOC TRUE)
|
||||
endif(WORD_SIZE EQUAL 64)
|
||||
|
||||
if (STANDALONE)
|
||||
include(FindGooglePerfTools)
|
||||
else (STANDALONE)
|
||||
if (LINUX OR WINDOWS)
|
||||
if (LINUX OR WINDOWS AND NOT WORD_SIZE EQUAL 64)
|
||||
use_prebuilt_binary(gperftools)
|
||||
endif (LINUX OR WINDOWS)
|
||||
endif (LINUX OR WINDOWS AND NOT WORD_SIZE EQUAL 64)
|
||||
if (WINDOWS)
|
||||
set(TCMALLOC_LIBRARIES libtcmalloc_minimal.lib)
|
||||
set(TCMALLOC_LINKER_FLAGS "/INCLUDE:\"__tcmalloc\"")
|
||||
|
||||
@@ -6,7 +6,7 @@ if (STANDALONE)
|
||||
else (STANDALONE)
|
||||
use_prebuilt_binary(hunspell)
|
||||
|
||||
set(HUNSPELL_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/hunspell)
|
||||
set(HUNSPELL_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/hunspell)
|
||||
|
||||
if (LINUX OR DARWIN)
|
||||
set(HUNSPELL_LIBRARY hunspell-1.3)
|
||||
|
||||
@@ -13,8 +13,8 @@ else (STANDALONE)
|
||||
set(JPEG_LIBRARIES jpeg)
|
||||
elseif (DARWIN)
|
||||
set(JPEG_LIBRARIES
|
||||
optimized ${ARCH_PREBUILT_DIRS_RELEASE}/liblljpeg.a
|
||||
debug ${ARCH_PREBUILT_DIRS_DEBUG}/liblljpeg.a
|
||||
optimized ${ARCH_PREBUILT_DIRS_RELEASE}/libjpeg.a
|
||||
debug ${ARCH_PREBUILT_DIRS_DEBUG}/libjpeg.a
|
||||
)
|
||||
elseif (WINDOWS)
|
||||
set(JPEG_LIBRARIES jpeglib)
|
||||
|
||||
@@ -14,7 +14,7 @@ else (STANDALONE)
|
||||
debug json_vc${MSVC_SUFFIX}d
|
||||
optimized json_vc${MSVC_SUFFIX})
|
||||
elseif (DARWIN)
|
||||
set(JSONCPP_LIBRARIES json_mac-universal-gcc_libmt)
|
||||
set(JSONCPP_LIBRARIES json_linux-gcc-4.0.1_libmt)
|
||||
elseif (LINUX)
|
||||
set(JSONCPP_LIBRARIES jsoncpp)
|
||||
endif (WINDOWS)
|
||||
|
||||
@@ -18,7 +18,11 @@ else (STANDALONE)
|
||||
use_prebuilt_binary(SDL)
|
||||
set (SDL_FOUND TRUE)
|
||||
set (SDL_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR})
|
||||
set (SDL_LIBRARY SDL directfb fusion direct)
|
||||
if(WORD_SIZE EQUAL 64)
|
||||
set (SDL_LIBRARY SDL)
|
||||
else(WORD_SIZE EQUAL 64)
|
||||
set (SDL_LIBRARY SDL directfb fusion direct)
|
||||
endif(WORD_SIZE EQUAL 64)
|
||||
endif (LINUX)
|
||||
endif (STANDALONE)
|
||||
|
||||
|
||||
@@ -10,9 +10,9 @@ if (NOT STANDALONE)
|
||||
set(ARCH_PREBUILT_DIRS_RELEASE ${ARCH_PREBUILT_DIRS})
|
||||
set(ARCH_PREBUILT_DIRS_DEBUG ${ARCH_PREBUILT_DIRS})
|
||||
elseif (DARWIN)
|
||||
set(ARCH_PREBUILT_DIRS_RELEASE ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib_release)
|
||||
set(ARCH_PREBUILT_DIRS ${ARCH_PREBUILT_DIRS_RELEASE})
|
||||
set(ARCH_PREBUILT_DIRS_DEBUG ${ARCH_PREBUILT_DIRS_RELEASE})
|
||||
set(ARCH_PREBUILT_DIRS ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib)
|
||||
set(ARCH_PREBUILT_DIRS_RELEASE ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib/release)
|
||||
set(ARCH_PREBUILT_DIRS_DEBUG ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib/debug)
|
||||
endif (WINDOWS)
|
||||
endif (NOT STANDALONE)
|
||||
|
||||
|
||||
@@ -16,8 +16,6 @@ else (STANDALONE)
|
||||
set(OPENSSL_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include)
|
||||
endif (STANDALONE)
|
||||
|
||||
if (LINUX)
|
||||
if (LINUX OR DARWIN)
|
||||
set(CRYPTO_LIBRARIES crypto)
|
||||
elseif (DARWIN)
|
||||
set(CRYPTO_LIBRARIES llcrypto)
|
||||
endif (LINUX)
|
||||
endif (LINUX OR DARWIN)
|
||||
|
||||
@@ -76,37 +76,36 @@ endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
||||
if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||
set(DARWIN 1)
|
||||
|
||||
#SDK Compiler and Deployment targets for XCode
|
||||
if (${XCODE_VERSION} VERSION_LESS 4.0.0)
|
||||
set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.5.sdk)
|
||||
set(CMAKE_XCODE_ATTIBUTE_GCC_VERSION "4.2")
|
||||
else (${XCODE_VERSION} VERSION_LESS 4.0.0)
|
||||
if(${CMAKE_GENERATOR} MATCHES Xcode)
|
||||
#SDK Compiler and Deployment targets for XCode
|
||||
if (${XCODE_VERSION} VERSION_LESS 4.0.0)
|
||||
set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.5.sdk)
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.5)
|
||||
set(CMAKE_XCODE_ATTIBUTE_GCC_VERSION "4.2")
|
||||
else (${XCODE_VERSION} VERSION_LESS 4.0.0)
|
||||
set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.6.sdk)
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.6)
|
||||
set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvmgcc42")
|
||||
endif (${XCODE_VERSION} VERSION_LESS 4.0.0)
|
||||
else()
|
||||
set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.6.sdk)
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.6)
|
||||
set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvmgcc42")
|
||||
endif (${XCODE_VERSION} VERSION_LESS 4.0.0)
|
||||
endif(${CMAKE_GENERATOR} MATCHES Xcode)
|
||||
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.5)
|
||||
## We currently support only 32-bit i386 builds, so use these:
|
||||
set(CMAKE_OSX_ARCHITECTURES i386)
|
||||
set(ARCH i386)
|
||||
set(WORD_SIZE 32)
|
||||
|
||||
# NOTE: To attempt an i386/PPC Universal build, add this on the configure line:
|
||||
# -DCMAKE_OSX_ARCHITECTURES:STRING='i386;ppc'
|
||||
# Build only for i386 by default, system default on MacOSX 10.6 is x86_64
|
||||
if (NOT CMAKE_OSX_ARCHITECTURES)
|
||||
set(CMAKE_OSX_ARCHITECTURES i386)
|
||||
endif (NOT CMAKE_OSX_ARCHITECTURES)
|
||||
|
||||
if (CMAKE_OSX_ARCHITECTURES MATCHES "i386" AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc")
|
||||
set(ARCH universal)
|
||||
else (CMAKE_OSX_ARCHITECTURES MATCHES "i386" AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc")
|
||||
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc")
|
||||
set(ARCH ppc)
|
||||
else (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc")
|
||||
set(ARCH i386)
|
||||
endif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc")
|
||||
endif (CMAKE_OSX_ARCHITECTURES MATCHES "i386" AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc")
|
||||
## But if you want to compile for mixed 32/64 bit, try these:
|
||||
# set(CMAKE_OSX_ARCHITECTURES i386;x86_64)
|
||||
# set(ARCH universal)
|
||||
# set(WORD_SIZE 64)
|
||||
|
||||
## Finally, set up the build output directories
|
||||
set(LL_ARCH ${ARCH}_darwin)
|
||||
set(LL_ARCH_DIR universal-darwin)
|
||||
set(WORD_SIZE 32)
|
||||
endif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||
|
||||
|
||||
|
||||
@@ -95,6 +95,28 @@ inline bool Check_FMOD_Error(FMOD_RESULT result, const char *string)
|
||||
return true;
|
||||
}
|
||||
|
||||
void* F_STDCALL decode_alloc(unsigned int size, FMOD_MEMORY_TYPE type, const char *sourcestr)
|
||||
{
|
||||
if(type & FMOD_MEMORY_STREAM_DECODE)
|
||||
{
|
||||
llinfos << "Decode buffer size: " << size << llendl;
|
||||
}
|
||||
else if(type & FMOD_MEMORY_STREAM_FILE)
|
||||
{
|
||||
llinfos << "Strean buffer size: " << size << llendl;
|
||||
}
|
||||
return new char[size];
|
||||
}
|
||||
void* F_STDCALL decode_realloc(void *ptr, unsigned int size, FMOD_MEMORY_TYPE type, const char *sourcestr)
|
||||
{
|
||||
memset(ptr,0,size);
|
||||
return ptr;
|
||||
}
|
||||
void F_STDCALL decode_dealloc(void *ptr, FMOD_MEMORY_TYPE type, const char *sourcestr)
|
||||
{
|
||||
delete[] (char*)ptr;
|
||||
}
|
||||
|
||||
bool LLAudioEngine_FMODEX::init(const S32 num_channels, void* userdata)
|
||||
{
|
||||
|
||||
@@ -108,6 +130,10 @@ bool LLAudioEngine_FMODEX::init(const S32 num_channels, void* userdata)
|
||||
|
||||
LL_DEBUGS("AppInit") << "LLAudioEngine_FMODEX::init() initializing FMOD" << LL_ENDL;
|
||||
|
||||
result = FMOD::Memory_Initialize(NULL, 0, &decode_alloc, &decode_realloc, &decode_dealloc, FMOD_MEMORY_STREAM_DECODE | FMOD_MEMORY_STREAM_FILE);
|
||||
if(Check_FMOD_Error(result, "FMOD::Memory_Initialize"))
|
||||
return false;
|
||||
|
||||
result = FMOD::System_Create(&mSystem);
|
||||
if(Check_FMOD_Error(result, "FMOD::System_Create"))
|
||||
return false;
|
||||
@@ -124,54 +150,8 @@ bool LLAudioEngine_FMODEX::init(const S32 num_channels, void* userdata)
|
||||
<< ")! You should be using FMOD Ex" << FMOD_VERSION << LL_ENDL;
|
||||
}
|
||||
|
||||
#if LL_WINDOWS
|
||||
int numdrivers;
|
||||
FMOD_SPEAKERMODE speakermode;
|
||||
FMOD_CAPS caps;
|
||||
char name[256];
|
||||
|
||||
//Is this block applicable to linux?
|
||||
{
|
||||
result = mSystem->getNumDrivers(&numdrivers);
|
||||
Check_FMOD_Error(result, "FMOD::System::getNumDrivers");
|
||||
if (numdrivers == 0)
|
||||
{
|
||||
result = mSystem->setOutput(FMOD_OUTPUTTYPE_NOSOUND);
|
||||
Check_FMOD_Error(result, "FMOD::System::setOutput");
|
||||
}
|
||||
else
|
||||
{
|
||||
result = mSystem->getDriverCaps(0, &caps, 0, &speakermode);
|
||||
Check_FMOD_Error(result,"FMOD::System::getDriverCaps");
|
||||
/*
|
||||
Set the user selected speaker mode.
|
||||
*/
|
||||
result = mSystem->setSpeakerMode(speakermode);
|
||||
Check_FMOD_Error(result, "FMOD::System::setSpeakerMode");
|
||||
if (caps & FMOD_CAPS_HARDWARE_EMULATED)
|
||||
{
|
||||
/*
|
||||
The user has the 'Acceleration' slider set to off! This is really bad
|
||||
for latency! You might want to warn the user about this.
|
||||
*/
|
||||
result = mSystem->setDSPBufferSize(1024, 10);
|
||||
Check_FMOD_Error(result, "FMOD::System::setDSPBufferSize");
|
||||
}
|
||||
result = mSystem->getDriverInfo(0, name, 256, 0);
|
||||
Check_FMOD_Error(result, "FMOD::System::getDriverInfo");
|
||||
|
||||
if (strstr(name, "SigmaTel"))
|
||||
{
|
||||
/*
|
||||
Sigmatel sound devices crackle for some reason if the format is PCM 16bit.
|
||||
PCM floating point output seems to solve it.
|
||||
*/
|
||||
result = mSystem->setSoftwareFormat(48000, FMOD_SOUND_FORMAT_PCMFLOAT, 0,0, FMOD_DSP_RESAMPLER_LINEAR);
|
||||
Check_FMOD_Error(result,"FMOD::System::setSoftwareFormat");
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif //LL_WINDOWS
|
||||
result = mSystem->setSoftwareFormat(44100, FMOD_SOUND_FORMAT_PCM16, 0, 0, FMOD_DSP_RESAMPLER_LINEAR);
|
||||
Check_FMOD_Error(result,"FMOD::System::setSoftwareFormat");
|
||||
|
||||
// In this case, all sounds, PLUS wind and stream will be software.
|
||||
result = mSystem->setSoftwareChannels(num_channels + 2);
|
||||
@@ -297,6 +277,19 @@ bool LLAudioEngine_FMODEX::init(const S32 num_channels, void* userdata)
|
||||
|
||||
LL_INFOS("AppInit") << "LLAudioEngine_FMODEX::init() FMOD Ex initialized correctly" << LL_ENDL;
|
||||
|
||||
int r_numbuffers, r_samplerate, r_channels, r_bits;
|
||||
unsigned int r_bufferlength;
|
||||
char r_name[256];
|
||||
mSystem->getDSPBufferSize(&r_bufferlength, &r_numbuffers);
|
||||
mSystem->getSoftwareFormat(&r_samplerate, NULL, &r_channels, NULL, NULL, &r_bits);
|
||||
mSystem->getDriverInfo(0, r_name, 255, 0);
|
||||
r_name[255] = '\0';
|
||||
int latency = 1000.0 * r_bufferlength * r_numbuffers /r_samplerate;
|
||||
|
||||
LL_INFOS("AppInit") << "FMOD device: "<< r_name << "\n"
|
||||
<< "FMOD Ex parameters: " << r_samplerate << " Hz * " << r_channels << " * " <<r_bits <<" bit\n"
|
||||
<< "\tbuffer " << r_bufferlength << " * " << r_numbuffers << " (" << latency <<"ms)" << LL_ENDL;
|
||||
|
||||
mInited = true;
|
||||
|
||||
return true;
|
||||
|
||||
@@ -58,6 +58,9 @@ class LLStreamingAudioInterface
|
||||
virtual const LLSD *getMetaData() = 0;
|
||||
virtual bool supportsWaveData() = 0;
|
||||
virtual bool getWaveData(float* arr, S32 count, S32 stride = 1) = 0;
|
||||
|
||||
virtual bool supportsAdjustableBufferSizes(){return false;}
|
||||
virtual void setBufferSizes(U32 streambuffertime, U32 decodebuffertime){};
|
||||
};
|
||||
|
||||
#endif // LL_STREAMINGAUDIO_H
|
||||
|
||||
@@ -50,7 +50,7 @@ public:
|
||||
|
||||
const std::string& getURL() { return mInternetStreamURL; }
|
||||
|
||||
FMOD_OPENSTATE getOpenState();
|
||||
FMOD_OPENSTATE getOpenState(unsigned int* percentbuffered=NULL, bool* starving=NULL, bool* diskbusy=NULL);
|
||||
protected:
|
||||
FMOD::System* mSystem;
|
||||
FMOD::Channel* mStreamChannel;
|
||||
@@ -74,7 +74,7 @@ LLStreamingAudio_FMODEX::LLStreamingAudio_FMODEX(FMOD::System *system) :
|
||||
{
|
||||
// Number of milliseconds of audio to buffer for the audio card.
|
||||
// Must be larger than the usual Second Life frame stutter time.
|
||||
const U32 buffer_seconds = 5; //sec
|
||||
const U32 buffer_seconds = 10; //sec
|
||||
const U32 estimated_bitrate = 128; //kbit/sec
|
||||
mSystem->setStreamBufferSize(estimated_bitrate * buffer_seconds * 128/*bytes/kbit*/, FMOD_TIMEUNIT_RAWBYTES);
|
||||
|
||||
@@ -145,7 +145,10 @@ void LLStreamingAudio_FMODEX::update()
|
||||
return;
|
||||
}
|
||||
|
||||
FMOD_OPENSTATE open_state = mCurrentInternetStreamp->getOpenState();
|
||||
unsigned int progress;
|
||||
bool starving;
|
||||
bool diskbusy;
|
||||
FMOD_OPENSTATE open_state = mCurrentInternetStreamp->getOpenState(&progress, &starving, &diskbusy);
|
||||
|
||||
if (open_state == FMOD_OPENSTATE_READY)
|
||||
{
|
||||
@@ -158,6 +161,7 @@ void LLStreamingAudio_FMODEX::update()
|
||||
// Reset volume to previously set volume
|
||||
setGain(getGain());
|
||||
mFMODInternetStreamChannelp->setPaused(false);
|
||||
mLastStarved.stop();
|
||||
}
|
||||
}
|
||||
else if(open_state == FMOD_OPENSTATE_ERROR)
|
||||
@@ -168,6 +172,7 @@ void LLStreamingAudio_FMODEX::update()
|
||||
|
||||
if(mFMODInternetStreamChannelp)
|
||||
{
|
||||
//llinfos << "progress = " << progress << llendl;
|
||||
if(!mMetaData)
|
||||
mMetaData = new LLSD;
|
||||
|
||||
@@ -237,12 +242,29 @@ void LLStreamingAudio_FMODEX::update()
|
||||
}
|
||||
}
|
||||
}
|
||||
if(starving)
|
||||
{
|
||||
if(!mLastStarved.getStarted())
|
||||
{
|
||||
llinfos << "Stream starvation detected! Muting stream audio until it clears." << llendl;
|
||||
llinfos << " (diskbusy="<<diskbusy<<")" << llendl;
|
||||
llinfos << " (progress="<<progress<<")" << llendl;
|
||||
mFMODInternetStreamChannelp->setMute(true);
|
||||
}
|
||||
mLastStarved.start();
|
||||
}
|
||||
else if(mLastStarved.getStarted() && mLastStarved.getElapsedTimeF32() > 1.f)
|
||||
{
|
||||
mLastStarved.stop();
|
||||
mFMODInternetStreamChannelp->setMute(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void LLStreamingAudio_FMODEX::stop()
|
||||
{
|
||||
mLastStarved.stop();
|
||||
if(mMetaData)
|
||||
{
|
||||
delete mMetaData;
|
||||
@@ -341,6 +363,11 @@ void LLStreamingAudio_FMODEX::setGain(F32 vol)
|
||||
if(!mFMODInternetStreamChannelp || !mCurrentInternetStreamp)
|
||||
return false;
|
||||
|
||||
bool muted=false;
|
||||
mFMODInternetStreamChannelp->getMute(&muted);
|
||||
if(muted)
|
||||
return false;
|
||||
|
||||
static std::vector<float> local_array(count); //Have to have an extra buffer to mix channels. Bleh.
|
||||
if(count > (S32)local_array.size()) //Expand the array if needed. Try to minimize allocation calls, so don't ever shrink.
|
||||
local_array.resize(count);
|
||||
@@ -442,9 +469,19 @@ bool LLAudioStreamManagerFMODEX::stopStream()
|
||||
}
|
||||
}
|
||||
|
||||
FMOD_OPENSTATE LLAudioStreamManagerFMODEX::getOpenState()
|
||||
FMOD_OPENSTATE LLAudioStreamManagerFMODEX::getOpenState(unsigned int* percentbuffered, bool* starving, bool* diskbusy)
|
||||
{
|
||||
FMOD_OPENSTATE state;
|
||||
mInternetStream->getOpenState(&state,NULL,NULL,NULL);
|
||||
mInternetStream->getOpenState(&state,percentbuffered,starving,diskbusy);
|
||||
return state;
|
||||
}
|
||||
|
||||
void LLStreamingAudio_FMODEX::setBufferSizes(U32 streambuffertime, U32 decodebuffertime)
|
||||
{
|
||||
mSystem->setStreamBufferSize(streambuffertime/1000*128*128, FMOD_TIMEUNIT_RAWBYTES);
|
||||
FMOD_ADVANCEDSETTINGS settings;
|
||||
memset(&settings,0,sizeof(settings));
|
||||
settings.cbsize=sizeof(settings);
|
||||
settings.defaultDecodeBufferSize = decodebuffertime;//ms
|
||||
mSystem->setAdvancedSettings(&settings);
|
||||
}
|
||||
@@ -37,6 +37,7 @@
|
||||
#include "stdtypes.h" // from llcommon
|
||||
|
||||
#include "llstreamingaudio.h"
|
||||
#include "lltimer.h"
|
||||
|
||||
//Stubs
|
||||
class LLAudioStreamManagerFMODEX;
|
||||
@@ -66,6 +67,8 @@ class LLStreamingAudio_FMODEX : public LLStreamingAudioInterface
|
||||
/*virtual*/ const LLSD *getMetaData(){return mMetaData;} //return NULL if not playing.
|
||||
/*virtual*/ bool supportsWaveData(){return true;}
|
||||
/*virtual*/ bool getWaveData(float* arr, S32 count, S32 stride = 1);
|
||||
/*virtual*/ bool supportsAdjustableBufferSizes(){return true;}
|
||||
/*virtual*/ void setBufferSizes(U32 streambuffertime, U32 decodebuffertime);
|
||||
private:
|
||||
FMOD::System *mSystem;
|
||||
|
||||
@@ -76,6 +79,8 @@ private:
|
||||
std::string mURL;
|
||||
F32 mGain;
|
||||
|
||||
LLTimer mLastStarved;
|
||||
|
||||
LLSD *mMetaData;
|
||||
};
|
||||
|
||||
|
||||
@@ -43,10 +43,14 @@ template <typename Type> class LLAtomic32;
|
||||
typedef LLAtomic32<U32> LLAtomicU32;
|
||||
class LLErrorThread;
|
||||
class LLLiveFile;
|
||||
|
||||
|
||||
#if LL_LINUX
|
||||
typedef struct siginfo siginfo_t;
|
||||
#include <signal.h>
|
||||
//typedef struct siginfo siginfo_t; //Removed as per changes in glibc 2.16 - Drake Arconis
|
||||
#endif
|
||||
|
||||
|
||||
typedef void (*LLAppErrorHandler)();
|
||||
typedef void (*LLAppChildCallback)(int pid, bool exited, int status);
|
||||
|
||||
|
||||
@@ -55,7 +55,6 @@ set_target_properties(SLPlugin
|
||||
)
|
||||
|
||||
target_link_libraries(SLPlugin
|
||||
${GOOGLE_PERFTOOLS_LIBRARIES}
|
||||
${LLPLUGIN_LIBRARIES}
|
||||
${LLMESSAGE_LIBRARIES}
|
||||
${LLCOMMON_LIBRARIES}
|
||||
@@ -82,11 +81,4 @@ if (DARWIN)
|
||||
)
|
||||
endif (DARWIN)
|
||||
|
||||
if (WINDOWS)
|
||||
set_target_properties(SLPlugin
|
||||
PROPERTIES
|
||||
LINK_FLAGS "${GOOGLE_PERFTOOLS_LINKER_FLAGS}"
|
||||
)
|
||||
endif (WINDOWS)
|
||||
|
||||
#ll_deploy_sharedlibs_command(SLPlugin)
|
||||
|
||||
@@ -435,11 +435,7 @@ LLGLManager::LLGLManager() :
|
||||
mHasPointParameters(FALSE),
|
||||
mHasDrawBuffers(FALSE),
|
||||
mHasTextureRectangle(FALSE),
|
||||
mHasTextureMultisample(FALSE),
|
||||
mHasTransformFeedback(FALSE),
|
||||
mMaxSampleMaskWords(0),
|
||||
mMaxColorTextureSamples(0),
|
||||
mMaxDepthTextureSamples(0),
|
||||
mMaxIntegerSamples(0),
|
||||
|
||||
mHasAnisotropic(FALSE),
|
||||
@@ -732,12 +728,10 @@ bool LLGLManager::initGL()
|
||||
|
||||
stop_glerror();
|
||||
|
||||
if (mHasTextureMultisample)
|
||||
if (mHasFramebufferMultisample)
|
||||
{
|
||||
glGetIntegerv(GL_MAX_COLOR_TEXTURE_SAMPLES, &mMaxColorTextureSamples);
|
||||
glGetIntegerv(GL_MAX_DEPTH_TEXTURE_SAMPLES, &mMaxDepthTextureSamples);
|
||||
glGetIntegerv(GL_MAX_INTEGER_SAMPLES, &mMaxIntegerSamples);
|
||||
glGetIntegerv(GL_MAX_SAMPLE_MASK_WORDS, &mMaxSampleMaskWords);
|
||||
glGetIntegerv(GL_MAX_SAMPLES, &mMaxSamples);
|
||||
}
|
||||
|
||||
stop_glerror();
|
||||
@@ -749,24 +743,12 @@ bool LLGLManager::initGL()
|
||||
}
|
||||
#endif
|
||||
stop_glerror();
|
||||
mHasTextureMultisample = FALSE;
|
||||
#if LL_WINDOWS
|
||||
if (mIsATI)
|
||||
{ //using multisample textures on ATI results in black screen for some reason
|
||||
mHasTextureMultisample = FALSE;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (mIsIntel && mGLVersion <= 3.f)
|
||||
{ //never try to use framebuffer objects on older intel drivers (crashy)
|
||||
mHasFramebufferObject = FALSE;
|
||||
}
|
||||
|
||||
if (mHasFramebufferObject)
|
||||
{
|
||||
glGetIntegerv(GL_MAX_SAMPLES, &mMaxSamples);
|
||||
}
|
||||
|
||||
stop_glerror();
|
||||
|
||||
setToDebugGPU();
|
||||
@@ -847,14 +829,6 @@ std::string LLGLManager::getRawGLString()
|
||||
return gl_string;
|
||||
}
|
||||
|
||||
U32 LLGLManager::getNumFBOFSAASamples(U32 samples)
|
||||
{
|
||||
samples = llmin(samples, (U32) mMaxColorTextureSamples);
|
||||
samples = llmin(samples, (U32) mMaxDepthTextureSamples);
|
||||
samples = llmin(samples, (U32) 4);
|
||||
return samples;
|
||||
}
|
||||
|
||||
void LLGLManager::shutdownGL()
|
||||
{
|
||||
if (mInited)
|
||||
@@ -956,11 +930,10 @@ void LLGLManager::initExtensions()
|
||||
mHasFramebufferMultisample = mHasFramebufferObject && ExtensionExists("GL_EXT_framebuffer_multisample", gGLHExts.mSysExts);
|
||||
|
||||
mHasMipMapGeneration = mHasFramebufferObject || mGLVersion >= 1.4f;
|
||||
|
||||
|
||||
mHasDrawBuffers = ExtensionExists("GL_ARB_draw_buffers", gGLHExts.mSysExts);
|
||||
mHasBlendFuncSeparate = ExtensionExists("GL_EXT_blend_func_separate", gGLHExts.mSysExts);
|
||||
mHasTextureRectangle = ExtensionExists("GL_ARB_texture_rectangle", gGLHExts.mSysExts);
|
||||
mHasTextureMultisample = ExtensionExists("GL_ARB_texture_multisample", gGLHExts.mSysExts);
|
||||
mHasDebugOutput = ExtensionExists("GL_ARB_debug_output", gGLHExts.mSysExts);
|
||||
mHasTransformFeedback = mGLVersion >= 4.f ? TRUE : FALSE;
|
||||
#if !LL_DARWIN
|
||||
@@ -1198,13 +1171,6 @@ void LLGLManager::initExtensions()
|
||||
{
|
||||
glBlendFuncSeparateEXT = (PFNGLBLENDFUNCSEPARATEEXTPROC) GLH_EXT_GET_PROC_ADDRESS("glBlendFuncSeparateEXT");
|
||||
}
|
||||
if (mHasTextureMultisample)
|
||||
{
|
||||
glTexImage2DMultisample = (PFNGLTEXIMAGE2DMULTISAMPLEPROC) GLH_EXT_GET_PROC_ADDRESS("glTexImage2DMultisample");
|
||||
glTexImage3DMultisample = (PFNGLTEXIMAGE3DMULTISAMPLEPROC) GLH_EXT_GET_PROC_ADDRESS("glTexImage3DMultisample");
|
||||
glGetMultisamplefv = (PFNGLGETMULTISAMPLEFVPROC) GLH_EXT_GET_PROC_ADDRESS("glGetMultisamplefv");
|
||||
glSampleMaski = (PFNGLSAMPLEMASKIPROC) GLH_EXT_GET_PROC_ADDRESS("glSampleMaski");
|
||||
}
|
||||
if (mHasTransformFeedback)
|
||||
{
|
||||
glBeginTransformFeedback = (PFNGLBEGINTRANSFORMFEEDBACKPROC) GLH_EXT_GET_PROC_ADDRESS("glBeginTransformFeedback");
|
||||
|
||||
@@ -104,11 +104,7 @@ public:
|
||||
BOOL mHasDrawBuffers;
|
||||
BOOL mHasDepthClamp;
|
||||
BOOL mHasTextureRectangle;
|
||||
BOOL mHasTextureMultisample;
|
||||
BOOL mHasTransformFeedback;
|
||||
S32 mMaxSampleMaskWords;
|
||||
S32 mMaxColorTextureSamples;
|
||||
S32 mMaxDepthTextureSamples;
|
||||
S32 mMaxIntegerSamples;
|
||||
|
||||
// Other extensions.
|
||||
@@ -155,7 +151,6 @@ public:
|
||||
void printGLInfoString();
|
||||
void getGLInfo(LLSD& info);
|
||||
|
||||
U32 getNumFBOFSAASamples(U32 desired_samples = 32);
|
||||
// In ALL CAPS
|
||||
std::string mGLVendor;
|
||||
std::string mGLVendorShort;
|
||||
@@ -521,4 +516,5 @@ extern BOOL gGLActive;
|
||||
#ifndef GL_DEPTH24_STENCIL8
|
||||
#define GL_DEPTH24_STENCIL8 GL_DEPTH24_STENCIL8_EXT
|
||||
#endif
|
||||
|
||||
#endif // LL_LLGL_H
|
||||
|
||||
@@ -278,7 +278,7 @@ extern PFNGLGENERATEMIPMAPEXTPROC glGenerateMipmapEXT;
|
||||
# include "GL/glh_extensions.h"
|
||||
# undef __APPLE__
|
||||
|
||||
#elif LL_LINUX
|
||||
#elif LL_LINUX
|
||||
//----------------------------------------------------------------------------
|
||||
// Linux, MESA headers, but not necessarily assuming MESA runtime.
|
||||
// quotes so we get libraries/.../GL/ version
|
||||
@@ -783,6 +783,7 @@ extern PFNGLDEBUGMESSAGECONTROLARBPROC glDebugMessageControlARB;
|
||||
extern PFNGLDEBUGMESSAGEINSERTARBPROC glDebugMessageInsertARB;
|
||||
extern PFNGLDEBUGMESSAGECALLBACKARBPROC glDebugMessageCallbackARB;
|
||||
extern PFNGLGETDEBUGMESSAGELOGARBPROC glGetDebugMessageLogARB;
|
||||
|
||||
#elif LL_DARWIN
|
||||
//----------------------------------------------------------------------------
|
||||
// LL_DARWIN
|
||||
@@ -825,6 +826,7 @@ extern void glGenerateMipmapEXT(GLenum target) AVAILABLE_MAC_OS_X_VERSION_10_4_A
|
||||
#define glGenerateMipmap glGenerateMipmapEXT
|
||||
#define GL_MAX_SAMPLES 0x8D57
|
||||
#endif
|
||||
|
||||
// GL_ARB_draw_buffers
|
||||
extern void glDrawBuffersARB(GLsizei n, const GLenum* bufs) AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER;
|
||||
|
||||
@@ -997,7 +999,7 @@ extern void glGetBufferPointervARB (GLenum, GLenum, GLvoid* *);
|
||||
}
|
||||
#endif
|
||||
|
||||
#include <AGL/gl.h>
|
||||
#include <OpenGL/gl.h>
|
||||
|
||||
#endif // LL_MESA / LL_WINDOWS / LL_DARWIN
|
||||
|
||||
@@ -1029,4 +1031,5 @@ extern void glGetBufferPointervARB (GLenum, GLenum, GLvoid* *);
|
||||
#define GL_TEXTURE_FREE_MEMORY_ATI 0x87FC
|
||||
#define GL_RENDERBUFFER_FREE_MEMORY_ATI 0x87FD
|
||||
#endif
|
||||
|
||||
#endif // LL_LLGLHEADERS_H
|
||||
|
||||
@@ -330,7 +330,6 @@ S32 LLImageGL::updateBoundTexMem(const S32 mem, const S32 ncomponents, S32 categ
|
||||
//static
|
||||
void LLImageGL::destroyGL(BOOL save_state)
|
||||
{
|
||||
deleteDeadTextures(); //Dump unimportant textures.
|
||||
for (S32 stage = 0; stage < gGLManager.mNumTextureUnits; stage++)
|
||||
{
|
||||
gGL.getTexUnit(stage)->unbind(LLTexUnit::TT_TEXTURE);
|
||||
@@ -364,7 +363,6 @@ void LLImageGL::destroyGL(BOOL save_state)
|
||||
}
|
||||
llinfos << "Storing " << stored_count << " images..." << llendl;
|
||||
sAllowReadBackRaw = false ;
|
||||
deleteDeadTextures();//Now, actually call glDeleteTextures for everything.
|
||||
}
|
||||
|
||||
//static
|
||||
@@ -1528,7 +1526,7 @@ void LLImageGL::deleteDeadTextures()
|
||||
{
|
||||
bool reset = false;
|
||||
|
||||
for(U32 i=0;i<LLTexUnit::TT_NONE;++i)
|
||||
/*for(U32 i=0;i<LLTexUnit::TT_NONE;++i)
|
||||
{
|
||||
for(dead_texturelist_t::iterator it=sDeadTextureList[i].begin();it!=sDeadTextureList[i].end();++it)
|
||||
{
|
||||
@@ -1554,7 +1552,7 @@ void LLImageGL::deleteDeadTextures()
|
||||
stop_glerror();
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
if (reset)
|
||||
{
|
||||
|
||||
@@ -699,6 +699,28 @@ bool LLMultisampleBuffer::allocate(U32 resx, U32 resy, U32 color_fmt, bool depth
|
||||
release();
|
||||
stop_glerror();
|
||||
|
||||
if (!gGLManager.mHasFramebufferMultisample || !gGLManager.mHasFramebufferObject || !(sUseFBO || use_fbo))
|
||||
return false;
|
||||
|
||||
if(color_fmt != GL_RGBA)
|
||||
{
|
||||
llwarns << "Unsupported color format: " << color_fmt << llendl;
|
||||
return false;
|
||||
}
|
||||
|
||||
//Restrict to valid sample count
|
||||
{
|
||||
mSamples = samples;
|
||||
mSamples = llmin(mSamples, (U32)4); //Cap to prevent memory bloat.
|
||||
mSamples = llmin(mSamples, (U32) gGLManager.mMaxIntegerSamples);//GL_RGBA
|
||||
|
||||
if(depth && !stencil)
|
||||
mSamples = llmin(mSamples, (U32) gGLManager.mMaxSamples); //GL_DEPTH_COMPONENT16_ARB
|
||||
}
|
||||
|
||||
if (mSamples <= 1)
|
||||
return false;
|
||||
|
||||
mResX = resx;
|
||||
mResY = resy;
|
||||
|
||||
@@ -706,30 +728,16 @@ bool LLMultisampleBuffer::allocate(U32 resx, U32 resy, U32 color_fmt, bool depth
|
||||
mUseDepth = depth;
|
||||
mStencil = stencil;
|
||||
|
||||
if (!gGLManager.mHasFramebufferMultisample)
|
||||
{
|
||||
llerrs << "Attempting to allocate unsupported render target type!" << llendl;
|
||||
return false;
|
||||
}
|
||||
|
||||
mSamples = gGLManager.getNumFBOFSAASamples(samples);
|
||||
|
||||
if (mSamples <= 1)
|
||||
{
|
||||
llerrs << "Cannot create a multisample buffer with less than 2 samples." << llendl;
|
||||
return false;
|
||||
}
|
||||
|
||||
stop_glerror();
|
||||
|
||||
if ((sUseFBO || use_fbo) && gGLManager.mHasFramebufferObject)
|
||||
{
|
||||
|
||||
if (depth)
|
||||
{
|
||||
stop_glerror();
|
||||
if(!allocateDepth())
|
||||
{
|
||||
release();
|
||||
return false;
|
||||
}
|
||||
stop_glerror();
|
||||
}
|
||||
glGenFramebuffers(1, (GLuint *) &mFBO);
|
||||
@@ -779,6 +787,7 @@ bool LLMultisampleBuffer::addColorAttachment(U32 color_fmt)
|
||||
if (glGetError() != GL_NO_ERROR)
|
||||
{
|
||||
llwarns << "Unable to allocate color buffer for multisample render target." << llendl;
|
||||
release();
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -231,7 +231,6 @@ BOOL LLShaderMgr::attachShaderFeatures(LLGLSLShader * shader)
|
||||
|
||||
if (features->hasLighting)
|
||||
{
|
||||
|
||||
if (features->hasWaterFog)
|
||||
{
|
||||
if (features->disableTextureIndex)
|
||||
@@ -308,7 +307,7 @@ BOOL LLShaderMgr::attachShaderFeatures(LLGLSLShader * shader)
|
||||
}
|
||||
shader->mFeatures.mIndexedTextureChannels = llmax(LLGLSLShader::sIndexedTextureChannels-1, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// NOTE order of shader object attaching is VERY IMPORTANT!!!
|
||||
@@ -571,7 +570,7 @@ GLhandleARB LLShaderMgr::loadShaderFile(const std::string& filename, S32 & shade
|
||||
return 0;
|
||||
}
|
||||
|
||||
//we can't have any lines longer than 1024 characters
|
||||
//we can't have any lines longer than 1024 characters
|
||||
//or any shaders longer than 4096 lines... deal - DaveP
|
||||
GLcharARB buff[1024];
|
||||
GLcharARB* text[4096];
|
||||
|
||||
@@ -45,17 +45,20 @@ class LLMouseHandler
|
||||
public:
|
||||
LLMouseHandler() {}
|
||||
virtual ~LLMouseHandler() {}
|
||||
|
||||
typedef enum {
|
||||
SHOW_NEVER,
|
||||
SHOW_IF_NOT_BLOCKED,
|
||||
SHOW_ALWAYS,
|
||||
} EShowToolTip;
|
||||
|
||||
typedef enum {
|
||||
CLICK_LEFT,
|
||||
CLICK_MIDDLE,
|
||||
CLICK_RIGHT,
|
||||
CLICK_DOUBLELEFT
|
||||
} EClickType;
|
||||
|
||||
virtual BOOL handleAnyMouseClick(S32 x, S32 y, MASK mask, EClickType clicktype, BOOL down);
|
||||
virtual BOOL handleMouseDown(S32 x, S32 y, MASK mask) = 0;
|
||||
virtual BOOL handleMouseUp(S32 x, S32 y, MASK mask) = 0;
|
||||
|
||||
@@ -113,6 +113,7 @@ LLWindow::LLWindow(LLWindowCallbacks* callbacks, BOOL fullscreen, U32 flags)
|
||||
mSupportedResolutions(NULL),
|
||||
mNumSupportedResolutions(0),
|
||||
mCurrentCursor(UI_CURSOR_ARROW),
|
||||
mNextCursor(UI_CURSOR_ARROW),
|
||||
mCursorHidden(FALSE),
|
||||
mBusyCount(0),
|
||||
mIsMouseClipping(FALSE),
|
||||
@@ -125,7 +126,6 @@ LLWindow::LLWindow(LLWindowCallbacks* callbacks, BOOL fullscreen, U32 flags)
|
||||
|
||||
LLWindow::~LLWindow()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
//virtual
|
||||
@@ -139,6 +139,7 @@ BOOL LLWindow::canDelete()
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// virtual
|
||||
void LLWindow::incBusyCount()
|
||||
{
|
||||
|
||||
@@ -104,12 +104,14 @@ public:
|
||||
virtual S32 getBusyCount() const;
|
||||
|
||||
// Sets cursor, may set to arrow+hourglass
|
||||
virtual void setCursor(ECursorType cursor) = 0;
|
||||
virtual void setCursor(ECursorType cursor) { mNextCursor = cursor; };
|
||||
virtual ECursorType getCursor() const;
|
||||
virtual void updateCursor() = 0;
|
||||
|
||||
virtual void captureMouse() = 0;
|
||||
virtual void releaseMouse() = 0;
|
||||
virtual void setMouseClipping( BOOL b ) = 0;
|
||||
|
||||
virtual BOOL isClipboardTextAvailable() = 0;
|
||||
virtual BOOL pasteTextFromClipboard(LLWString &dst) = 0;
|
||||
virtual BOOL copyTextToClipboard(const LLWString &src) = 0;
|
||||
@@ -196,6 +198,7 @@ protected:
|
||||
LLWindowResolution* mSupportedResolutions;
|
||||
S32 mNumSupportedResolutions;
|
||||
ECursorType mCurrentCursor;
|
||||
ECursorType mNextCursor;
|
||||
BOOL mCursorHidden;
|
||||
S32 mBusyCount; // how deep is the "cursor busy" stack?
|
||||
BOOL mIsMouseClipping; // Is this window currently clipping the mouse
|
||||
|
||||
@@ -91,5 +91,4 @@ public:
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
@@ -61,7 +61,7 @@ public:
|
||||
/*virtual*/ void showCursorFromMouseMove() {};
|
||||
/*virtual*/ void hideCursorUntilMouseMove() {};
|
||||
/*virtual*/ BOOL isCursorHidden() {return FALSE;};
|
||||
/*virtual*/ void setCursor(ECursorType cursor) {};
|
||||
/*virtual*/ void updateCursor() {};
|
||||
//virtual ECursorType getCursor() { return mCurrentCursor; };
|
||||
/*virtual*/ void captureMouse() {};
|
||||
/*virtual*/ void releaseMouse() {};
|
||||
|
||||
@@ -50,6 +50,11 @@ void setupCocoa()
|
||||
{
|
||||
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
|
||||
|
||||
// The following prevents the Cocoa command line parser from trying to open 'unknown' arguements as documents.
|
||||
// ie. running './secondlife -set Language fr' would cause a pop-up saying can't open document 'fr'
|
||||
// when init'ing the Cocoa App window.
|
||||
[[NSUserDefaults standardUserDefaults] setObject:@"NO" forKey:@"NSTreatUnknownArgumentsAsOpen"];
|
||||
|
||||
// This is a bit of voodoo taken from the Apple sample code "CarbonCocoa_PictureCursor":
|
||||
// http://developer.apple.com/samplecode/CarbonCocoa_PictureCursor/index.html
|
||||
|
||||
@@ -60,6 +65,8 @@ void setupCocoa()
|
||||
[[[NSWindow alloc] init] release];
|
||||
|
||||
[pool release];
|
||||
|
||||
inited = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -226,10 +226,10 @@ LLWindowMacOSX::LLWindowMacOSX(LLWindowCallbacks* callbacks,
|
||||
// Route them to a dummy callback structure until the end of constructor.
|
||||
LLWindowCallbacks null_callbacks;
|
||||
mCallbacks = &null_callbacks;
|
||||
|
||||
|
||||
// Voodoo for calling cocoa from carbon (see llwindowmacosx-objc.mm).
|
||||
setupCocoa();
|
||||
|
||||
|
||||
// Initialize the keyboard
|
||||
gKeyboard = new LLKeyboardMacOSX();
|
||||
gKeyboard->setCallbacks(callbacks);
|
||||
@@ -260,10 +260,10 @@ LLWindowMacOSX::LLWindowMacOSX(LLWindowCallbacks* callbacks,
|
||||
mRawKeyEvent = NULL;
|
||||
mFSAASamples = fsaa_samples;
|
||||
mForceRebuild = FALSE;
|
||||
|
||||
|
||||
// For reasons that aren't clear to me, LLTimers seem to be created in the "started" state.
|
||||
// Since the started state of this one is used to track whether the NMRec has been installed, it wants to start out in the "stopped" state.
|
||||
mBounceTimer.stop();
|
||||
mBounceTimer.stop();
|
||||
|
||||
// Get the original aspect ratio of the main device.
|
||||
mOriginalAspectRatio = (double)CGDisplayPixelsWide(mDisplay) / (double)CGDisplayPixelsHigh(mDisplay);
|
||||
@@ -276,7 +276,7 @@ LLWindowMacOSX::LLWindowMacOSX(LLWindowCallbacks* callbacks,
|
||||
mMoveEventCampartorUPP = NewEventComparatorUPP(staticMoveEventComparator);
|
||||
mGlobalHandlerRef = NULL;
|
||||
mWindowHandlerRef = NULL;
|
||||
|
||||
|
||||
mDragOverrideCursor = -1;
|
||||
|
||||
// We're not clipping yet
|
||||
@@ -451,7 +451,7 @@ BOOL LLWindowMacOSX::createContext(int x, int y, int width, int height, int bits
|
||||
mFullscreenBits = -1;
|
||||
mFullscreenRefresh = -1;
|
||||
|
||||
std::string error= llformat("Unable to run fullscreen at %d x %d.\nRunning in window.", width, height);
|
||||
std::string error= llformat("Unable to run fullscreen at %d x %d.\nRunning in window.", width, height);
|
||||
OSMessageBox(error, "Error", OSMB_OK);
|
||||
}
|
||||
}
|
||||
@@ -484,7 +484,6 @@ BOOL LLWindowMacOSX::createContext(int x, int y, int width, int height, int bits
|
||||
true,
|
||||
(long)this);
|
||||
|
||||
|
||||
if (!mWindow)
|
||||
{
|
||||
setupFailure("Window creation error", "Error", OSMB_OK);
|
||||
@@ -500,7 +499,7 @@ BOOL LLWindowMacOSX::createContext(int x, int y, int width, int height, int bits
|
||||
InstallStandardEventHandler(GetWindowEventTarget(mWindow));
|
||||
InstallWindowEventHandler(mWindow, mEventHandlerUPP, GetEventTypeCount (WindowHandlerEventList), WindowHandlerEventList, (void*)this, &mWindowHandlerRef); // add event handler
|
||||
#if LL_OS_DRAGDROP_ENABLED
|
||||
InstallTrackingHandler( dragTrackingHandler, mWindow, (void*)this );
|
||||
InstallTrackingHandler( dragTrackingHandler, mWindow, (void*)this );
|
||||
InstallReceiveHandler( dragReceiveHandler, mWindow, (void*)this );
|
||||
#endif // LL_OS_DRAGDROP_ENABLED
|
||||
}
|
||||
@@ -581,16 +580,16 @@ BOOL LLWindowMacOSX::createContext(int x, int y, int width, int height, int bits
|
||||
AGL_NO_RECOVERY,
|
||||
AGL_DOUBLEBUFFER,
|
||||
AGL_CLOSEST_POLICY,
|
||||
AGL_ACCELERATED,
|
||||
AGL_SAMPLE_BUFFERS_ARB, mFSAASamples > 0 ? 1 : 0,
|
||||
AGL_SAMPLES_ARB, mFSAASamples,
|
||||
AGL_RED_SIZE, 8,
|
||||
AGL_GREEN_SIZE, 8,
|
||||
AGL_BLUE_SIZE, 8,
|
||||
AGL_ALPHA_SIZE, 8,
|
||||
AGL_DEPTH_SIZE, 24,
|
||||
AGL_STENCIL_SIZE, 8,
|
||||
AGL_NONE
|
||||
AGL_ACCELERATED,
|
||||
AGL_SAMPLE_BUFFERS_ARB, mFSAASamples > 0 ? 1 : 0,
|
||||
AGL_SAMPLES_ARB, mFSAASamples,
|
||||
AGL_RED_SIZE, 8,
|
||||
AGL_GREEN_SIZE, 8,
|
||||
AGL_BLUE_SIZE, 8,
|
||||
AGL_ALPHA_SIZE, 8,
|
||||
AGL_DEPTH_SIZE, 24,
|
||||
AGL_STENCIL_SIZE, 8,
|
||||
AGL_NONE
|
||||
};
|
||||
|
||||
LL_DEBUGS("Window") << "createContext: creating windowed pixelformat" << LL_ENDL;
|
||||
@@ -797,7 +796,7 @@ BOOL LLWindowMacOSX::createContext(int x, int y, int width, int height, int bits
|
||||
LL_DEBUGS("GLinit") << "Keeping vertical sync" << LL_ENDL;
|
||||
frames_per_swap = 1;
|
||||
}
|
||||
aglSetInteger(mContext, AGL_SWAP_INTERVAL, &frames_per_swap);
|
||||
aglSetInteger(mContext, AGL_SWAP_INTERVAL, &frames_per_swap);
|
||||
|
||||
//enable multi-threaded OpenGL
|
||||
if (sUseMultGL)
|
||||
@@ -810,7 +809,7 @@ BOOL LLWindowMacOSX::createContext(int x, int y, int width, int height, int bits
|
||||
if (cgl_err != kCGLNoError )
|
||||
{
|
||||
LL_DEBUGS("GLInit") << "Multi-threaded OpenGL not available." << LL_ENDL;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
LL_DEBUGS("GLInit") << "Multi-threaded OpenGL enabled." << LL_ENDL;
|
||||
@@ -1042,6 +1041,7 @@ void LLWindowMacOSX::hide()
|
||||
HideWindow(mWindow);
|
||||
}
|
||||
|
||||
//virtual
|
||||
void LLWindowMacOSX::minimize()
|
||||
{
|
||||
setMouseClipping(FALSE);
|
||||
@@ -1049,6 +1049,7 @@ void LLWindowMacOSX::minimize()
|
||||
CollapseWindow(mWindow, true);
|
||||
}
|
||||
|
||||
//virtual
|
||||
void LLWindowMacOSX::restore()
|
||||
{
|
||||
show();
|
||||
@@ -1114,7 +1115,7 @@ BOOL LLWindowMacOSX::maximize()
|
||||
{
|
||||
ZoomWindow(mWindow, inContent, true);
|
||||
}
|
||||
|
||||
|
||||
return mMaximized;
|
||||
}
|
||||
|
||||
@@ -1169,6 +1170,8 @@ void LLWindowMacOSX::gatherInput()
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
updateCursor();
|
||||
}
|
||||
|
||||
BOOL LLWindowMacOSX::getPosition(LLCoordScreen *position)
|
||||
@@ -1437,11 +1440,11 @@ static void fixOrigin(void)
|
||||
GrafPtr port;
|
||||
Rect portrect;
|
||||
|
||||
::GetPort(&port);
|
||||
::GetPort(&port);
|
||||
::GetPortBounds(port, &portrect);
|
||||
if((portrect.left != 0) || (portrect.top != 0))
|
||||
{
|
||||
// Mozilla sometimes changes our port origin. Fuckers.
|
||||
// Mozilla sometimes changes our port origin.
|
||||
::SetOrigin(0,0);
|
||||
}
|
||||
}
|
||||
@@ -1451,17 +1454,17 @@ BOOL LLWindowMacOSX::getCursorPosition(LLCoordWindow *position)
|
||||
Point cursor_point;
|
||||
LLCoordScreen screen_pos;
|
||||
GrafPtr save;
|
||||
|
||||
|
||||
if(mWindow == NULL)
|
||||
return FALSE;
|
||||
|
||||
|
||||
::GetPort(&save);
|
||||
::SetPort(GetWindowPort(mWindow));
|
||||
fixOrigin();
|
||||
|
||||
// gets the mouse location in local coordinates
|
||||
::GetMouse(&cursor_point);
|
||||
|
||||
|
||||
// lldebugs << "getCursorPosition(): cursor is at " << cursor_point.h << ", " << cursor_point.v << " port origin: " << portrect.left << ", " << portrect.top << llendl;
|
||||
|
||||
::SetPort(save);
|
||||
@@ -1526,7 +1529,7 @@ F32 LLWindowMacOSX::getNativeAspectRatio()
|
||||
{
|
||||
// The constructor for this class grabs the aspect ratio of the monitor before doing any resolution
|
||||
// switching, and stashes it in mOriginalAspectRatio. Here, we just return it.
|
||||
|
||||
|
||||
if (mOverrideAspectRatio > 0.f)
|
||||
{
|
||||
return mOverrideAspectRatio;
|
||||
@@ -2001,7 +2004,7 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e
|
||||
if (mPreeditor
|
||||
&& (result = GetEventParameter(event, kEventParamTextInputSendFixLen,
|
||||
typeLongInteger, ¶m_type, sizeof(fix_len), NULL, &fix_len)) == noErr
|
||||
&& typeLongInteger == param_type
|
||||
&& typeLongInteger == param_type
|
||||
&& (result = GetEventParameter(event, kEventParamTextInputSendText,
|
||||
typeUnicodeText, ¶m_type, 0, &text_len, NULL)) == noErr
|
||||
&& typeUnicodeText == param_type)
|
||||
@@ -2021,7 +2024,7 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e
|
||||
mPreeditor->markAsPreedit(location, length);
|
||||
}
|
||||
mPreeditor->resetPreedit();
|
||||
|
||||
|
||||
// Receive the text from input method.
|
||||
U16 *const text = new U16[text_len / sizeof(U16)];
|
||||
GetEventParameter(event, kEventParamTextInputSendText, typeUnicodeText, NULL, text_len, NULL, text);
|
||||
@@ -2060,11 +2063,11 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e
|
||||
GetEventParameter(event, kEventParamTextInputSendHiliteRng, typeTextRangeArray,
|
||||
NULL, text_range_array_size, NULL, text_range_array);
|
||||
|
||||
// WARNING: We assume ranges are in ascending order,
|
||||
// WARNING: We assume ranges are in ascending order,
|
||||
// although the condition is undocumented. It seems
|
||||
// OK to assume this. I also assumed
|
||||
// the ranges are contiguous in previous versions, but I
|
||||
// have heard a rumore that older versions os ATOK may
|
||||
// have heard a rumore that older versions os ATOK may
|
||||
// return ranges with some _gap_. I don't know whether
|
||||
// it is true, but I'm preparing my code for the case.
|
||||
|
||||
@@ -2128,15 +2131,16 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case kEventTextInputUnicodeForKeyEvent:
|
||||
{
|
||||
UInt32 modifiers = 0;
|
||||
|
||||
|
||||
// First, process the raw event.
|
||||
{
|
||||
EventRef rawEvent = NULL;
|
||||
|
||||
|
||||
// Get the original event and extract the modifier keys, so we can ignore command-key events.
|
||||
if (GetEventParameter(event, kEventParamTextInputSendKeyboardEvent, typeEventRef, NULL, sizeof(rawEvent), NULL, &rawEvent) == noErr)
|
||||
{
|
||||
@@ -2145,7 +2149,7 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e
|
||||
|
||||
// and call this function recursively to handle the raw key event.
|
||||
eventHandler (myHandler, rawEvent);
|
||||
|
||||
|
||||
// save the raw event until we're done processing the unicode input as well.
|
||||
mRawKeyEvent = rawEvent;
|
||||
}
|
||||
@@ -2176,7 +2180,7 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e
|
||||
else
|
||||
{
|
||||
MASK mask = LLWindowMacOSX::modifiersToMask(modifiers);
|
||||
|
||||
|
||||
llassert( actualType == typeUnicodeText );
|
||||
|
||||
// The result is a UTF16 buffer. Pass the characters in turn to handleUnicodeChar.
|
||||
@@ -2202,7 +2206,7 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e
|
||||
result = err;
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case kEventTextInputOffsetToPos:
|
||||
{
|
||||
EventParamType param_type;
|
||||
@@ -2215,7 +2219,7 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e
|
||||
S32 preedit, preedit_length;
|
||||
mPreeditor->getPreeditRange(&preedit, &preedit_length);
|
||||
const LLWString & text = mPreeditor->getPreeditString();
|
||||
|
||||
|
||||
LLCoordGL caret_coord;
|
||||
LLRect preedit_bounds;
|
||||
if (0 <= offset
|
||||
@@ -2229,10 +2233,10 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e
|
||||
qd_point.h = caret_base_coord_screen.mX;
|
||||
qd_point.v = caret_base_coord_screen.mY;
|
||||
SetEventParameter(event, kEventParamTextInputReplyPoint, typeQDPoint, sizeof(qd_point), &qd_point);
|
||||
|
||||
|
||||
short line_height = (short) preedit_bounds.getHeight();
|
||||
SetEventParameter(event, kEventParamTextInputReplyLineHeight, typeShortInteger, sizeof(line_height), &line_height);
|
||||
|
||||
|
||||
result = noErr;
|
||||
}
|
||||
else
|
||||
@@ -2285,7 +2289,7 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e
|
||||
case kEventRawKeyRepeat:
|
||||
if (gDebugWindowProc)
|
||||
{
|
||||
printf("key down, key code = 0x%08x, char code = 0x%02x (%c), modifiers = 0x%08x\n",
|
||||
printf("key down, key code = 0x%08x, char code = 0x%02x (%c), modifiers = 0x%08x\n",
|
||||
(unsigned int)keyCode, charCode, (char)charCode, (unsigned int)modifiers);
|
||||
fflush(stdout);
|
||||
}
|
||||
@@ -2296,7 +2300,7 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e
|
||||
case kEventRawKeyUp:
|
||||
if (gDebugWindowProc)
|
||||
{
|
||||
printf("key up, key code = 0x%08x, char code = 0x%02x (%c), modifiers = 0x%08x\n",
|
||||
printf("key up, key code = 0x%08x, char code = 0x%02x (%c), modifiers = 0x%08x\n",
|
||||
(unsigned int)keyCode, charCode, (char)charCode, (unsigned int)modifiers);
|
||||
fflush(stdout);
|
||||
}
|
||||
@@ -2354,7 +2358,7 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e
|
||||
}
|
||||
|
||||
// When the state of the 'Fn' key (the one that changes some of the mappings on a powerbook/macbook keyboard
|
||||
// to an embedded keypad) changes, it may subsequently cause a key up event to be lost, which may lead to
|
||||
// to an embedded keypad) changes, it may subsequently cause a key up event to be lost, which may lead to
|
||||
// a movement key getting "stuck" down. This is bad.
|
||||
// This is an OS bug -- even the GetKeys() API doesn't tell you the key has been released.
|
||||
// This workaround causes all held-down keys to be reset whenever the state of the Fn key changes. This isn't
|
||||
@@ -2364,14 +2368,14 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e
|
||||
if (gDebugWindowProc) printf("Fn key state change event\n");
|
||||
gKeyboard->resetKeys();
|
||||
}
|
||||
|
||||
|
||||
if (gDebugWindowProc) fflush(stdout);
|
||||
|
||||
mLastModifiers = modifiers;
|
||||
result = eventNotHandledErr;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
mRawKeyEvent = NULL;
|
||||
}
|
||||
break;
|
||||
@@ -2466,7 +2470,7 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e
|
||||
case kEventMouseButtonSecondary:
|
||||
mCallbacks->handleRightMouseDown(this, outCoords, mask);
|
||||
break;
|
||||
|
||||
|
||||
case kEventMouseButtonTertiary:
|
||||
mCallbacks->handleMiddleMouseDown(this, outCoords, mask);
|
||||
break;
|
||||
@@ -2528,7 +2532,7 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e
|
||||
|
||||
case kEventClassWindow:
|
||||
switch(evtKind)
|
||||
{
|
||||
{
|
||||
case kEventWindowActivated:
|
||||
if (mTSMDocument)
|
||||
{
|
||||
@@ -2543,7 +2547,7 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e
|
||||
}
|
||||
mCallbacks->handleFocusLost(this);
|
||||
break;
|
||||
|
||||
|
||||
case kEventWindowBoundsChanging:
|
||||
{
|
||||
// This is where we would constrain move/resize to a particular screen
|
||||
@@ -2553,7 +2557,7 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e
|
||||
|
||||
GetEventParameter(event, kEventParamCurrentBounds, typeQDRectangle, NULL, sizeof(Rect), NULL, ¤tBounds);
|
||||
GetEventParameter(event, kEventParamPreviousBounds, typeQDRectangle, NULL, sizeof(Rect), NULL, &previousBounds);
|
||||
|
||||
|
||||
// Put an offset into window un-maximize operation since the kEventWindowGetIdealSize
|
||||
// event only allows the specification of size and not position.
|
||||
if (mMaximized)
|
||||
@@ -2561,7 +2565,7 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e
|
||||
short leftOffset = mPreviousWindowRect.left - currentBounds.left;
|
||||
currentBounds.left += leftOffset;
|
||||
currentBounds.right += leftOffset;
|
||||
|
||||
|
||||
short topOffset = mPreviousWindowRect.top - currentBounds.top;
|
||||
currentBounds.top += topOffset;
|
||||
currentBounds.bottom += topOffset;
|
||||
@@ -2581,7 +2585,7 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e
|
||||
{
|
||||
currentBounds.bottom = currentBounds.top + MIN_WINDOW_HEIGHT;
|
||||
}
|
||||
|
||||
|
||||
SetEventParameter(event, kEventParamCurrentBounds, typeQDRectangle, sizeof(Rect), ¤tBounds);
|
||||
result = noErr;
|
||||
}
|
||||
@@ -2592,38 +2596,38 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e
|
||||
// Get new window bounds
|
||||
Rect newBounds;
|
||||
GetEventParameter(event, kEventParamCurrentBounds, typeQDRectangle, NULL, sizeof(Rect), NULL, &newBounds);
|
||||
|
||||
|
||||
// Get previous window bounds
|
||||
Rect oldBounds;
|
||||
GetEventParameter(event, kEventParamPreviousBounds, typeQDRectangle, NULL, sizeof(Rect), NULL, &oldBounds);
|
||||
|
||||
|
||||
// Determine if the new size is larger than the old
|
||||
bool newBoundsLarger = ((newBounds.right - newBounds.left) >= (oldBounds.right - oldBounds.left));
|
||||
newBoundsLarger &= ((newBounds.bottom - newBounds.top) >= (oldBounds.bottom - oldBounds.top));
|
||||
|
||||
|
||||
// Check to see if this is a zoom event (+ button on window pane)
|
||||
unsigned int eventParams;
|
||||
GetEventParameter(event, kEventParamAttributes, typeUInt32, NULL, sizeof(int), NULL, &eventParams);
|
||||
bool isZoomEvent = ((eventParams & kWindowBoundsChangeZoom) != 0);
|
||||
|
||||
|
||||
// Maximized flag is if zoom event and increasing window size
|
||||
mMaximized = (isZoomEvent && newBoundsLarger);
|
||||
|
||||
|
||||
aglUpdateContext(mContext);
|
||||
|
||||
|
||||
mCallbacks->handleResize(this, newBounds.right - newBounds.left, newBounds.bottom - newBounds.top);
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case kEventWindowGetIdealSize:
|
||||
// Only recommend a new ideal size when un-maximizing
|
||||
if (mMaximized == TRUE)
|
||||
{
|
||||
Point nonMaximizedSize;
|
||||
|
||||
|
||||
nonMaximizedSize.v = mPreviousWindowRect.bottom - mPreviousWindowRect.top;
|
||||
nonMaximizedSize.h = mPreviousWindowRect.right - mPreviousWindowRect.left;
|
||||
|
||||
|
||||
SetEventParameter(event, kEventParamDimensions, typeQDPoint, sizeof(Point), &nonMaximizedSize);
|
||||
result = noErr;
|
||||
}
|
||||
@@ -2678,7 +2682,7 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e
|
||||
if (mPreeditor)
|
||||
{
|
||||
switch(evtKind)
|
||||
{
|
||||
{
|
||||
|
||||
case kEventTSMDocumentAccessGetLength:
|
||||
{
|
||||
@@ -2697,14 +2701,14 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e
|
||||
{
|
||||
// Return the selected range, excluding preedit.
|
||||
// In our preeditor, preedit and selection are exclusive, so,
|
||||
// when it has a preedit, there is no selection and the
|
||||
// when it has a preedit, there is no selection and the
|
||||
// insertion point is on the preedit that corrupses into the
|
||||
// beginning of the preedit when the preedit was removed.
|
||||
|
||||
S32 preedit, preedit_length;
|
||||
mPreeditor->getPreeditRange(&preedit, &preedit_length);
|
||||
const LLWString & text = mPreeditor->getPreeditString();
|
||||
|
||||
|
||||
CFRange range;
|
||||
if (preedit_length)
|
||||
{
|
||||
@@ -2768,7 +2772,7 @@ OSStatus LLWindowMacOSX::eventHandler (EventHandlerCallRef myHandler, EventRef e
|
||||
memcpy(target_pointer, text_utf16.c_str() + range.location, range.length * sizeof(UniChar));
|
||||
|
||||
// Note that result has already been set above.
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -2815,7 +2819,7 @@ const char* cursorIDToName(int id)
|
||||
case UI_CURSOR_TOOLPLAY: return "UI_CURSOR_TOOLPLAY";
|
||||
case UI_CURSOR_TOOLPAUSE: return "UI_CURSOR_TOOLPAUSE";
|
||||
case UI_CURSOR_TOOLMEDIAOPEN: return "UI_CURSOR_TOOLMEDIAOPEN";
|
||||
case UI_CURSOR_PIPETTE: return "UI_CURSOR_PIPETTE";
|
||||
case UI_CURSOR_PIPETTE: return "UI_CURSOR_PIPETTE";
|
||||
case UI_CURSOR_TOOLSIT: return "UI_CURSOR_TOOLSIT";
|
||||
case UI_CURSOR_TOOLBUY: return "UI_CURSOR_TOOLBUY";
|
||||
case UI_CURSOR_TOOLOPEN: return "UI_CURSOR_TOOLOPEN";
|
||||
@@ -2823,7 +2827,7 @@ const char* cursorIDToName(int id)
|
||||
}
|
||||
|
||||
llerrs << "cursorIDToName: unknown cursor id" << id << llendl;
|
||||
|
||||
|
||||
return "UI_CURSOR_ARROW";
|
||||
}
|
||||
|
||||
@@ -2839,42 +2843,42 @@ static void initPixmapCursor(int cursorid, int hotspotX, int hotspotY)
|
||||
fullpath += gDirUtilp->getDirDelimiter();
|
||||
fullpath += cursorIDToName(cursorid);
|
||||
fullpath += ".tif";
|
||||
|
||||
|
||||
gCursors[cursorid] = createImageCursor(fullpath.c_str(), hotspotX, hotspotY);
|
||||
}
|
||||
|
||||
void LLWindowMacOSX::setCursor(ECursorType cursor)
|
||||
void LLWindowMacOSX::updateCursor()
|
||||
{
|
||||
OSStatus result = noErr;
|
||||
|
||||
if (mDragOverrideCursor != -1)
|
||||
if (mDragOverrideCursor != -1)
|
||||
{
|
||||
// A drag is in progress...remember the requested cursor and we'll
|
||||
// restore it when it is done
|
||||
mCurrentCursor = cursor;
|
||||
mCurrentCursor = mNextCursor;
|
||||
return;
|
||||
}
|
||||
|
||||
if (cursor == UI_CURSOR_ARROW
|
||||
if (mNextCursor == UI_CURSOR_ARROW
|
||||
&& mBusyCount > 0)
|
||||
{
|
||||
cursor = UI_CURSOR_WORKING;
|
||||
mNextCursor = UI_CURSOR_WORKING;
|
||||
}
|
||||
|
||||
if(mCurrentCursor == cursor)
|
||||
if(mCurrentCursor == mNextCursor)
|
||||
return;
|
||||
|
||||
// RN: replace multi-drag cursors with single versions
|
||||
if (cursor == UI_CURSOR_ARROWDRAGMULTI)
|
||||
if (mNextCursor == UI_CURSOR_ARROWDRAGMULTI)
|
||||
{
|
||||
cursor = UI_CURSOR_ARROWDRAG;
|
||||
mNextCursor = UI_CURSOR_ARROWDRAG;
|
||||
}
|
||||
else if (cursor == UI_CURSOR_ARROWCOPYMULTI)
|
||||
else if (mNextCursor == UI_CURSOR_ARROWCOPYMULTI)
|
||||
{
|
||||
cursor = UI_CURSOR_ARROWCOPY;
|
||||
mNextCursor = UI_CURSOR_ARROWCOPY;
|
||||
}
|
||||
|
||||
switch(cursor)
|
||||
switch(mNextCursor)
|
||||
{
|
||||
default:
|
||||
case UI_CURSOR_ARROW:
|
||||
@@ -2926,7 +2930,7 @@ void LLWindowMacOSX::setCursor(ECursorType cursor)
|
||||
case UI_CURSOR_TOOLBUY:
|
||||
case UI_CURSOR_TOOLOPEN:
|
||||
case UI_CURSOR_TOOLPAY:
|
||||
result = setImageCursor(gCursors[cursor]);
|
||||
result = setImageCursor(gCursors[mNextCursor]);
|
||||
break;
|
||||
|
||||
}
|
||||
@@ -2936,7 +2940,7 @@ void LLWindowMacOSX::setCursor(ECursorType cursor)
|
||||
InitCursor();
|
||||
}
|
||||
|
||||
mCurrentCursor = cursor;
|
||||
mCurrentCursor = mNextCursor;
|
||||
}
|
||||
|
||||
ECursorType LLWindowMacOSX::getCursor() const
|
||||
@@ -2967,9 +2971,9 @@ void LLWindowMacOSX::initCursors()
|
||||
initPixmapCursor(UI_CURSOR_TOOLPLAY, 1, 1);
|
||||
initPixmapCursor(UI_CURSOR_TOOLPAUSE, 1, 1);
|
||||
initPixmapCursor(UI_CURSOR_TOOLMEDIAOPEN, 1, 1);
|
||||
initPixmapCursor(UI_CURSOR_TOOLSIT, 1, 1);
|
||||
initPixmapCursor(UI_CURSOR_TOOLBUY, 1, 1);
|
||||
initPixmapCursor(UI_CURSOR_TOOLOPEN, 1, 1);
|
||||
initPixmapCursor(UI_CURSOR_TOOLSIT, 20, 15);
|
||||
initPixmapCursor(UI_CURSOR_TOOLBUY, 20, 15);
|
||||
initPixmapCursor(UI_CURSOR_TOOLOPEN, 20, 15);
|
||||
initPixmapCursor(UI_CURSOR_TOOLPAY, 1, 1);
|
||||
|
||||
initPixmapCursor(UI_CURSOR_SIZENWSE, 10, 10);
|
||||
@@ -3281,14 +3285,14 @@ void LLWindowMacOSX::setTitle(const std::string &title)
|
||||
LLSD LLWindowMacOSX::getNativeKeyData()
|
||||
{
|
||||
LLSD result = LLSD::emptyMap();
|
||||
|
||||
|
||||
if(mRawKeyEvent)
|
||||
{
|
||||
char char_code = 0;
|
||||
UInt32 key_code = 0;
|
||||
UInt32 modifiers = 0;
|
||||
UInt32 keyboard_type = 0;
|
||||
|
||||
|
||||
GetEventParameter (mRawKeyEvent, kEventParamKeyMacCharCodes, typeChar, NULL, sizeof(char), NULL, &char_code);
|
||||
GetEventParameter (mRawKeyEvent, kEventParamKeyCode, typeUInt32, NULL, sizeof(UInt32), NULL, &key_code);
|
||||
GetEventParameter (mRawKeyEvent, kEventParamKeyModifiers, typeUInt32, NULL, sizeof(UInt32), NULL, &modifiers);
|
||||
@@ -3298,7 +3302,7 @@ LLSD LLWindowMacOSX::getNativeKeyData()
|
||||
result["key_code"] = (S32)key_code;
|
||||
result["modifiers"] = (S32)modifiers;
|
||||
result["keyboard_type"] = (S32)keyboard_type;
|
||||
|
||||
|
||||
#if 0
|
||||
// This causes trouble for control characters -- apparently character codes less than 32 (escape, control-A, etc)
|
||||
// cause llsd serialization to create XML that the llsd deserializer won't parse!
|
||||
@@ -3307,7 +3311,7 @@ LLSD LLWindowMacOSX::getNativeKeyData()
|
||||
EventParamType actualType = typeUTF8Text;
|
||||
UInt32 actualSize = 0;
|
||||
char *buffer = NULL;
|
||||
|
||||
|
||||
err = GetEventParameter (mRawKeyEvent, kEventParamKeyUnicodes, typeUTF8Text, &actualType, 0, &actualSize, NULL);
|
||||
if(err == noErr)
|
||||
{
|
||||
@@ -3320,7 +3324,7 @@ LLSD LLWindowMacOSX::getNativeKeyData()
|
||||
}
|
||||
delete[] buffer;
|
||||
}
|
||||
|
||||
|
||||
result["unicode"] = unicode;
|
||||
#endif
|
||||
|
||||
@@ -3328,7 +3332,7 @@ LLSD LLWindowMacOSX::getNativeKeyData()
|
||||
|
||||
|
||||
lldebugs << "native key data is: " << result << llendl;
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -3375,17 +3379,17 @@ void *LLWindowMacOSX::getPlatformWindow()
|
||||
|
||||
void *LLWindowMacOSX::getMediaWindow()
|
||||
{
|
||||
/*
|
||||
Mozilla needs to be initialized with a WindowRef to function properly.
|
||||
/*
|
||||
Mozilla needs to be initialized with a WindowRef to function properly.
|
||||
(There's no good reason for this, since it shouldn't be interacting with our window in any way, but that's another issue.)
|
||||
If we're in windowed mode, we _could_ hand it our actual window pointer, but a subsequent switch to fullscreen will destroy that window,
|
||||
If we're in windowed mode, we _could_ hand it our actual window pointer, but a subsequent switch to fullscreen will destroy that window,
|
||||
which trips up Mozilla.
|
||||
Instead of using our actual window, we create an invisible window which will persist for the lifetime of the application and pass that to Mozilla.
|
||||
This satisfies its deep-seated need to latch onto a WindowRef and solves the issue with switching between fullscreen and windowed modes.
|
||||
|
||||
Note that we will never destroy this window (by design!), but since only one will ever be created per run of the application, that's okay.
|
||||
*/
|
||||
|
||||
|
||||
if(sMediaWindow == NULL)
|
||||
{
|
||||
Rect window_rect = {100, 100, 200, 200};
|
||||
@@ -3394,13 +3398,13 @@ void *LLWindowMacOSX::getMediaWindow()
|
||||
NULL,
|
||||
&window_rect,
|
||||
(ConstStr255Param) "\p",
|
||||
false, // Create the window invisible.
|
||||
false, // Create the window invisible.
|
||||
zoomDocProc, // Window with a grow box and a zoom box
|
||||
kLastWindowOfClass, // create it behind other windows
|
||||
false, // no close box
|
||||
0);
|
||||
}
|
||||
|
||||
|
||||
return (void*)sMediaWindow;
|
||||
}
|
||||
|
||||
@@ -3450,7 +3454,7 @@ void LLWindowMacOSX::allowLanguageTextInput(LLPreeditor *preeditor, BOOL b)
|
||||
}
|
||||
|
||||
UseInputWindow(mTSMDocument, !b);
|
||||
|
||||
|
||||
// Take care of old and new preeditors.
|
||||
if (preeditor != mPreeditor || !b)
|
||||
{
|
||||
@@ -3469,7 +3473,7 @@ void LLWindowMacOSX::allowLanguageTextInput(LLPreeditor *preeditor, BOOL b)
|
||||
return;
|
||||
}
|
||||
mLanguageTextInputAllowed = b;
|
||||
|
||||
|
||||
if (b)
|
||||
{
|
||||
if (mTSMScriptCode != smRoman)
|
||||
@@ -3518,7 +3522,7 @@ MASK LLWindowMacOSX::modifiersToMask(SInt16 modifiers)
|
||||
if(modifiers & (cmdKey | controlKey)) { mask |= MASK_CONTROL; }
|
||||
if(modifiers & optionKey) { mask |= MASK_ALT; }
|
||||
return mask;
|
||||
}
|
||||
}
|
||||
|
||||
#if LL_OS_DRAGDROP_ENABLED
|
||||
|
||||
@@ -3529,53 +3533,53 @@ OSErr LLWindowMacOSX::dragTrackingHandler(DragTrackingMessage message, WindowRef
|
||||
LLWindowMacOSX *self = (LLWindowMacOSX*)handlerRefCon;
|
||||
|
||||
lldebugs << "drag tracking handler, message = " << message << llendl;
|
||||
|
||||
|
||||
switch(message)
|
||||
{
|
||||
case kDragTrackingInWindow:
|
||||
result = self->handleDragNDrop(drag, LLWindowCallbacks::DNDA_TRACK);
|
||||
break;
|
||||
|
||||
|
||||
case kDragTrackingEnterHandler:
|
||||
result = self->handleDragNDrop(drag, LLWindowCallbacks::DNDA_START_TRACKING);
|
||||
break;
|
||||
|
||||
|
||||
case kDragTrackingLeaveHandler:
|
||||
result = self->handleDragNDrop(drag, LLWindowCallbacks::DNDA_STOP_TRACKING);
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
OSErr LLWindowMacOSX::dragReceiveHandler(WindowRef theWindow, void * handlerRefCon,
|
||||
OSErr LLWindowMacOSX::dragReceiveHandler(WindowRef theWindow, void * handlerRefCon,
|
||||
DragRef drag)
|
||||
{
|
||||
{
|
||||
LLWindowMacOSX *self = (LLWindowMacOSX*)handlerRefCon;
|
||||
return self->handleDragNDrop(drag, LLWindowCallbacks::DNDA_DROPPED);
|
||||
|
||||
}
|
||||
|
||||
OSErr LLWindowMacOSX::handleDragNDrop(DragRef drag, LLWindowCallbacks::DragNDropAction action)
|
||||
{
|
||||
{
|
||||
OSErr result = dragNotAcceptedErr; // overall function result
|
||||
OSErr err = noErr; // for local error handling
|
||||
|
||||
|
||||
// Get the mouse position and modifiers of this drag.
|
||||
SInt16 modifiers, mouseDownModifiers, mouseUpModifiers;
|
||||
::GetDragModifiers(drag, &modifiers, &mouseDownModifiers, &mouseUpModifiers);
|
||||
MASK mask = LLWindowMacOSX::modifiersToMask(modifiers);
|
||||
|
||||
|
||||
Point mouse_point;
|
||||
// This will return the mouse point in global screen coords
|
||||
::GetDragMouse(drag, &mouse_point, NULL);
|
||||
LLCoordScreen screen_coords(mouse_point.h, mouse_point.v);
|
||||
LLCoordGL gl_pos;
|
||||
convertCoords(screen_coords, &gl_pos);
|
||||
|
||||
|
||||
// Look at the pasteboard and try to extract an URL from it
|
||||
PasteboardRef pasteboard;
|
||||
if(GetDragPasteboard(drag, &pasteboard) == noErr)
|
||||
@@ -3583,22 +3587,22 @@ OSErr LLWindowMacOSX::handleDragNDrop(DragRef drag, LLWindowCallbacks::DragNDrop
|
||||
ItemCount num_items = 0;
|
||||
// Treat an error here as an item count of 0
|
||||
(void)PasteboardGetItemCount(pasteboard, &num_items);
|
||||
|
||||
|
||||
// Only deal with single-item drags.
|
||||
if(num_items == 1)
|
||||
{
|
||||
PasteboardItemID item_id = NULL;
|
||||
CFArrayRef flavors = NULL;
|
||||
CFDataRef data = NULL;
|
||||
|
||||
|
||||
err = PasteboardGetItemIdentifier(pasteboard, 1, &item_id); // Yes, this really is 1-based.
|
||||
|
||||
|
||||
// Try to extract an URL from the pasteboard
|
||||
if(err == noErr)
|
||||
{
|
||||
err = PasteboardCopyItemFlavors( pasteboard, item_id, &flavors);
|
||||
}
|
||||
|
||||
|
||||
if(err == noErr)
|
||||
{
|
||||
if(CFArrayContainsValue(flavors, CFRangeMake(0, CFArrayGetCount(flavors)), kUTTypeURL))
|
||||
@@ -3611,9 +3615,9 @@ OSErr LLWindowMacOSX::handleDragNDrop(DragRef drag, LLWindowCallbacks::DragNDrop
|
||||
// This is a string that might be an URL.
|
||||
err = PasteboardCopyItemFlavorData(pasteboard, item_id, kUTTypeUTF8PlainText, &data);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
if(flavors != NULL)
|
||||
{
|
||||
CFRelease(flavors);
|
||||
@@ -3624,12 +3628,12 @@ OSErr LLWindowMacOSX::handleDragNDrop(DragRef drag, LLWindowCallbacks::DragNDrop
|
||||
std::string url;
|
||||
url.assign((char*)CFDataGetBytePtr(data), CFDataGetLength(data));
|
||||
CFRelease(data);
|
||||
|
||||
|
||||
if(!url.empty())
|
||||
{
|
||||
LLWindowCallbacks::DragNDropResult res =
|
||||
LLWindowCallbacks::DragNDropResult res =
|
||||
mCallbacks->handleDragNDrop(this, gl_pos, mask, action, url);
|
||||
|
||||
|
||||
switch (res) {
|
||||
case LLWindowCallbacks::DND_NONE: // No drop allowed
|
||||
if (action == LLWindowCallbacks::DNDA_TRACK)
|
||||
@@ -3664,7 +3668,7 @@ OSErr LLWindowMacOSX::handleDragNDrop(DragRef drag, LLWindowCallbacks::DragNDrop
|
||||
// Restore the cursor
|
||||
ECursorType temp_cursor = mCurrentCursor;
|
||||
// get around the "setting the same cursor" code in setCursor()
|
||||
mCurrentCursor = UI_CURSOR_COUNT;
|
||||
mCurrentCursor = UI_CURSOR_COUNT;
|
||||
setCursor(temp_cursor);
|
||||
}
|
||||
else {
|
||||
@@ -3676,7 +3680,7 @@ OSErr LLWindowMacOSX::handleDragNDrop(DragRef drag, LLWindowCallbacks::DragNDrop
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -73,7 +73,7 @@ public:
|
||||
/*virtual*/ void showCursorFromMouseMove();
|
||||
/*virtual*/ void hideCursorUntilMouseMove();
|
||||
/*virtual*/ BOOL isCursorHidden();
|
||||
/*virtual*/ void setCursor(ECursorType cursor);
|
||||
/*virtual*/ void updateCursor();
|
||||
/*virtual*/ ECursorType getCursor() const;
|
||||
/*virtual*/ void captureMouse();
|
||||
/*virtual*/ void releaseMouse();
|
||||
|
||||
@@ -65,7 +65,7 @@ public:
|
||||
/*virtual*/ void showCursorFromMouseMove() {};
|
||||
/*virtual*/ void hideCursorUntilMouseMove() {};
|
||||
/*virtual*/ BOOL isCursorHidden() {return FALSE;};
|
||||
/*virtual*/ void setCursor(ECursorType cursor) {};
|
||||
/*virtual*/ void updateCursor() {};
|
||||
//virtual ECursorType getCursor() { return mCurrentCursor; };
|
||||
/*virtual*/ void captureMouse() {};
|
||||
/*virtual*/ void releaseMouse() {};
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
|
||||
#include "llwindowcallbacks.h"
|
||||
#include "llkeyboardsdl.h"
|
||||
|
||||
#include "llerror.h"
|
||||
#include "llgl.h"
|
||||
#include "llstring.h"
|
||||
@@ -221,15 +222,14 @@ LLWindowSDL::LLWindowSDL(LLWindowCallbacks* callbacks,
|
||||
#endif // LL_X11
|
||||
|
||||
#if LL_GTK
|
||||
// We MUST be the first to initialize GTK, i.e. we have to beat
|
||||
// our embedded Mozilla to the punch so that GTK doesn't get badly
|
||||
// We MUST be the first to initialize GTK so that GTK doesn't get badly
|
||||
// initialized with a non-C locale and cause lots of serious random
|
||||
// weirdness.
|
||||
ll_try_gtk_init();
|
||||
#endif // LL_GTK
|
||||
|
||||
// Get the original aspect ratio of the main device.
|
||||
mOriginalAspectRatio = 1024.0 / 768.0; // !!! *FIX: ? //(double)CGDisplayPixelsWide(mDisplay) / (double)CGDisplayPixelsHigh(mDisplay);
|
||||
// Assume 4:3 aspect ratio until we know better
|
||||
mOriginalAspectRatio = 1024.0 / 768.0;
|
||||
|
||||
if (title.empty())
|
||||
mWindowTitle = "SDL Window"; // *FIX: (???)
|
||||
@@ -425,7 +425,6 @@ static int x11_detect_VRAM_kb()
|
||||
BOOL LLWindowSDL::createContext(int x, int y, int width, int height, int bits, BOOL fullscreen, BOOL disable_vsync)
|
||||
{
|
||||
//bool glneedsinit = false;
|
||||
// const char *gllibname = null;
|
||||
|
||||
llinfos << "createContext, fullscreen=" << fullscreen <<
|
||||
" size=" << width << "x" << height << llendl;
|
||||
@@ -856,11 +855,13 @@ void LLWindowSDL::hide()
|
||||
// *FIX: What to do with SDL?
|
||||
}
|
||||
|
||||
//virtual
|
||||
void LLWindowSDL::minimize()
|
||||
{
|
||||
// *FIX: What to do with SDL?
|
||||
}
|
||||
|
||||
//virtual
|
||||
void LLWindowSDL::restore()
|
||||
{
|
||||
// *FIX: What to do with SDL?
|
||||
@@ -1680,12 +1681,13 @@ void check_vm_bloat()
|
||||
}
|
||||
#endif // LL_LINUX
|
||||
}
|
||||
|
||||
|
||||
// virtual
|
||||
void LLWindowSDL::processMiscNativeEvents()
|
||||
{
|
||||
#if LL_GTK
|
||||
// Pump GTK events to avoid starvation for:
|
||||
// * Embedded Gecko
|
||||
// * DBUS servicing
|
||||
// * Anything else which quietly hooks into the default glib/GTK loop
|
||||
if (ll_try_gtk_init())
|
||||
@@ -1721,7 +1723,7 @@ void LLWindowSDL::processMiscNativeEvents()
|
||||
|
||||
void LLWindowSDL::gatherInput()
|
||||
{
|
||||
const Uint32 CLICK_THRESHOLD = 500; // milliseconds
|
||||
const Uint32 CLICK_THRESHOLD = 500; // milliseconds
|
||||
static int leftClick = 0;
|
||||
static int rightClick = 0;
|
||||
static Uint32 lastLeftDown = 0;
|
||||
@@ -1747,16 +1749,17 @@ void LLWindowSDL::gatherInput()
|
||||
mKeyScanCode = event.key.keysym.scancode;
|
||||
mKeyVirtualKey = event.key.keysym.unicode;
|
||||
mKeyModifiers = event.key.keysym.mod;
|
||||
gKeyboard->handleKeyDown(event.key.keysym.sym, event.key.keysym.mod);
|
||||
// part of the fix for SL-13243
|
||||
if (SDLCheckGrabbyKeys(event.key.keysym.sym, TRUE) != 0)
|
||||
SDLReallyCaptureInput(TRUE);
|
||||
|
||||
if (event.key.keysym.unicode)
|
||||
{
|
||||
handleUnicodeUTF16(event.key.keysym.unicode,
|
||||
gKeyboard->currentMask(FALSE));
|
||||
}
|
||||
gKeyboard->handleKeyDown(event.key.keysym.sym, event.key.keysym.mod);
|
||||
// part of the fix for SL-13243
|
||||
if (SDLCheckGrabbyKeys(event.key.keysym.sym, TRUE) != 0)
|
||||
SDLReallyCaptureInput(TRUE);
|
||||
|
||||
if (event.key.keysym.unicode)
|
||||
{
|
||||
handleUnicodeUTF16(event.key.keysym.unicode,
|
||||
gKeyboard->currentMask(FALSE));
|
||||
}
|
||||
break;
|
||||
|
||||
case SDL_KEYUP:
|
||||
@@ -1767,8 +1770,8 @@ void LLWindowSDL::gatherInput()
|
||||
if (SDLCheckGrabbyKeys(event.key.keysym.sym, FALSE) == 0)
|
||||
SDLReallyCaptureInput(FALSE); // part of the fix for SL-13243
|
||||
|
||||
gKeyboard->handleKeyUp(event.key.keysym.sym, event.key.keysym.mod);
|
||||
break;
|
||||
gKeyboard->handleKeyUp(event.key.keysym.sym, event.key.keysym.mod);
|
||||
break;
|
||||
|
||||
case SDL_MOUSEBUTTONDOWN:
|
||||
{
|
||||
@@ -1878,7 +1881,7 @@ void LLWindowSDL::gatherInput()
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
mCallbacks->handleResize(this, width, height);
|
||||
break;
|
||||
}
|
||||
@@ -1932,6 +1935,8 @@ void LLWindowSDL::gatherInput()
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
updateCursor();
|
||||
|
||||
#if LL_X11
|
||||
// This is a good time to stop flashing the icon if our mFlashTimer has
|
||||
@@ -2018,7 +2023,7 @@ static SDL_Cursor *makeSDLCursorFromBMP(const char *filename, int hotx, int hoty
|
||||
return sdlcursor;
|
||||
}
|
||||
|
||||
void LLWindowSDL::setCursor(ECursorType cursor)
|
||||
void LLWindowSDL::updateCursor()
|
||||
{
|
||||
if (ATIbug) {
|
||||
// cursor-updating is very flaky when this bug is
|
||||
@@ -2026,11 +2031,11 @@ void LLWindowSDL::setCursor(ECursorType cursor)
|
||||
return;
|
||||
}
|
||||
|
||||
if (mCurrentCursor != cursor)
|
||||
if (mCurrentCursor != mNextCursor)
|
||||
{
|
||||
if (cursor < UI_CURSOR_COUNT)
|
||||
if (mNextCursor < UI_CURSOR_COUNT)
|
||||
{
|
||||
SDL_Cursor *sdlcursor = mSDLCursors[cursor];
|
||||
SDL_Cursor *sdlcursor = mSDLCursors[mNextCursor];
|
||||
// Try to default to the arrow for any cursors that
|
||||
// did not load correctly.
|
||||
if (!sdlcursor && mSDLCursors[UI_CURSOR_ARROW])
|
||||
@@ -2038,9 +2043,9 @@ void LLWindowSDL::setCursor(ECursorType cursor)
|
||||
if (sdlcursor)
|
||||
SDL_SetCursor(sdlcursor);
|
||||
} else {
|
||||
llwarns << "Tried to set invalid cursor number " << cursor << llendl;
|
||||
llwarns << "Tried to set invalid cursor number " << mNextCursor << llendl;
|
||||
}
|
||||
mCurrentCursor = cursor;
|
||||
mCurrentCursor = mNextCursor;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ public:
|
||||
/*virtual*/ void showCursorFromMouseMove();
|
||||
/*virtual*/ void hideCursorUntilMouseMove();
|
||||
/*virtual*/ BOOL isCursorHidden();
|
||||
/*virtual*/ void setCursor(ECursorType cursor);
|
||||
/*virtual*/ void updateCursor();
|
||||
/*virtual*/ void captureMouse();
|
||||
/*virtual*/ void releaseMouse();
|
||||
/*virtual*/ void setMouseClipping( BOOL b );
|
||||
@@ -102,7 +102,7 @@ public:
|
||||
/*virtual*/ void gatherInput();
|
||||
/*virtual*/ void swapBuffers();
|
||||
|
||||
/*virtual*/ void delayInputProcessing() { };
|
||||
/*virtual*/ void delayInputProcessing() { };
|
||||
|
||||
// handy coordinate space conversion routines
|
||||
/*virtual*/ BOOL convertCoords(LLCoordScreen from, LLCoordWindow *to);
|
||||
|
||||
@@ -677,6 +677,7 @@ void LLWindowWin32::hide()
|
||||
ShowWindow(mWindowHandle, SW_HIDE);
|
||||
}
|
||||
|
||||
//virtual
|
||||
void LLWindowWin32::minimize()
|
||||
{
|
||||
setMouseClipping(FALSE);
|
||||
@@ -684,7 +685,7 @@ void LLWindowWin32::minimize()
|
||||
ShowWindow(mWindowHandle, SW_MINIMIZE);
|
||||
}
|
||||
|
||||
|
||||
//virtual
|
||||
void LLWindowWin32::restore()
|
||||
{
|
||||
ShowWindow(mWindowHandle, SW_RESTORE);
|
||||
@@ -1019,6 +1020,7 @@ BOOL LLWindowWin32::switchContext(BOOL fullscreen, const LLCoordScreen &size, BO
|
||||
dw_style = WS_OVERLAPPEDWINDOW;
|
||||
}
|
||||
|
||||
|
||||
// don't post quit messages when destroying old windows
|
||||
mPostQuit = FALSE;
|
||||
|
||||
@@ -1070,6 +1072,8 @@ BOOL LLWindowWin32::switchContext(BOOL fullscreen, const LLCoordScreen &size, BO
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
LL_INFOS("Window") << "Device context retrieved." << llendl ;
|
||||
|
||||
if (!(pixel_format = ChoosePixelFormat(mhDC, &pfd)))
|
||||
{
|
||||
close();
|
||||
@@ -1078,6 +1082,8 @@ BOOL LLWindowWin32::switchContext(BOOL fullscreen, const LLCoordScreen &size, BO
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
LL_INFOS("Window") << "Pixel format chosen." << llendl ;
|
||||
|
||||
// Verify what pixel format we actually received.
|
||||
if (!DescribePixelFormat(mhDC, pixel_format, sizeof(PIXELFORMATDESCRIPTOR),
|
||||
&pfd))
|
||||
@@ -1653,13 +1659,13 @@ void LLWindowWin32::initCursors()
|
||||
mCursor[ UI_CURSOR_PIPETTE ] = LoadCursor(module, TEXT("TOOLPIPETTE"));
|
||||
|
||||
// Color cursors
|
||||
mCursor[UI_CURSOR_TOOLSIT] = loadColorCursor(TEXT("TOOLSIT"));
|
||||
mCursor[UI_CURSOR_TOOLBUY] = loadColorCursor(TEXT("TOOLBUY"));
|
||||
mCursor[UI_CURSOR_TOOLPAY] = loadColorCursor(TEXT("TOOLPAY"));
|
||||
mCursor[UI_CURSOR_TOOLOPEN] = loadColorCursor(TEXT("TOOLOPEN"));
|
||||
mCursor[UI_CURSOR_TOOLPLAY] = loadColorCursor(TEXT("TOOLPLAY"));
|
||||
mCursor[UI_CURSOR_TOOLPAUSE] = loadColorCursor(TEXT("TOOLPAUSE"));
|
||||
mCursor[UI_CURSOR_TOOLMEDIAOPEN] = loadColorCursor(TEXT("TOOLMEDIAOPEN"));
|
||||
mCursor[ UI_CURSOR_TOOLSIT ] = loadColorCursor(TEXT("TOOLSIT"));
|
||||
mCursor[ UI_CURSOR_TOOLBUY ] = loadColorCursor(TEXT("TOOLBUY"));
|
||||
mCursor[ UI_CURSOR_TOOLPAY ] = loadColorCursor(TEXT("TOOLPAY"));
|
||||
mCursor[ UI_CURSOR_TOOLOPEN ] = loadColorCursor(TEXT("TOOLOPEN"));
|
||||
mCursor[ UI_CURSOR_TOOLPLAY ] = loadColorCursor(TEXT("TOOLPLAY"));
|
||||
mCursor[ UI_CURSOR_TOOLPAUSE ] = loadColorCursor(TEXT("TOOLPAUSE"));
|
||||
mCursor[ UI_CURSOR_TOOLMEDIAOPEN ] = loadColorCursor(TEXT("TOOLMEDIAOPEN"));
|
||||
|
||||
// Note: custom cursors that are not found make LoadCursor() return NULL.
|
||||
for( S32 i = 0; i < UI_CURSOR_COUNT; i++ )
|
||||
@@ -1673,18 +1679,18 @@ void LLWindowWin32::initCursors()
|
||||
|
||||
|
||||
|
||||
void LLWindowWin32::setCursor(ECursorType cursor)
|
||||
void LLWindowWin32::updateCursor()
|
||||
{
|
||||
if (cursor == UI_CURSOR_ARROW
|
||||
if (mNextCursor == UI_CURSOR_ARROW
|
||||
&& mBusyCount > 0)
|
||||
{
|
||||
cursor = UI_CURSOR_WORKING;
|
||||
mNextCursor = UI_CURSOR_WORKING;
|
||||
}
|
||||
|
||||
if( mCurrentCursor != cursor )
|
||||
if( mCurrentCursor != mNextCursor )
|
||||
{
|
||||
mCurrentCursor = cursor;
|
||||
SetCursor( mCursor[cursor] );
|
||||
mCurrentCursor = mNextCursor;
|
||||
SetCursor( mCursor[mNextCursor] );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1764,6 +1770,8 @@ void LLWindowWin32::gatherInput()
|
||||
|
||||
mInputProcessingPaused = FALSE;
|
||||
|
||||
updateCursor();
|
||||
|
||||
// clear this once we've processed all mouse messages that might have occurred after
|
||||
// we slammed the mouse position
|
||||
mMousePositionModified = FALSE;
|
||||
|
||||
@@ -72,7 +72,7 @@ public:
|
||||
/*virtual*/ void showCursorFromMouseMove();
|
||||
/*virtual*/ void hideCursorUntilMouseMove();
|
||||
/*virtual*/ BOOL isCursorHidden();
|
||||
/*virtual*/ void setCursor(ECursorType cursor);
|
||||
/*virtual*/ void updateCursor();
|
||||
/*virtual*/ ECursorType getCursor() const;
|
||||
/*virtual*/ void captureMouse();
|
||||
/*virtual*/ void releaseMouse();
|
||||
|
||||
@@ -475,8 +475,6 @@ set(viewer_SOURCE_FILES
|
||||
llviewerfoldertype.cpp
|
||||
llviewergenericmessage.cpp
|
||||
llviewergesture.cpp
|
||||
#llviewerimage.cpp
|
||||
#llviewerimagelist.cpp
|
||||
llviewerinventory.cpp
|
||||
llviewerjoint.cpp
|
||||
llviewerjointattachment.cpp
|
||||
@@ -978,8 +976,6 @@ set(viewer_HEADER_FILES
|
||||
llviewerfoldertype.h
|
||||
llviewergenericmessage.h
|
||||
llviewergesture.h
|
||||
#llviewerimage.h
|
||||
#llviewerimagelist.h
|
||||
llviewerinventory.h
|
||||
llviewerjoint.h
|
||||
llviewerjointattachment.h
|
||||
@@ -1374,23 +1370,28 @@ if (FMOD OR FMODEX)
|
||||
endif (FMOD)
|
||||
|
||||
if (DARWIN)
|
||||
set(fmodwrapper_SOURCE_FILES fmodwrapper.cpp)
|
||||
add_library(fmodwrapper SHARED ${fmodwrapper_SOURCE_FILES})
|
||||
if (FMODEX)
|
||||
set(fmodwrapper_needed_LIBRARIES ${FMODEX_LIBRARY} ${CARBON_LIBRARY})
|
||||
endif (FMODEX)
|
||||
if (FMOD)
|
||||
set(fmodwrapper_needed_LIBRARIES ${FMOD_LIBRARY} ${CARBON_LIBRARY})
|
||||
endif (FMOD)
|
||||
set_target_properties(
|
||||
fmodwrapper
|
||||
PROPERTIES
|
||||
BUILD_WITH_INSTALL_RPATH 1
|
||||
INSTALL_NAME_DIR "@executable_path/../Resources"
|
||||
LINK_FLAGS "-unexported_symbols_list ${CMAKE_CURRENT_SOURCE_DIR}/fmod_hidden_symbols.exp"
|
||||
)
|
||||
set(FMODWRAPPER_LIBRARY fmodwrapper)
|
||||
target_link_libraries(fmodwrapper ${fmodwrapper_needed_LIBRARIES})
|
||||
if(FMOD)
|
||||
set(fmodwrapper_SOURCE_FILES fmodwrapper.cpp)
|
||||
add_library(fmodwrapper SHARED ${fmodwrapper_SOURCE_FILES})
|
||||
if (FMODEX)
|
||||
set(fmodwrapper_needed_LIBRARIES ${FMODEX_LIBRARY} ${CARBON_LIBRARY})
|
||||
endif (FMODEX)
|
||||
if (FMOD)
|
||||
set(fmodwrapper_needed_LIBRARIES ${FMOD_LIBRARY} ${CARBON_LIBRARY})
|
||||
endif (FMOD)
|
||||
set_target_properties(
|
||||
fmodwrapper
|
||||
PROPERTIES
|
||||
BUILD_WITH_INSTALL_RPATH 1
|
||||
INSTALL_NAME_DIR "@executable_path/../Resources"
|
||||
LINK_FLAGS "-unexported_symbols_list ${CMAKE_CURRENT_SOURCE_DIR}/fmod_hidden_symbols.exp"
|
||||
)
|
||||
set(FMODWRAPPER_LIBRARY fmodwrapper)
|
||||
target_link_libraries(fmodwrapper ${fmodwrapper_needed_LIBRARIES})
|
||||
endif(FMOD)
|
||||
if(FMODEX)
|
||||
set(FMODWRAPPER_LIBRARY ${FMODEX_LIBRARY})
|
||||
endif(FMODEX)
|
||||
else (DARWIN)
|
||||
# fmodwrapper unnecessary on linux or windows, for fmod and fmodex
|
||||
if (FMODEX)
|
||||
@@ -1800,7 +1801,7 @@ endif (WINDOWS)
|
||||
if (DARWIN)
|
||||
# Don't do this here -- it's taken care of by viewer_manifest.py
|
||||
# add_custom_command(TARGET ${VIEWER_BINARY_NAME} POST_BUILD
|
||||
# COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libllqtwebkit.dylib ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/llplugin/
|
||||
# DEPENDS ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib_release/libllqtwebkit.dylib
|
||||
# COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib/release/libllqtwebkit.dylib ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/llplugin/
|
||||
# DEPENDS ${CMAKE_SOURCE_DIR}/../libraries/universal-darwin/lib/release/libllqtwebkit.dylib
|
||||
# )
|
||||
endif (DARWIN)
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
|
||||
CFBundleName = "Singularity";
|
||||
|
||||
CFBundleShortVersionString = "Singularity Viewer 1.5.0.0";
|
||||
CFBundleGetInfoString = "Singularity Viewer 1.5.0.0, Copyright 2010 Siana Gearz";
|
||||
CFBundleShortVersionString = "Singularity Viewer 1.7.0.0";
|
||||
CFBundleGetInfoString = "Singularity Viewer 1.7.0.0, Copyright 2012 Siana Gearz";
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>singularity.icns</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.secondlife.indra.viewer</string>
|
||||
<string>org.singularityviewer.singularity</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
|
||||
@@ -786,6 +786,18 @@
|
||||
<real>0.7843137254902</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
</map>
|
||||
<key>5886ec80-cf56-11e1-9b23-0800200c9a66</key>
|
||||
<map>
|
||||
<key>name</key>
|
||||
<string>Voodoo</string>
|
||||
<key>color</key>
|
||||
<array>
|
||||
<real>0.70588235294118</real>
|
||||
<real>0.7843137254902</real>
|
||||
<real>0.7843137254902</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
</map>
|
||||
<key>734bae36-a197-b087-ee2d-a098d58fed55</key>
|
||||
<map>
|
||||
|
||||
@@ -214,6 +214,8 @@
|
||||
<string>F32</string>
|
||||
<key>Value</key>
|
||||
<real>0.5</real>
|
||||
<key>IsCOA</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>BuildPrefs_Ysize</key>
|
||||
<map>
|
||||
@@ -225,6 +227,8 @@
|
||||
<string>F32</string>
|
||||
<key>Value</key>
|
||||
<real>0.5</real>
|
||||
<key>IsCOA</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>BuildPrefs_Zsize</key>
|
||||
<map>
|
||||
@@ -236,6 +240,8 @@
|
||||
<string>F32</string>
|
||||
<key>Value</key>
|
||||
<real>0.5</real>
|
||||
<key>IsCOA</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>EmeraldBuildPrefs_Phantom</key>
|
||||
<map>
|
||||
@@ -247,6 +253,8 @@
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
<key>IsCOA</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>EmeraldBuildPrefs_Temporary</key>
|
||||
<map>
|
||||
@@ -258,6 +266,8 @@
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
<key>IsCOA</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>EmeraldBuildPrefs_Physical</key>
|
||||
<map>
|
||||
@@ -269,6 +279,8 @@
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
<key>IsCOA</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>EmeraldBuildPrefs_EmbedItem</key>
|
||||
<map>
|
||||
@@ -280,6 +292,8 @@
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
<key>IsCOA</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>BuildPrefs_Material</key>
|
||||
<map>
|
||||
@@ -291,6 +305,8 @@
|
||||
<string>String</string>
|
||||
<key>Value</key>
|
||||
<string>Wood</string>
|
||||
<key>IsCOA</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>EmeraldBuildPrefs_Color</key>
|
||||
<map>
|
||||
@@ -307,6 +323,8 @@
|
||||
<real>1.0</real>
|
||||
<real>1.0</real>
|
||||
</array>
|
||||
<key>IsCOA</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>EmeraldBuildPrefs_Texture</key>
|
||||
<map>
|
||||
@@ -318,6 +336,8 @@
|
||||
<string>String</string>
|
||||
<key>Value</key>
|
||||
<string>89556747-24cb-43ed-920b-47caed15465f</string>
|
||||
<key>IsCOA</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>EmeraldBuildPrefs_Alpha</key>
|
||||
<map>
|
||||
@@ -329,6 +349,8 @@
|
||||
<string>F32</string>
|
||||
<key>Value</key>
|
||||
<real>0.0</real>
|
||||
<key>IsCOA</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>EmeraldBuildPrefs_Glow</key>
|
||||
<map>
|
||||
@@ -340,6 +362,8 @@
|
||||
<string>F32</string>
|
||||
<key>Value</key>
|
||||
<real>0.0</real>
|
||||
<key>IsCOA</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>EmeraldBuildPrefs_FullBright</key>
|
||||
<map>
|
||||
@@ -351,6 +375,8 @@
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
<key>IsCOA</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>EmeraldBuildPrefs_Shiny</key>
|
||||
<map>
|
||||
@@ -362,6 +388,21 @@
|
||||
<string>String</string>
|
||||
<key>Value</key>
|
||||
<string>None</string>
|
||||
<key>IsCOA</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>LiruEnableBuildPrefs</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>When false, disables all defaults set in the building preferences panel, without resetting them.</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<string>1</string>
|
||||
<key>IsCOA</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
</map>
|
||||
</llsd>
|
||||
|
||||
@@ -40,6 +40,28 @@
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
<key>SHFMODExStreamBufferSize</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Sets the streaming buffer size (in milliseconds)</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>U32</string>
|
||||
<key>Value</key>
|
||||
<integer>7000</integer>
|
||||
</map>
|
||||
<key>SHFMODExDecodeBufferSize</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Sets the streaming decode buffer size (in milliseconds)</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>U32</string>
|
||||
<key>Value</key>
|
||||
<integer>1000</integer>
|
||||
</map>
|
||||
<key>SHAllowScriptCommands</key>
|
||||
<map>
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
<llsd>
|
||||
<array>
|
||||
<array>
|
||||
<real>0.24652767181396484</real>
|
||||
<string>[Tarnix] Ultrabright Night</string>
|
||||
</array>
|
||||
<array>
|
||||
<real>0.24999989569187164</real>
|
||||
<string>[Tarnix] Ultrabright Morning</string>
|
||||
</array>
|
||||
<array>
|
||||
<real>0.49652755260467529</real>
|
||||
<string>[Tarnix] Ultrabright Day</string>
|
||||
</array>
|
||||
<array>
|
||||
<real>0.90277743339538574</real>
|
||||
<string>[Tarnix] Ultrabright Night</string>
|
||||
</array>
|
||||
</array>
|
||||
</llsd>
|
||||
@@ -0,0 +1,36 @@
|
||||
<llsd>
|
||||
<array>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<string>Realistic Night</string>
|
||||
</array>
|
||||
<array>
|
||||
<real>0.12499994784593582</real>
|
||||
<string>Realistic 3AM</string>
|
||||
</array>
|
||||
<array>
|
||||
<real>0.24652767181396484</real>
|
||||
<string>Realistic 6AM</string>
|
||||
</array>
|
||||
<array>
|
||||
<real>0.37499985098838806</real>
|
||||
<string>A-9AM</string>
|
||||
</array>
|
||||
<array>
|
||||
<real>0.49999979138374329</real>
|
||||
<string>Realistic</string>
|
||||
</array>
|
||||
<array>
|
||||
<real>0.62499970197677612</real>
|
||||
<string>A-3PM</string>
|
||||
</array>
|
||||
<array>
|
||||
<real>0.74999970197677612</real>
|
||||
<string>Realistic 6PM</string>
|
||||
</array>
|
||||
<array>
|
||||
<real>0.87499958276748657</real>
|
||||
<string>Realistic 9PM</string>
|
||||
</array>
|
||||
</array>
|
||||
</llsd>
|
||||
@@ -0,0 +1,141 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0.0462114512920379638671875</real>
|
||||
<real>0.05376493558287620544433594</real>
|
||||
<real>0.0709760487079620361328125</real>
|
||||
<real>0.02365868352353572845458984</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
<real>0.1467447141720501502248908</real>
|
||||
<real>0.4041820112504588280444295</real>
|
||||
<real>0.8083723277382617311559443</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0.2301578534514239215980069</real>
|
||||
<real>0.3007703710769140670322486</real>
|
||||
<real>0.3251373821004301944981307</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.2784517256901799520107943</real>
|
||||
<real>0.2784517256901799520107943</real>
|
||||
<real>0.2784517256901799520107943</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>1.6884100437164306640625</real>
|
||||
<real>0.526096999645233154296875</real>
|
||||
<real>0.9492304265646138716761016</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
<array>
|
||||
<real>1.6884100437164306640625</real>
|
||||
<real>0.526096999645233154296875</real>
|
||||
<real>0.125</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.3682807419706036755613354</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>10.69985902430791213646444</real>
|
||||
<real>10.50173369741952456024592</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0.269999980926513671875</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>0.0004900000058114528656005859</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>12.90000057220458984375</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>east_angle</key>
|
||||
<real>2.45044231414794921875</real>
|
||||
<key>enable_cloud_scroll</key>
|
||||
<array>
|
||||
<boolean>1</boolean>
|
||||
<boolean>1</boolean>
|
||||
</array>
|
||||
<key>gamma</key>
|
||||
<array>
|
||||
<real>0.87999999523162841796875</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>glow</key>
|
||||
<array>
|
||||
<real>0.799999237060546875</real>
|
||||
<real>0.001000000047497451305389404</real>
|
||||
<real>-1.19999992847442626953125</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>3.5</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0.199999988079071044921875</real>
|
||||
<real>0.1991560012102127075195312</real>
|
||||
<real>0.1991560012102127075195312</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>-0.529998958110809326171875</real>
|
||||
<real>0.555569469928741455078125</real>
|
||||
<real>-0.640658795833587646484375</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>1333</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>preset_num</key>
|
||||
<integer>22</integer>
|
||||
<key>star_brightness</key>
|
||||
<real>0.589999973773956298828125</real>
|
||||
<key>sun_angle</key>
|
||||
<real>0.5890476703643798828125</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>1.397439671540726457976689</real>
|
||||
<real>1.479949096350015480538787</real>
|
||||
<real>2.570202271922596537478967</real>
|
||||
<real>0.9015665961795940042122766</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
@@ -0,0 +1,141 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0.01848458126187324523925781</real>
|
||||
<real>0.02150597609579563140869141</real>
|
||||
<real>0.02839041873812675476074219</real>
|
||||
<real>0.009463473223149776458740234</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
<real>0.1467447141720501502248908</real>
|
||||
<real>0.4041820112504588280444295</real>
|
||||
<real>0.8083723277382617311559443</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0.2301578534514239215980069</real>
|
||||
<real>0.3007703710769140670322486</real>
|
||||
<real>0.3251373821004301944981307</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.2784517256901799520107943</real>
|
||||
<real>0.2784517256901799520107943</real>
|
||||
<real>0.2784517256901799520107943</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>1.6884100437164306640625</real>
|
||||
<real>0.526096999645233154296875</real>
|
||||
<real>0.9492304265646138716761016</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
<array>
|
||||
<real>1.6884100437164306640625</real>
|
||||
<real>0.526096999645233154296875</real>
|
||||
<real>0.125</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.3682807419706036755613354</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>10.69985902430791213646444</real>
|
||||
<real>10.50173369741952456024592</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0.269999980926513671875</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>0.0004900000058114528656005859</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>12.90000057220458984375</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>east_angle</key>
|
||||
<real>2.19911479949951171875</real>
|
||||
<key>enable_cloud_scroll</key>
|
||||
<array>
|
||||
<boolean>1</boolean>
|
||||
<boolean>1</boolean>
|
||||
</array>
|
||||
<key>gamma</key>
|
||||
<array>
|
||||
<real>1.09000003337860107421875</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>glow</key>
|
||||
<array>
|
||||
<real>4.867557667375535856990609</real>
|
||||
<real>0.001000000047497451305389404</real>
|
||||
<real>-0.4737372158712260805657479</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>3.5</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0.199999988079071044921875</real>
|
||||
<real>0.1991560012102127075195312</real>
|
||||
<real>0.1991560012102127075195312</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>-0.6726734638214111328125</real>
|
||||
<real>0.555569469928741455078125</real>
|
||||
<real>-0.4887258112430572509765625</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>1333</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>preset_num</key>
|
||||
<integer>22</integer>
|
||||
<key>star_brightness</key>
|
||||
<real>0.589999973773956298828125</real>
|
||||
<key>sun_angle</key>
|
||||
<real>0.5890476703643798828125</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>1.397439671540726457976689</real>
|
||||
<real>1.479949096350015480538787</real>
|
||||
<real>2.570202271922596537478967</real>
|
||||
<real>0.9015665961795940042122766</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
@@ -0,0 +1,141 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0.22705078125</real>
|
||||
<real>0.0897216796875</real>
|
||||
<real>0.00732421875</real>
|
||||
<real>0.07568359375</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
<real>0.171875</real>
|
||||
<real>0.171875</real>
|
||||
<real>0.171875</real>
|
||||
<real>0.0859375</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0.31999999284744263</real>
|
||||
<real>0.31999999284744263</real>
|
||||
<real>0.31999999284744263</real>
|
||||
<real>0.15999999642372131</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.50999999046325684</real>
|
||||
<real>0.50999999046325684</real>
|
||||
<real>0.50999999046325684</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>0.5</real>
|
||||
<real>0.5</real>
|
||||
<real>1</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.079999998211860657</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>10.49940013885498</real>
|
||||
<real>10.01099967956543</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0.25999999046325684</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>0.00060999998822808266</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>46.900001525878906</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>east_angle</key>
|
||||
<real>5.1522121429443359</real>
|
||||
<key>enable_cloud_scroll</key>
|
||||
<array>
|
||||
<boolean>1</boolean>
|
||||
<boolean>1</boolean>
|
||||
</array>
|
||||
<key>gamma</key>
|
||||
<array>
|
||||
<real>0.26999998092651367</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>glow</key>
|
||||
<array>
|
||||
<real>12.799999237060547</real>
|
||||
<real>0.0010000000474974513</real>
|
||||
<real>-0.99999994039535522</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>1.8899999856948853</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0.23999999463558197</real>
|
||||
<real>0.19915600121021271</real>
|
||||
<real>0.19915600121021271</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>-0.86294835805892944</real>
|
||||
<real>0.30070748925209045</real>
|
||||
<real>-0.40607285499572754</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>427</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>preset_num</key>
|
||||
<integer>21</integer>
|
||||
<key>star_brightness</key>
|
||||
<real>0.81000000238418579</real>
|
||||
<key>sun_angle</key>
|
||||
<real>2.836158275604248</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>1.08233642578125</real>
|
||||
<real>1.07391357421875</real>
|
||||
<real>1.07391357421875</real>
|
||||
<real>0.36077880859375</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
@@ -0,0 +1,141 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0.50390625</real>
|
||||
<real>0.50390625</real>
|
||||
<real>0.50390625</real>
|
||||
<real>0.16796875</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
<real>0.97999995946884155</real>
|
||||
<real>0.97999995946884155</real>
|
||||
<real>0.97999995946884155</real>
|
||||
<real>0.48999997973442078</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0.47999998927116394</real>
|
||||
<real>0.53999996185302734</real>
|
||||
<real>0.45999997854232788</real>
|
||||
<real>0.53999996185302734</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.50999999046325684</real>
|
||||
<real>0.50999999046325684</real>
|
||||
<real>0.50999999046325684</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>0.5</real>
|
||||
<real>0.5</real>
|
||||
<real>1</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.079999998211860657</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>10.49940013885498</real>
|
||||
<real>10.01099967956543</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0.25999999046325684</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>0.00013000000035390258</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>24.30000114440918</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>east_angle</key>
|
||||
<real>3.958406925201416</real>
|
||||
<key>enable_cloud_scroll</key>
|
||||
<array>
|
||||
<boolean>1</boolean>
|
||||
<boolean>1</boolean>
|
||||
</array>
|
||||
<key>gamma</key>
|
||||
<array>
|
||||
<real>1.6899999380111694</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>glow</key>
|
||||
<array>
|
||||
<real>15.59999942779541</real>
|
||||
<real>0.0010000000474974513</real>
|
||||
<real>-0.59999996423721313</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>1.2699999809265137</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0.26999998092651367</real>
|
||||
<real>0.19915600121021271</real>
|
||||
<real>0.19915600121021271</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>-0.29358875751495361</real>
|
||||
<real>0.91531205177307129</real>
|
||||
<real>0.27569809556007385</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>483</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>preset_num</key>
|
||||
<integer>21</integer>
|
||||
<key>star_brightness</key>
|
||||
<real>0</real>
|
||||
<key>sun_angle</key>
|
||||
<real>1.9853105545043945</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>1.3799998760223389</real>
|
||||
<real>1.3799998760223389</real>
|
||||
<real>1.3799998760223389</real>
|
||||
<real>0.45999997854232788</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
@@ -0,0 +1,141 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0.0099999997764825821</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0.0099999997764825821</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
<real>0.68000000715255737</real>
|
||||
<real>0.49999505281448364</real>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0.070000000298023224</real>
|
||||
<real>0.85394656658172607</real>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.53962135314941406</real>
|
||||
<real>0.53962135314941406</real>
|
||||
<real>0.53962135314941406</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>0.5</real>
|
||||
<real>0.5</real>
|
||||
<real>0.69569224119186401</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.10999999195337296</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>10.49940013885498</real>
|
||||
<real>10.01099967956543</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0.3765256404876709</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>0.0004099999787285924</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>12.800000190734863</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>east_angle</key>
|
||||
<real>2.1991147994995117</real>
|
||||
<key>enable_cloud_scroll</key>
|
||||
<array>
|
||||
<boolean>1</boolean>
|
||||
<boolean>1</boolean>
|
||||
</array>
|
||||
<key>gamma</key>
|
||||
<array>
|
||||
<real>1.0199999809265137</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>glow</key>
|
||||
<array>
|
||||
<real>5.3999996185302734</real>
|
||||
<real>0.0010000000474974513</real>
|
||||
<real>-0.39999997615814209</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>2.9500000476837158</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0.45999997854232788</real>
|
||||
<real>0.19915600121021271</real>
|
||||
<real>0.19915600121021271</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>-0.68231838941574097</real>
|
||||
<real>0.53729885816574097</real>
|
||||
<real>-0.49573326110839844</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>1352.0999755859375</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>preset_num</key>
|
||||
<integer>10</integer>
|
||||
<key>star_brightness</key>
|
||||
<real>0</real>
|
||||
<key>sun_angle</key>
|
||||
<real>0.56723111867904663</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>0.77999997138977051</real>
|
||||
<real>1.2300000190734863</real>
|
||||
<real>1.2300000190734863</real>
|
||||
<real>0.40999999642372131</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.05468752607703208923339844</real>
|
||||
<real>0.109375</real>
|
||||
<real>0.0546875</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>2</real>
|
||||
<real>2</real>
|
||||
<real>2</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.5396213531494140625</real>
|
||||
<real>0.5396213531494140625</real>
|
||||
<real>0.5396213531494140625</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>0.5</real>
|
||||
<real>0.5</real>
|
||||
<real>0.695692241191864013671875</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.1099999919533729553222656</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>10.49940013885498046875</real>
|
||||
<real>10.0109996795654296875</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0.3765256404876708984375</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>0.0004099999787285923957824707</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>12.80000019073486328125</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>east_angle</key>
|
||||
<real>5.026547908782958984375</real>
|
||||
<key>enable_cloud_scroll</key>
|
||||
<array>
|
||||
<boolean>1</boolean>
|
||||
<boolean>1</boolean>
|
||||
</array>
|
||||
<key>gamma</key>
|
||||
<array>
|
||||
<real>0.819999992847442626953125</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>glow</key>
|
||||
<array>
|
||||
<real>17.799999237060546875</real>
|
||||
<real>0.001000000047497451305389404</real>
|
||||
<real>-0.4999999701976776123046875</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>2.9500000476837158203125</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0.459999978542327880859375</real>
|
||||
<real>0.1991560012102127075195312</real>
|
||||
<real>0.1991560012102127075195312</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>0.79077517986297607421875</real>
|
||||
<real>0.555569469928741455078125</real>
|
||||
<real>0.2569381296634674072265625</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>1352.0999755859375</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>preset_num</key>
|
||||
<integer>10</integer>
|
||||
<key>star_brightness</key>
|
||||
<real>0</real>
|
||||
<key>sun_angle</key>
|
||||
<real>0.5890476703643798828125</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>2.8857421875</real>
|
||||
<real>1.8592071533203125</real>
|
||||
<real>0.8642578125</real>
|
||||
<real>0.9619140625</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
@@ -0,0 +1,141 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0.21194984018802643</real>
|
||||
<real>0.25700280070304871</real>
|
||||
<real>0.25999999046325684</real>
|
||||
<real>0.25999999046325684</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
<real>0.10031381994485855</real>
|
||||
<real>0.2849995493888855</real>
|
||||
<real>0.56999999284744263</real>
|
||||
<real>0.56999999284744263</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0.15806557238101959</real>
|
||||
<real>0.31211116909980774</real>
|
||||
<real>0.52999997138977051</real>
|
||||
<real>0.52999997138977051</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.62000000476837158</real>
|
||||
<real>0.72737622261047363</real>
|
||||
<real>0.73626559972763062</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>0.89999997615814209</real>
|
||||
<real>0.93999999761581421</real>
|
||||
<real>0.74000000953674316</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
<array>
|
||||
<real>0.11999999731779099</real>
|
||||
<real>0.20999999344348907</real>
|
||||
<real>0.029999999329447746</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.25999999046325684</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>9.993240904292179</real>
|
||||
<real>10.010000228881836</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0.29999998211860657</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>0.00013000000035390258</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>10.100000381469727</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>east_angle</key>
|
||||
<real>3.8955750465393066</real>
|
||||
<key>enable_cloud_scroll</key>
|
||||
<array>
|
||||
<boolean>1</boolean>
|
||||
<boolean>1</boolean>
|
||||
</array>
|
||||
<key>gamma</key>
|
||||
<array>
|
||||
<real>1.4699999094009399</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>glow</key>
|
||||
<array>
|
||||
<real>11.200000762939453</real>
|
||||
<real>0.0010000000474974513</real>
|
||||
<real>-0.64999997615814209</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>0.35999998450279236</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0.11999999731779099</real>
|
||||
<real>0.19915600121021271</real>
|
||||
<real>0.19915600121021271</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>0.66304093599319458</real>
|
||||
<real>0.24868990480899811</real>
|
||||
<real>-0.70606660842895508</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>789</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>preset_num</key>
|
||||
<integer>24</integer>
|
||||
<key>star_brightness</key>
|
||||
<real>0.18999999761581421</real>
|
||||
<key>sun_angle</key>
|
||||
<real>0.25132742524147034</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>2.25</real>
|
||||
<real>1.2599999904632568</real>
|
||||
<real>0.59999996423721313</real>
|
||||
<real>2.25</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
@@ -0,0 +1,141 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0.36328125</real>
|
||||
<real>0.321533203125</real>
|
||||
<real>0.22265625</real>
|
||||
<real>0.12109375</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
<real>0.97999995946884155</real>
|
||||
<real>0.97999995946884155</real>
|
||||
<real>0.97999995946884155</real>
|
||||
<real>0.48999997973442078</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0.31999999284744263</real>
|
||||
<real>0.31999999284744263</real>
|
||||
<real>0.31999999284744263</real>
|
||||
<real>0.15999999642372131</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.50999999046325684</real>
|
||||
<real>0.50999999046325684</real>
|
||||
<real>0.50999999046325684</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>0.5</real>
|
||||
<real>0.5</real>
|
||||
<real>1</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.079999998211860657</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>10.49940013885498</real>
|
||||
<real>10.01099967956543</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0.25999999046325684</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>0.00031000000308267772</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>6.8000001907348633</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>east_angle</key>
|
||||
<real>4.2725663185119629</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.0010000000474974513</real>
|
||||
<real>-0.33000001311302185</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>1.8899999856948853</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0.23999999463558197</real>
|
||||
<real>0.19915600121021271</real>
|
||||
<real>0.19915600121021271</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>-0.46939900517463684</real>
|
||||
<real>0.85491263866424561</real>
|
||||
<real>0.22088223695755005</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>752</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>preset_num</key>
|
||||
<integer>21</integer>
|
||||
<key>star_brightness</key>
|
||||
<real>0</real>
|
||||
<key>sun_angle</key>
|
||||
<real>2.1162102222442627</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>2.4300000667572021</real>
|
||||
<real>2.0399999618530273</real>
|
||||
<real>1.8600000143051147</real>
|
||||
<real>2.4300000667572021</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
@@ -0,0 +1,141 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0.5859375</real>
|
||||
<real>0.5859375</real>
|
||||
<real>0.5859375</real>
|
||||
<real>0.1953125</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
<real>0.2447581589221954345703125</real>
|
||||
<real>0.4487232863903045654296875</real>
|
||||
<real>0.7599999904632568359375</real>
|
||||
<real>0.37999999523162841796875</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0.6136362552642822265625</real>
|
||||
<real>0.6136362552642822265625</real>
|
||||
<real>0.8549020290374755859375</real>
|
||||
<real>0.42745101451873779296875</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.4099999964237213134765625</real>
|
||||
<real>0.4099999964237213134765625</real>
|
||||
<real>0.4099999964237213134765625</real>
|
||||
<real>0.4099999964237213134765625</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>1.6884100437164306640625</real>
|
||||
<real>0.526096999645233154296875</real>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
<array>
|
||||
<real>1.6884100437164306640625</real>
|
||||
<real>0.526096999645233154296875</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.19999980926513671875</real>
|
||||
<real>10.0109996795654296875</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0.269999980926513671875</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>0.4000000059604644775390625</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>east_angle</key>
|
||||
<real>3.1415927410125732421875</real>
|
||||
<key>enable_cloud_scroll</key>
|
||||
<array>
|
||||
<boolean>1</boolean>
|
||||
<boolean>1</boolean>
|
||||
</array>
|
||||
<key>gamma</key>
|
||||
<array>
|
||||
<real>0.769999980926513671875</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>glow</key>
|
||||
<array>
|
||||
<real>5</real>
|
||||
<real>0.001000000047497451305389404</real>
|
||||
<real>-1.10000002384185791015625</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>0.88999998569488525390625</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0.1599999964237213134765625</real>
|
||||
<real>0.1991560012102127075195312</real>
|
||||
<real>0.1991560012102127075195312</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>1.003947020460603523073218e-13</real>
|
||||
<real>1</real>
|
||||
<real>-1.148381556959066074341536e-06</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>1493</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.57079517841339111328125</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>2.1299998760223388671875</real>
|
||||
<real>1.8660809993743896484375</real>
|
||||
<real>1.490999698638916015625</real>
|
||||
<real>0.709999978542327880859375</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.24475815892219543</real>
|
||||
<real>0.44872328639030457</real>
|
||||
<real>0.75999999046325684</real>
|
||||
<real>0.37999999523162842</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0.49548381567001343</real>
|
||||
<real>0.49548381567001343</real>
|
||||
<real>0.63999998569488525</real>
|
||||
<real>0.31999999284744263</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.40999999642372131</real>
|
||||
<real>0.40999999642372131</real>
|
||||
<real>0.40999999642372131</real>
|
||||
<real>0.40999999642372131</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>1.6884100437164307</real>
|
||||
<real>0.52609699964523315</real>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
<array>
|
||||
<real>1</real>
|
||||
<real>0.96999996900558472</real>
|
||||
<real>0.08999999612569809</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.40999996662139893</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>10.359999656677246</real>
|
||||
<real>10.340000152587891</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0.2800000011920929</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>9.9999997473787516e-006</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.1000000238418579</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>glow</key>
|
||||
<array>
|
||||
<real>5</real>
|
||||
<real>0.0010000000474974513</real>
|
||||
<real>-1.1000000238418579</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>3.5</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0.15999999642372131</real>
|
||||
<real>0.19915600121021271</real>
|
||||
<real>0.19915600121021271</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>667</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>preset_num</key>
|
||||
<integer>22</integer>
|
||||
<key>star_brightness</key>
|
||||
<real>1.1299999952316284</real>
|
||||
<key>sun_angle</key>
|
||||
<real>6.2395515441894531</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>1.6986236572265625</real>
|
||||
<real>1.1374046802520752</real>
|
||||
<real>0.4810638427734375</real>
|
||||
<real>0.5662078857421875</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.3486154782113272121435443</real>
|
||||
<real>0.449369331229434954000368</real>
|
||||
<real>0.603132514577153000523424</real>
|
||||
<real>0.6937349534321981536777457</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0.3662028399132433720275515</real>
|
||||
<real>0.3662028399731497851909978</real>
|
||||
<real>0.4375903419326376275755308</real>
|
||||
<real>0.6640963995887574355947436</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.3169694886788358978435554</real>
|
||||
<real>0.3169694886788358978435554</real>
|
||||
<real>0.3169694886788358978435554</real>
|
||||
<real>0.7085542303539185127192468</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>1.6884100437164306640625</real>
|
||||
<real>0.526096999645233154296875</real>
|
||||
<real>0.9392771101574294290159628</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
<array>
|
||||
<real>1.6884100437164306640625</real>
|
||||
<real>0.526096999645233154296875</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.35150370716937828774462</real>
|
||||
<real>10.01099989455784466940713</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0.269999980926513671875</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>0.0002012048324333540389764752</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>0.1975903555777060727205452</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.00100000003430226265706271</real>
|
||||
<real>-0.4799999904774563952436495</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>2.463735011225950621849279</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0.07903613876588544417955973</real>
|
||||
<real>0.199156002811505972172057</real>
|
||||
<real>0.199156002811505972172057</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0.59130990505218505859375</real>
|
||||
<real>-0.8064444065093994140625</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>1196.065065097033084384748</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>preset_num</key>
|
||||
<integer>22</integer>
|
||||
<key>star_brightness</key>
|
||||
<real>2</real>
|
||||
<key>sun_angle</key>
|
||||
<real>5.6505031585693359375</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>0.08699999749660491943359375</real>
|
||||
<real>0.118706881999969482421875</real>
|
||||
<real>0.2129999846220016479492188</real>
|
||||
<real>0.07099999487400054931640625</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
141
indra/newview/app_settings/windlight/skies/Realistic%203AM.xml
Normal file
@@ -0,0 +1,141 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0.22259476780891418</real>
|
||||
<real>0.26450252532958984</real>
|
||||
<real>0.35999998450279236</real>
|
||||
<real>0.11999999731779099</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.23999616268583132</real>
|
||||
<real>0.239999227803052</real>
|
||||
<real>0.24000028550619668</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.22615400241566114</real>
|
||||
<real>0.22615400241566114</real>
|
||||
<real>0.22615400241566114</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>1.6884100437164307</real>
|
||||
<real>0.52609699964523315</real>
|
||||
<real>0.88000000953681223</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
<array>
|
||||
<real>1.6884100437164307</real>
|
||||
<real>0.52609699964523315</real>
|
||||
<real>0.125</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.41999998688697815</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>10.499400354105791</real>
|
||||
<real>10.011000104419489</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.0003000046529240592</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>7</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.0000000000023022</real>
|
||||
<real>0.0010000000214220922</real>
|
||||
<real>-0.47999999165507345</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>4.6348559691012062e-006</real>
|
||||
<real>0.19915600437461423</real>
|
||||
<real>0.19915600437461423</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>-0</real>
|
||||
<real>1</real>
|
||||
<real>2.3722609512333293e-006</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>906.19008370909478</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>preset_num</key>
|
||||
<integer>22</integer>
|
||||
<key>star_brightness</key>
|
||||
<real>1.9999420642852783</real>
|
||||
<key>sun_angle</key>
|
||||
<real>4.7123866081237793</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>0.11344550549983978</real>
|
||||
<real>0.11571422964334488</real>
|
||||
<real>0.21467949450016022</real>
|
||||
<real>0.071559831500053406</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
141
indra/newview/app_settings/windlight/skies/Realistic%206AM.xml
Normal file
@@ -0,0 +1,141 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0.80999994277954102</real>
|
||||
<real>0.46289783716201782</real>
|
||||
<real>0.62999993562698364</real>
|
||||
<real>0.26999998092651367</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
<real>0.30247950553894043</real>
|
||||
<real>0.83312696218490601</real>
|
||||
<real>1.6662704944610596</real>
|
||||
<real>0.83313524723052979</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0.20673196017742157</real>
|
||||
<real>0.40988314151763916</real>
|
||||
<real>0.47999998927116394</real>
|
||||
<real>0.47999998927116394</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.22616604226328718</real>
|
||||
<real>0.22616604226328718</real>
|
||||
<real>0.22616604226328718</real>
|
||||
<real>0.99997219085526012</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>1.6884100437164307</real>
|
||||
<real>0.52609699964523315</real>
|
||||
<real>0.88000025272481253</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
<array>
|
||||
<real>1.6884100437164307</real>
|
||||
<real>0.52609699964523315</real>
|
||||
<real>0.125</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.41999998688697815</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>10.49940013883861</real>
|
||||
<real>10.010999679576344</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0.26999998092651367</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>0.00056000001495704055</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>0.69999998807907104</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>4.6000003814697266</real>
|
||||
<real>0.0010000000474974513</real>
|
||||
<real>-0.94999998807907104</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>0.66999995708465576</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0.15999999642372131</real>
|
||||
<real>0.19915600121021271</real>
|
||||
<real>0.19915600121021271</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>-0</real>
|
||||
<real>0.094108223915100098</real>
|
||||
<real>0.99556195735931396</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>877</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>0.094247691333293915</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>2.8055419921875</real>
|
||||
<real>2.5958919525146484</real>
|
||||
<real>2.3507080078125</real>
|
||||
<real>0.9351806640625</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
141
indra/newview/app_settings/windlight/skies/Realistic%206PM.xml
Normal file
@@ -0,0 +1,141 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0.58785861730575562</real>
|
||||
<real>0.46682888269424438</real>
|
||||
<real>0.46682891249656677</real>
|
||||
<real>0.1959528774023056</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
<real>0.18964982032775879</real>
|
||||
<real>0.52235734462738037</real>
|
||||
<real>1.0447251796722412</real>
|
||||
<real>0.52236258983612061</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0.11289128661155701</real>
|
||||
<real>0.22382725775241852</real>
|
||||
<real>0.26210871338844299</real>
|
||||
<real>0.1310543566942215</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.22615399956703186</real>
|
||||
<real>0.22615399956703186</real>
|
||||
<real>0.22615399956703186</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>1.6884100437164307</real>
|
||||
<real>0.52609699964523315</real>
|
||||
<real>0.87999999523162842</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
<array>
|
||||
<real>1.6884100437164307</real>
|
||||
<real>0.52609699964523315</real>
|
||||
<real>0.125</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.41999998688697815</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>10.49940013885498</real>
|
||||
<real>10.01099967956543</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0.26999998092651367</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>0.00052999996114522219</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>0.69999998807907104</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>1.8000006675720215</real>
|
||||
<real>0.0010000000474974513</real>
|
||||
<real>-0.29999998211860657</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>2.1150000095367432</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0.17600001394748688</real>
|
||||
<real>0.19915600121021271</real>
|
||||
<real>0.19915600121021271</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0.23768773674964905</real>
|
||||
<real>-0.97134160995483398</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>767</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.9016079902648926</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>1.9921875</real>
|
||||
<real>1.9921875</real>
|
||||
<real>1.9921875</real>
|
||||
<real>0.6640625</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
141
indra/newview/app_settings/windlight/skies/Realistic%209PM.xml
Normal file
@@ -0,0 +1,141 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0.20404692765200849</real>
|
||||
<real>0.24246276689169122</real>
|
||||
<real>0.33000383615406292</real>
|
||||
<real>0.1100123608103587</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
<real>0.070311017334461212</real>
|
||||
<real>0.070312172174453735</real>
|
||||
<real>0.070313982665538788</real>
|
||||
<real>0.035156991332769394</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0.23999616268583132</real>
|
||||
<real>0.239999227803052</real>
|
||||
<real>0.24000028550619668</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.22615400241566114</real>
|
||||
<real>0.22615400241566114</real>
|
||||
<real>0.22615400241566114</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>1.6884100437164307</real>
|
||||
<real>0.52609699964523315</real>
|
||||
<real>0.88000000953681223</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
<array>
|
||||
<real>1.6884100437164307</real>
|
||||
<real>0.52609699964523315</real>
|
||||
<real>0.125</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.41999998688697815</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>10.499400354105791</real>
|
||||
<real>10.011000104419489</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.00023999999393709004</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>4.2000002861022949</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.0000000000023022</real>
|
||||
<real>0.0010000000214220922</real>
|
||||
<real>-0.47999999165507345</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.19915600121021271</real>
|
||||
<real>0.19915600121021271</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>-0</real>
|
||||
<real>0.70710688829421997</real>
|
||||
<real>0.70710664987564087</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>1534</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>preset_num</key>
|
||||
<integer>22</integer>
|
||||
<key>star_brightness</key>
|
||||
<real>1.9999420642852783</real>
|
||||
<key>sun_angle</key>
|
||||
<real>3.9269909858703613</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>0.16206490993499756</real>
|
||||
<real>0.16530600190162659</real>
|
||||
<real>0.30668509006500244</real>
|
||||
<real>0.10222836583852768</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
141
indra/newview/app_settings/windlight/skies/Realistic%20Night.xml
Normal file
@@ -0,0 +1,141 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0.080595135688781738</real>
|
||||
<real>0.095768749713897705</real>
|
||||
<real>0.13034236431121826</real>
|
||||
<real>0.043447453528642654</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.1181640625</real>
|
||||
<real>0.14753724634647369</real>
|
||||
<real>0.2255859375</real>
|
||||
<real>0.11279296875</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.1328125</real>
|
||||
<real>0.1328125</real>
|
||||
<real>0.1328125</real>
|
||||
<real>0.1328125</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>0.5</real>
|
||||
<real>0.5</real>
|
||||
<real>0.88000000953711155</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.41999998688697815</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>10.49940035411295</real>
|
||||
<real>10.011000104431371</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>5.999999848427251e-005</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>75.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</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>glow</key>
|
||||
<array>
|
||||
<real>5</real>
|
||||
<real>0.0010000000474974513</real>
|
||||
<real>-0.44999998807907104</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>0.34999999403953552</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0.19915600121021271</real>
|
||||
<real>0.19915600121021271</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>-0</real>
|
||||
<real>1</real>
|
||||
<real>3.0028815672267228e-005</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>438</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>preset_num</key>
|
||||
<integer>26</integer>
|
||||
<key>star_brightness</key>
|
||||
<real>2</real>
|
||||
<key>sun_angle</key>
|
||||
<real>4.7123589515686035</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>0.092010498046875</real>
|
||||
<real>0.11404039710760117</real>
|
||||
<real>0.142364501953125</real>
|
||||
<real>0.047454833984375</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
141
indra/newview/app_settings/windlight/skies/Realistic.xml
Normal file
@@ -0,0 +1,141 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0.9140625</real>
|
||||
<real>0.9140625</real>
|
||||
<real>0.9140625</real>
|
||||
<real>0.3046875</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
<real>1.3854242563247681</real>
|
||||
<real>1.5503612756729126</real>
|
||||
<real>1.8020757436752319</real>
|
||||
<real>0.90103787183761597</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0.174346923828125</real>
|
||||
<real>0.20045472681522369</real>
|
||||
<real>0.278778076171875</real>
|
||||
<real>0.1393890380859375</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.236663818359375</real>
|
||||
<real>0.26210832595825195</real>
|
||||
<real>0.278961181640625</real>
|
||||
<real>0.278961181640625</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>0.32999998331069946</real>
|
||||
<real>0.52999997138977051</real>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
<array>
|
||||
<real>1.6884100437164307</real>
|
||||
<real>0.48999997973442078</real>
|
||||
<real>0.125</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.47999998927116394</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>10.069999694824219</real>
|
||||
<real>10.01099967956543</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0.25</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>0.00017999998817685992</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>3</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.5999994277954102</real>
|
||||
<real>0.0010000000474974513</real>
|
||||
<real>-0.49999997019767761</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>0.42999997735023499</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0.68000000715255737</real>
|
||||
<real>0.19915600121021271</real>
|
||||
<real>0.19915600121021271</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0.91269159317016602</real>
|
||||
<real>-0.40864911675453186</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>1342</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.9917697906494141</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>1.210693359375</real>
|
||||
<real>1.2674446105957031</real>
|
||||
<real>1.461181640625</real>
|
||||
<real>0.487060546875</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
@@ -0,0 +1,43 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>blurMultiplier</key>
|
||||
<real>0.05800000205636024475097656</real>
|
||||
<key>fresnelOffset</key>
|
||||
<real>0.4299999773502349853515625</real>
|
||||
<key>fresnelScale</key>
|
||||
<real>0.1400000005960464477539062</real>
|
||||
<key>normScale</key>
|
||||
<array>
|
||||
<real>2.2000000476837158203125</real>
|
||||
<real>1.10000002384185791015625</real>
|
||||
<real>0.800000011920928955078125</real>
|
||||
</array>
|
||||
<key>normalMap</key>
|
||||
<uuid>822ded49-9a6c-f61c-cb89-6df54f42cdf4</uuid>
|
||||
<key>scaleAbove</key>
|
||||
<real>0.03999999910593032836914062</real>
|
||||
<key>scaleBelow</key>
|
||||
<real>0.329999983310699462890625</real>
|
||||
<key>underWaterFogMod</key>
|
||||
<real>0</real>
|
||||
<key>waterFogColor</key>
|
||||
<array>
|
||||
<real>0.234375</real>
|
||||
<real>1.00000011920928955078125</real>
|
||||
<real>0.999999940395355224609375</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>waterFogDensity</key>
|
||||
<real>12.9960384368896484375</real>
|
||||
<key>wave1Dir</key>
|
||||
<array>
|
||||
<real>-0.2000000476837158203125</real>
|
||||
<real>-0.2400000095367431640625</real>
|
||||
</array>
|
||||
<key>wave2Dir</key>
|
||||
<array>
|
||||
<real>-0.190000057220458984375</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
43
indra/newview/app_settings/windlight/water/Realistic.xml
Normal file
@@ -0,0 +1,43 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>blurMultiplier</key>
|
||||
<real>0.026000000536441803</real>
|
||||
<key>fresnelOffset</key>
|
||||
<real>0.38999998569488525</real>
|
||||
<key>fresnelScale</key>
|
||||
<real>0.059999998658895493</real>
|
||||
<key>normScale</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>normalMap</key>
|
||||
<uuid>7c88a167-157c-6b31-34ae-e0041360e54e</uuid>
|
||||
<key>scaleAbove</key>
|
||||
<real>0</real>
|
||||
<key>scaleBelow</key>
|
||||
<real>0.17999999225139618</real>
|
||||
<key>underWaterFogMod</key>
|
||||
<real>0.41999998688697815</real>
|
||||
<key>waterFogColor</key>
|
||||
<array>
|
||||
<real>0.0745849609375</real>
|
||||
<real>0.10957146435976028</real>
|
||||
<real>0.1285400390625</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>waterFogDensity</key>
|
||||
<real>19.698312759399414</real>
|
||||
<key>wave1Dir</key>
|
||||
<array>
|
||||
<real>0.26999998092651367</real>
|
||||
<real>-0.16000008583068848</real>
|
||||
</array>
|
||||
<key>wave2Dir</key>
|
||||
<array>
|
||||
<real>0.48999977111816406</real>
|
||||
<real>-0.38000011444091797</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
@@ -42,6 +42,7 @@ RenderObjectBump 1 1
|
||||
RenderLocalLights 1 1
|
||||
RenderReflectionDetail 1 4
|
||||
RenderTerrainDetail 1 1
|
||||
RenderTerrainScale 1 12.0
|
||||
RenderTerrainLODFactor 1 2.0
|
||||
RenderTransparentWater 1 1
|
||||
RenderTreeLODFactor 1 1.0
|
||||
@@ -86,6 +87,7 @@ RenderObjectBump 1 0
|
||||
RenderLocalLights 1 0
|
||||
RenderReflectionDetail 1 0
|
||||
RenderTerrainDetail 1 0
|
||||
RenderTerrainScale 1 12.0
|
||||
RenderTerrainLODFactor 1 1
|
||||
RenderTransparentWater 1 0
|
||||
RenderTreeLODFactor 1 0
|
||||
@@ -117,6 +119,7 @@ RenderObjectBump 1 1
|
||||
RenderLocalLights 1 1
|
||||
RenderReflectionDetail 1 0
|
||||
RenderTerrainDetail 1 1
|
||||
RenderTerrainScale 1 9.0
|
||||
RenderTerrainLODFactor 1 1.0
|
||||
RenderTransparentWater 1 1
|
||||
RenderTreeLODFactor 1 0.5
|
||||
@@ -149,6 +152,7 @@ RenderObjectBump 1 1
|
||||
RenderLocalLights 1 1
|
||||
RenderReflectionDetail 1 2
|
||||
RenderTerrainDetail 1 1
|
||||
RenderTerrainScale 1 7.0
|
||||
RenderTerrainLODFactor 1 2.0
|
||||
RenderTransparentWater 1 1
|
||||
RenderTreeLODFactor 1 0.5
|
||||
@@ -179,6 +183,7 @@ RenderObjectBump 1 1
|
||||
RenderLocalLights 1 1
|
||||
RenderReflectionDetail 1 4
|
||||
RenderTerrainDetail 1 1
|
||||
RenderTerrainScale 1 5.0
|
||||
RenderTerrainLODFactor 1 2.0
|
||||
RenderTransparentWater 1 1
|
||||
RenderTreeLODFactor 1 1.0
|
||||
|
||||
@@ -42,6 +42,7 @@ RenderMaxPartCount 1 8192
|
||||
RenderObjectBump 1 1
|
||||
RenderReflectionDetail 1 4
|
||||
RenderTerrainDetail 1 1
|
||||
RenderTerrainScale 1 12.0
|
||||
RenderTerrainLODFactor 1 2.0
|
||||
RenderTransparentWater 1 1
|
||||
RenderTreeLODFactor 1 1.0
|
||||
@@ -83,6 +84,7 @@ RenderMaxPartCount 1 512
|
||||
RenderObjectBump 1 0
|
||||
RenderReflectionDetail 1 0
|
||||
RenderTerrainDetail 1 0
|
||||
RenderTerrainScale 1 12.0
|
||||
RenderTerrainLODFactor 1 1
|
||||
RenderTransparentWater 1 0
|
||||
RenderTreeLODFactor 1 0
|
||||
@@ -114,6 +116,7 @@ RenderMaxPartCount 1 2048
|
||||
RenderObjectBump 1 1
|
||||
RenderReflectionDetail 1 0
|
||||
RenderTerrainDetail 1 1
|
||||
RenderTerrainScale 1 9.0
|
||||
RenderTerrainLODFactor 1 1.0
|
||||
RenderTransparentWater 1 1
|
||||
RenderTreeLODFactor 1 0.5
|
||||
@@ -145,6 +148,7 @@ RenderMaxPartCount 1 4096
|
||||
RenderObjectBump 1 1
|
||||
RenderReflectionDetail 1 2
|
||||
RenderTerrainDetail 1 1
|
||||
RenderTerrainScale 1 7.0
|
||||
RenderTerrainLODFactor 1 2.0
|
||||
RenderTransparentWater 1 1
|
||||
RenderTreeLODFactor 1 0.5
|
||||
@@ -156,7 +160,7 @@ WLSkyDetail 1 48
|
||||
RenderDeferred 1 0
|
||||
RenderDeferredSSAO 1 0
|
||||
RenderShadowDetail 1 0
|
||||
RenderFastAlpha 1 0
|
||||
RenderFSAASamples 1 0
|
||||
RenderUseFBO 1 0
|
||||
|
||||
|
||||
@@ -177,6 +181,7 @@ RenderMaxPartCount 1 8192
|
||||
RenderObjectBump 1 1
|
||||
RenderReflectionDetail 1 4
|
||||
RenderTerrainDetail 1 1
|
||||
RenderTerrainScale 1 5.0
|
||||
RenderTerrainLODFactor 1 2.0
|
||||
RenderTransparentWater 1 1
|
||||
RenderTreeLODFactor 1 1.0
|
||||
@@ -266,6 +271,7 @@ RenderAvatarVP 0 0
|
||||
RenderObjectBump 0 0
|
||||
RenderMaxPartCount 1 1024
|
||||
RenderTerrainDetail 1 0
|
||||
RenderTerrainScale 1 12.0
|
||||
RenderUseImpostors 0 0
|
||||
RenderVBOEnable 1 0
|
||||
RenderReflectionDetail 0 0
|
||||
|
||||
@@ -42,6 +42,7 @@ RenderMaxPartCount 1 8192
|
||||
RenderObjectBump 1 1
|
||||
RenderReflectionDetail 1 4
|
||||
RenderTerrainDetail 1 1
|
||||
RenderTerrainScale 1 12.0
|
||||
RenderTerrainLODFactor 1 2.0
|
||||
RenderTransparentWater 1 1
|
||||
RenderTreeLODFactor 1 1.0
|
||||
@@ -62,7 +63,7 @@ RenderDeferred 1 1
|
||||
RenderDeferredSSAO 1 1
|
||||
RenderShadowDetail 1 2
|
||||
WatchdogDisabled 1 1
|
||||
RenderUseStreamVBO 1 1
|
||||
ShyotlRenderUseStreamVBO 1 1
|
||||
RenderFSAASamples 1 16
|
||||
RenderMaxTextureIndex 1 16
|
||||
RenderUseFBO 1 0
|
||||
@@ -86,6 +87,7 @@ RenderMaxPartCount 1 512
|
||||
RenderObjectBump 1 0
|
||||
RenderReflectionDetail 1 0
|
||||
RenderTerrainDetail 1 0
|
||||
RenderTerrainScale 1 12.0
|
||||
RenderTerrainLODFactor 1 1
|
||||
RenderTransparentWater 1 0
|
||||
RenderTreeLODFactor 1 0
|
||||
@@ -117,6 +119,7 @@ RenderMaxPartCount 1 2048
|
||||
RenderObjectBump 1 1
|
||||
RenderReflectionDetail 1 0
|
||||
RenderTerrainDetail 1 1
|
||||
RenderTerrainScale 1 9.0
|
||||
RenderTerrainLODFactor 1 1.0
|
||||
RenderTransparentWater 1 1
|
||||
RenderTreeLODFactor 1 0.5
|
||||
@@ -149,6 +152,7 @@ RenderMaxPartCount 1 4096
|
||||
RenderObjectBump 1 1
|
||||
RenderReflectionDetail 1 2
|
||||
RenderTerrainDetail 1 1
|
||||
RenderTerrainScale 1 7.0
|
||||
RenderTerrainLODFactor 1 2.0
|
||||
RenderTransparentWater 1 1
|
||||
RenderTreeLODFactor 1 0.5
|
||||
@@ -181,6 +185,7 @@ RenderMaxPartCount 1 8192
|
||||
RenderObjectBump 1 1
|
||||
RenderReflectionDetail 1 4
|
||||
RenderTerrainDetail 1 1
|
||||
RenderTerrainScale 1 5.0
|
||||
RenderTerrainLODFactor 1 2.0
|
||||
RenderTransparentWater 1 1
|
||||
RenderTreeLODFactor 1 1.0
|
||||
|
||||
@@ -59,8 +59,15 @@
|
||||
## you're building your own viewer, bear in mind that the executable
|
||||
## in the bin directory will be stripped: you should replace it with
|
||||
## an unstripped binary before you run.
|
||||
#export LL_WRAPPER='gdb --args'
|
||||
#export LL_WRAPPER='valgrind --smc-check=all --error-limit=no --log-file=secondlife.vg --leak-check=full --suppressions=/usr/lib/valgrind/glibc-2.5.supp --suppressions=secondlife-i686.supp'
|
||||
if [ -n "$ASCENDED_DEVELOPER" ]; then
|
||||
if [ "$ASCENDED_DEVELOPER" = "1" ]; then
|
||||
export LL_WRAPPER='gdb --args'
|
||||
elif [ "$ASCENDED_DEVELOPER" = "2" ]; then
|
||||
export LL_WRAPPER='valgrind --smc-check=all --error-limit=no --log-file=secondlife.vg --leak-check=full --suppressions=/usr/lib/valgrind/glibc-2.5.supp --suppressions=secondlife-i686.supp'
|
||||
elif [ "$ASCENDED_DEVELOPER" = "3" ]; then
|
||||
export LL_WRAPPER='strace -f -ff -o singularity.strace'
|
||||
fi
|
||||
fi
|
||||
|
||||
## - This allows one to set an arbitrary value for LD_PRELOAD.
|
||||
## It won't work if LL_TCMALLOC is set because that uses it's
|
||||
|
||||
@@ -1184,7 +1184,7 @@ void LLPanelFriends::onClickImport_filepicker_continued(AIFilePicker* filepicker
|
||||
if(!content.has("can_mod"))continue;
|
||||
|
||||
LLUUID agent_id = LLUUID(iter->first);
|
||||
if(merging && importstatellsd.has(agent_id.asString()))continue;//dont need to request what weve already requested from another list import and have not got a reply yet
|
||||
if(merging && importstatellsd.has(agent_id.asString()))continue;//dont need to request what we've already requested from another list import and have not got a reply yet
|
||||
|
||||
std::string agent_name = content["name"];
|
||||
if(!is_agent_friend(agent_id))//dont need to request what we have
|
||||
|
||||
@@ -1708,7 +1708,7 @@ void LLFloaterSnapshot::Impl::updateResolution(LLUICtrl* ctrl, void* data, BOOL
|
||||
S32 original_width = 0 , original_height = 0 ;
|
||||
previewp->getSize(original_width, original_height) ;
|
||||
|
||||
if (width == 0 || height == 0)
|
||||
if (width == 0 || height == 0 || gSavedSettings.getBOOL("RenderUIInSnapshot") || gSavedSettings.getBOOL("RenderHUDInSnapshot"))
|
||||
{
|
||||
// take resolution from current window size
|
||||
previewp->setSize(gViewerWindow->getWindowDisplayWidth(), gViewerWindow->getWindowDisplayHeight());
|
||||
|
||||
@@ -4206,7 +4206,7 @@ void LLSoundBridge::openSoundPreview(void* which)
|
||||
rect.translate(left - rect.mLeft, top - rect.mTop);
|
||||
LLPreviewSound* preview = new LLPreviewSound("preview sound",
|
||||
rect,
|
||||
std::string("Sound: ") + me->getName(),
|
||||
LLTrans::getString("Sound: ") + me->getName(),
|
||||
me->mUUID);
|
||||
preview->setFocus(TRUE);
|
||||
// Keep entirely onscreen.
|
||||
@@ -6308,7 +6308,7 @@ public:
|
||||
rect.translate(left - rect.mLeft, top - rect.mTop);
|
||||
LLPreviewSound* preview = new LLPreviewSound("preview sound",
|
||||
rect,
|
||||
std::string("Sound: ") + item->getName(),
|
||||
LLTrans::getString("Sound: ") + item->getName(),
|
||||
mUUID);
|
||||
preview->setFocus(TRUE);
|
||||
// Keep entirely onscreen.
|
||||
|
||||
@@ -355,11 +355,17 @@ LLVector3 LLManip::getPivotPoint()
|
||||
{
|
||||
static LLCachedControl<bool> actual_root("AscentBuildPrefs_ActualRoot");
|
||||
static LLCachedControl<bool> pivot_as_percent("AscentBuildPrefs_PivotIsPercent");
|
||||
static LLCachedControl<F32> pivot_x("AscentBuildPrefs_PivotX");
|
||||
static LLCachedControl<F32> pivot_y("AscentBuildPrefs_PivotY");
|
||||
static LLCachedControl<F32> pivot_z("AscentBuildPrefs_PivotZ");
|
||||
LLVector3 offset(pivot_x,pivot_y,pivot_z);
|
||||
|
||||
LLVector3 offset(50,50,50);
|
||||
//Are we are using the defaults?
|
||||
if(gSavedSettings.getBOOL("LiruEnableBuildPrefs"))
|
||||
{
|
||||
static LLCachedControl<F32> pivot_x("AscentBuildPrefs_PivotX");
|
||||
static LLCachedControl<F32> pivot_y("AscentBuildPrefs_PivotY");
|
||||
static LLCachedControl<F32> pivot_z("AscentBuildPrefs_PivotZ");
|
||||
offset = LLVector3(pivot_x,pivot_y,pivot_z);
|
||||
}
|
||||
else
|
||||
pivot_as_percent = true;
|
||||
if (mObjectSelection->getFirstRootObject(TRUE) && (mObjectSelection->getObjectCount() == 1 || actual_root) && mObjectSelection->getSelectType() != SELECT_TYPE_HUD)
|
||||
{
|
||||
if(pivot_as_percent)
|
||||
|
||||
@@ -250,6 +250,10 @@ BOOL LLPanelDisplay::postBuild()
|
||||
mCtrlShadowDetail->setCommitCallback(&LLPanelDisplay::onVertexShaderEnable);
|
||||
mCtrlShadowDetail->setCallbackUserData(this);
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// Terrain Scale
|
||||
mCtrlTerrainScale = getChild<LLComboBox>("TerrainScaleCombo");
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
// Enable Avatar Shaders
|
||||
mCtrlAvatarVP = getChild<LLCheckBoxCtrl>("AvatarVertexProgram");
|
||||
@@ -350,6 +354,7 @@ BOOL LLPanelDisplay::postBuild()
|
||||
mLightingText = getChild<LLTextBox>("LightingDetailText");
|
||||
mMeshDetailText = getChild<LLTextBox>("MeshDetailText");
|
||||
mShadowDetailText = getChild<LLTextBox>("ShadowDetailText");
|
||||
mTerrainScaleText = getChild<LLTextBox>("TerrainScaleText");
|
||||
|
||||
refresh();
|
||||
|
||||
@@ -417,10 +422,10 @@ void LLPanelDisplay::refresh()
|
||||
mDeferred = gSavedSettings.getBOOL("RenderDeferred");
|
||||
mDeferredDoF = gSavedSettings.getBOOL("RenderDepthOfField");
|
||||
|
||||
// reflection radio
|
||||
// combo boxes
|
||||
mReflectionDetail = gSavedSettings.getS32("RenderReflectionDetail");
|
||||
|
||||
mShadowDetail = gSavedSettings.getS32("RenderShadowDetail");
|
||||
mTerrainScale = gSavedSettings.getF32("RenderTerrainScale");
|
||||
|
||||
// avatar settings
|
||||
mAvatarImpostors = gSavedSettings.getBOOL("RenderUseImpostors");
|
||||
@@ -606,6 +611,13 @@ void LLPanelDisplay::disableUnavailableSettings()
|
||||
mCtrlReflectionDetail->setValue(FALSE);
|
||||
}
|
||||
|
||||
// disabled terrain scale
|
||||
if(!LLFeatureManager::getInstance()->isFeatureAvailable("RenderTerrainScale"))
|
||||
{
|
||||
mCtrlTerrainScale->setEnabled(false);
|
||||
mCtrlTerrainScale->setValue(false);
|
||||
}
|
||||
|
||||
// disabled av
|
||||
if(!LLFeatureManager::getInstance()->isFeatureAvailable("RenderAvatarVP"))
|
||||
{
|
||||
@@ -678,10 +690,12 @@ void LLPanelDisplay::setHiddenGraphicsState(bool isHidden)
|
||||
|
||||
llassert(mRadioTerrainDetail != NULL);
|
||||
llassert(mCtrlReflectionDetail != NULL);
|
||||
llassert(mCtrlTerrainScale != NULL);
|
||||
|
||||
llassert(mMeshDetailText != NULL);
|
||||
llassert(mShaderText != NULL);
|
||||
llassert(mReflectionText != NULL);
|
||||
llassert(mTerrainScaleText != NULL);
|
||||
llassert(mAvatarText != NULL);
|
||||
llassert(mLightingText != NULL);
|
||||
llassert(mTerrainText != NULL);
|
||||
@@ -728,6 +742,7 @@ void LLPanelDisplay::setHiddenGraphicsState(bool isHidden)
|
||||
|
||||
mRadioTerrainDetail->setVisible(!isHidden);
|
||||
mCtrlReflectionDetail->setVisible(!isHidden);
|
||||
mCtrlTerrainScale->setVisible(!isHidden);
|
||||
|
||||
mCtrlDeferred->setVisible(!isHidden);
|
||||
mCtrlDeferredDoF->setVisible(!isHidden);
|
||||
@@ -742,6 +757,7 @@ void LLPanelDisplay::setHiddenGraphicsState(bool isHidden)
|
||||
mDrawDistanceMeterText1->setVisible(!isHidden);
|
||||
mDrawDistanceMeterText2->setVisible(!isHidden);
|
||||
mShadowDetailText->setVisible(!isHidden);
|
||||
mTerrainScaleText->setVisible(!isHidden);
|
||||
|
||||
// hide one meter text if we're making things visible
|
||||
if(!isHidden)
|
||||
@@ -771,6 +787,7 @@ void LLPanelDisplay::cancel()
|
||||
|
||||
gSavedSettings.setS32("RenderReflectionDetail", mReflectionDetail);
|
||||
gSavedSettings.setS32("RenderShadowDetail", mShadowDetail);
|
||||
gSavedSettings.setF32("RenderTerrainScale", mTerrainScale);
|
||||
|
||||
gSavedSettings.setBOOL("RenderUseImpostors", mAvatarImpostors);
|
||||
gSavedSettings.setS32("RenderAvatarMaxVisible", mNonImpostors);
|
||||
|
||||
@@ -84,7 +84,6 @@ protected:
|
||||
LLComboBox *mCtrlFullScreen; // Fullscreen resolution
|
||||
LLCheckBoxCtrl *mCtrlAutoDetectAspect; // automatically detect aspect ratio
|
||||
LLComboBox *mCtrlAspectRatio; // user provided aspect ratio
|
||||
LLComboBox *mCtrlReflectionDetail;
|
||||
|
||||
LLCheckBoxCtrl *mCtrlWindowed; // windowed mode
|
||||
LLComboBox *mCtrlWindowSize; // window size for windowed mode
|
||||
@@ -114,7 +113,9 @@ protected:
|
||||
LLCheckBoxCtrl *mCtrlShaderEnable;
|
||||
LLCheckBoxCtrl *mCtrlDeferred;
|
||||
LLCheckBoxCtrl *mCtrlDeferredDoF;
|
||||
LLComboBox *mCtrlReflectionDetail;
|
||||
LLComboBox *mCtrlShadowDetail;
|
||||
LLComboBox *mCtrlTerrainScale;
|
||||
LLCheckBoxCtrl *mCtrlAvatarImpostors;
|
||||
LLCheckBoxCtrl *mCtrlAvatarCloth;
|
||||
LLCheckBoxCtrl *mCtrlLightingDetail2;
|
||||
@@ -144,6 +145,7 @@ protected:
|
||||
LLTextBox *mSkyFactorText;
|
||||
LLTextBox *mPostProcessText;
|
||||
LLTextBox *mShadowDetailText;
|
||||
LLTextBox *mTerrainScaleText;
|
||||
|
||||
BOOL mFSAutoDetectAspect;
|
||||
F32 mAspectRatio;
|
||||
@@ -162,6 +164,7 @@ protected:
|
||||
|
||||
S32 mReflectionDetail;
|
||||
S32 mShadowDetail;
|
||||
F32 mTerrainScale;
|
||||
|
||||
BOOL mAvatarImpostors;
|
||||
S32 mNonImpostors;
|
||||
|
||||
@@ -223,19 +223,25 @@ BOOL LLToolPlacer::addObject( LLPCode pcode, S32 x, S32 y, U8 use_physics )
|
||||
|
||||
// Set params for new object based on its PCode.
|
||||
LLQuaternion rotation;
|
||||
LLVector3 scale = LLVector3(
|
||||
gSavedSettings.getF32("BuildPrefs_Xsize"),
|
||||
gSavedSettings.getF32("BuildPrefs_Ysize"),
|
||||
gSavedSettings.getF32("BuildPrefs_Zsize"));
|
||||
LLVector3 scale = DEFAULT_OBJECT_SCALE;
|
||||
|
||||
U8 material = LL_MCODE_WOOD;
|
||||
if(gSavedSettings.getString("BuildPrefs_Material")== "Stone") material = LL_MCODE_STONE;
|
||||
else if(gSavedSettings.getString("BuildPrefs_Material")== "Metal") material = LL_MCODE_METAL;
|
||||
//if(gSavedSettings.getString("BuildPrefs_Material")== "Wood") material = LL_MCODE_WOOD; redundant
|
||||
else if(gSavedSettings.getString("BuildPrefs_Material")== "Flesh") material = LL_MCODE_FLESH;
|
||||
else if(gSavedSettings.getString("BuildPrefs_Material")== "Rubber") material = LL_MCODE_RUBBER;
|
||||
else if(gSavedSettings.getString("BuildPrefs_Material")== "Plastic") material = LL_MCODE_PLASTIC;
|
||||
|
||||
static LLCachedControl<bool> enable_BP("LiruEnableBuildPrefs", true);
|
||||
static LLCachedControl<bool> duplicate("CreateToolCopySelection", true);
|
||||
//If we are using the defaults, and we aren't duplicating
|
||||
if(enable_BP && !duplicate)
|
||||
{
|
||||
scale = LLVector3(
|
||||
gSavedSettings.getF32("BuildPrefs_Xsize"),
|
||||
gSavedSettings.getF32("BuildPrefs_Ysize"),
|
||||
gSavedSettings.getF32("BuildPrefs_Zsize"));
|
||||
if(gSavedSettings.getString("BuildPrefs_Material")== "Stone") material = LL_MCODE_STONE;
|
||||
else if(gSavedSettings.getString("BuildPrefs_Material")== "Metal") material = LL_MCODE_METAL;
|
||||
//if(gSavedSettings.getString("BuildPrefs_Material")== "Wood") material = LL_MCODE_WOOD; redundant
|
||||
else if(gSavedSettings.getString("BuildPrefs_Material")== "Flesh") material = LL_MCODE_FLESH;
|
||||
else if(gSavedSettings.getString("BuildPrefs_Material")== "Rubber") material = LL_MCODE_RUBBER;
|
||||
else if(gSavedSettings.getString("BuildPrefs_Material")== "Plastic") material = LL_MCODE_PLASTIC;
|
||||
}
|
||||
BOOL create_selected = FALSE;
|
||||
LLVolumeParams volume_params;
|
||||
|
||||
@@ -292,7 +298,7 @@ BOOL LLToolPlacer::addObject( LLPCode pcode, S32 x, S32 y, U8 use_physics )
|
||||
gMessageSystem->addU8Fast(_PREHASH_Material, material);
|
||||
|
||||
U32 flags = 0; // not selected
|
||||
if (use_physics)
|
||||
if (use_physics || (enable_BP && !duplicate && gSavedSettings.getBOOL("EmeraldBuildPrefs_Physical")))
|
||||
{
|
||||
flags |= FLAGS_USE_PHYSICS;
|
||||
}
|
||||
@@ -477,8 +483,9 @@ BOOL LLToolPlacer::addObject( LLPCode pcode, S32 x, S32 y, U8 use_physics )
|
||||
|
||||
// Pack in name value pairs
|
||||
gMessageSystem->sendReliable(regionp->getHost());
|
||||
//Actually call expectRez so that importtracker can do its thing
|
||||
gImportTracker.expectRez();
|
||||
//If we are using the defaults, and we aren't duplicating
|
||||
if(enable_BP && !duplicate) //then, actually call expectRez so that importtracker can do its thing, which sadly only works close up.
|
||||
gImportTracker.expectRez();
|
||||
// Spawns a message, so must be after above send
|
||||
if (create_selected)
|
||||
{
|
||||
|
||||
@@ -122,6 +122,13 @@ static bool handleTerrainDetailChanged(const LLSD& newvalue)
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool handleTerrainScaleChanged(const LLSD& inputvalue)
|
||||
{
|
||||
LLSD newvalue = 1.f / inputvalue.asReal();
|
||||
LLDrawPoolTerrain::sDetailScale = newvalue.asReal();
|
||||
return true;
|
||||
}
|
||||
|
||||
bool handleStateMachineMaxTimeChanged(const LLSD& newvalue)
|
||||
{
|
||||
AIStateMachine::updateSettings();
|
||||
@@ -621,6 +628,7 @@ void settings_setup_listeners()
|
||||
gSavedSettings.getControl("FirstPersonAvatarVisible")->getSignal()->connect(boost::bind(&handleRenderAvatarMouselookChanged, _2));
|
||||
gSavedSettings.getControl("RenderFarClip")->getSignal()->connect(boost::bind(&handleRenderFarClipChanged, _2));
|
||||
gSavedSettings.getControl("RenderTerrainDetail")->getSignal()->connect(boost::bind(&handleTerrainDetailChanged, _2));
|
||||
gSavedSettings.getControl("RenderTerrainScale")->getSignal()->connect(boost::bind(&handleTerrainScaleChanged, _2));
|
||||
gSavedSettings.getControl("OctreeStaticObjectSizeFactor")->getSignal()->connect(boost::bind(&handleRepartition, _2));
|
||||
gSavedSettings.getControl("OctreeDistanceFactor")->getSignal()->connect(boost::bind(&handleRepartition, _2));
|
||||
gSavedSettings.getControl("OctreeMaxNodeCapacity")->getSignal()->connect(boost::bind(&handleRepartition, _2));
|
||||
|
||||
@@ -125,15 +125,15 @@ LLViewerFolderDictionary::LLViewerFolderDictionary()
|
||||
addEntry(LLFolderType::FT_LOST_AND_FOUND, new ViewerFolderEntry("Lost And Found", "inv_folder_lostandfound.tga", "inv_folder_lostandfound.tga", TRUE, false));
|
||||
addEntry(LLFolderType::FT_ANIMATION, new ViewerFolderEntry("Animations", "inv_folder_animation.tga", "inv_folder_animation.tga", FALSE, false));
|
||||
addEntry(LLFolderType::FT_GESTURE, new ViewerFolderEntry("Gestures", "inv_folder_gesture.tga", "inv_folder_gesture.tga", FALSE, false));
|
||||
addEntry(LLFolderType::FT_FAVORITE, new ViewerFolderEntry("Favorites", "inv_folder_plain_open.tga", "inv_folder_plain_closed.tga", FALSE, false));
|
||||
addEntry(LLFolderType::FT_FAVORITE, new ViewerFolderEntry("Favorites", "inv_folder_favorite.tga", "inv_folder_favorite.tga", FALSE, false));
|
||||
|
||||
addEntry(LLFolderType::FT_CURRENT_OUTFIT, new ViewerFolderEntry("Current Outfit", "inv_folder_plain_open.tga", "inv_folder_plain_closed.tga", TRUE, false));
|
||||
addEntry(LLFolderType::FT_OUTFIT, new ViewerFolderEntry("New Outfit", "inv_folder_plain_open.tga", "inv_folder_plain_closed.tga", TRUE, false));
|
||||
addEntry(LLFolderType::FT_MY_OUTFITS, new ViewerFolderEntry("My Outfits", "inv_folder_plain_open.tga", "inv_folder_plain_closed.tga", TRUE, false));
|
||||
addEntry(LLFolderType::FT_MESH, new ViewerFolderEntry("Meshes", "inv_folder_plain_open.tga", "inv_folder_plain_closed.tga", FALSE, false));
|
||||
addEntry(LLFolderType::FT_CURRENT_OUTFIT, new ViewerFolderEntry("Current Outfit", "inv_folder_outfit.tga", "inv_folder_outfit.tga", TRUE, false));
|
||||
addEntry(LLFolderType::FT_OUTFIT, new ViewerFolderEntry("New Outfit", "inv_folder_outfit.tga", "inv_folder_outfit.tga", TRUE, false));
|
||||
addEntry(LLFolderType::FT_MY_OUTFITS, new ViewerFolderEntry("My Outfits", "inv_folder_outfit.tga", "inv_folder_outfit.tga", TRUE, false));
|
||||
addEntry(LLFolderType::FT_MESH, new ViewerFolderEntry("Meshes", "inv_folder_mesh.tga", "inv_folder_mesh.tga", FALSE, false));
|
||||
|
||||
addEntry(LLFolderType::FT_INBOX, new ViewerFolderEntry("Inbox", "inv_folder_plain_open.tga", "inv_folder_plain_closed.tga", FALSE, false));
|
||||
addEntry(LLFolderType::FT_OUTBOX, new ViewerFolderEntry("Outbox", "inv_folder_plain_open.tga", "inv_folder_plain_closed.tga", FALSE, false));
|
||||
addEntry(LLFolderType::FT_INBOX, new ViewerFolderEntry("Inbox", "inv_folder_inbox.tga", "inv_folder_inbox.tga", FALSE, false));
|
||||
addEntry(LLFolderType::FT_OUTBOX, new ViewerFolderEntry("Outbox", "inv_folder_outbox.tga", "inv_folder_outbox.tga", FALSE, false));
|
||||
|
||||
addEntry(LLFolderType::FT_BASIC_ROOT, new ViewerFolderEntry("Basic Root", "inv_folder_plain_open.tga", "inv_folder_plain_closed.tga", FALSE, false));
|
||||
|
||||
|
||||
@@ -54,6 +54,7 @@
|
||||
#include "llaudioengine.h"
|
||||
#include "lloverlaybar.h"
|
||||
#include "slfloatermediafilter.h"
|
||||
#include "llstreamingaudio.h"
|
||||
|
||||
// Static Variables
|
||||
|
||||
@@ -661,6 +662,9 @@ void LLViewerParcelMedia::playStreamingMusic(LLParcel* parcel, bool filter)
|
||||
else if (gAudiop)
|
||||
{
|
||||
LLStringUtil::trim(music_url);
|
||||
LLStreamingAudioInterface *stream = gAudiop->getStreamingAudioImpl();
|
||||
if(stream && stream->supportsAdjustableBufferSizes())
|
||||
stream->setBufferSizes(gSavedSettings.getU32("SHFMODExStreamBufferSize"),gSavedSettings.getU32("SHFMODExDecodeBufferSize"));
|
||||
gAudiop->startInternetStream(music_url);
|
||||
if (music_url.empty())
|
||||
{
|
||||
|
||||
@@ -343,7 +343,7 @@ void LLViewerShaderMgr::setShaders()
|
||||
|
||||
//setup preprocessor definitions
|
||||
LLShaderMgr::instance()->mDefinitions.clear();
|
||||
LLShaderMgr::instance()->mDefinitions["samples"] = llformat("%d", gSavedSettings.getU32("RenderFSAASamples")/*gGLManager.getNumFBOFSAASamples(gSavedSettings.getU32("RenderFSAASamples"))*/);
|
||||
LLShaderMgr::instance()->mDefinitions["samples"] = llformat("%d", gSavedSettings.getU32("RenderFSAASamples"));
|
||||
LLShaderMgr::instance()->mDefinitions["NUM_TEX_UNITS"] = llformat("%d", gGLManager.mNumTextureImageUnits);
|
||||
|
||||
initAttribsAndUniforms();
|
||||
|
||||
@@ -632,12 +632,6 @@ void LLPipeline::allocateScreenBuffer(U32 resX, U32 resY)
|
||||
static const LLCachedControl<U32> RenderFSAASamples("RenderFSAASamples",0);
|
||||
U32 samples = RenderFSAASamples.get() - RenderFSAASamples.get() % 2; //Must be multipe of 2.
|
||||
|
||||
//Don't multisample if not using FXAA, or if fbos are disabled, or if multisampled fbos are not supported.
|
||||
if(!LLPipeline::sRenderDeferred && (!LLRenderTarget::sUseFBO || !gGLManager.mHasFramebufferMultisample))
|
||||
{
|
||||
samples = 0;
|
||||
}
|
||||
|
||||
//try to allocate screen buffers at requested resolution and samples
|
||||
// - on failure, shrink number of samples and try again
|
||||
// - if not multisampled, shrink resolution and try again (favor X resolution over Y)
|
||||
@@ -693,6 +687,7 @@ bool LLPipeline::allocateScreenBuffer(U32 resX, U32 resY, U32 samples)
|
||||
}
|
||||
|
||||
mSampleBuffer.release();
|
||||
mScreen.release();
|
||||
|
||||
if (LLPipeline::sRenderDeferred)
|
||||
{
|
||||
@@ -790,7 +785,6 @@ bool LLPipeline::allocateScreenBuffer(U32 resX, U32 resY, U32 samples)
|
||||
if (!mScreen.allocate(resX, resY, GL_RGBA, TRUE, TRUE, LLTexUnit::TT_RECT_TEXTURE, FALSE)) return false;
|
||||
if(samples > 1)
|
||||
{
|
||||
|
||||
if(mSampleBuffer.allocate(resX,resY,GL_RGBA,TRUE,TRUE,LLTexUnit::TT_RECT_TEXTURE,FALSE,samples))
|
||||
mScreen.setSampleBuffer(&mSampleBuffer);
|
||||
else
|
||||
@@ -906,6 +900,8 @@ void LLPipeline::releaseScreenBuffers()
|
||||
{
|
||||
mShadow[i].release();
|
||||
}
|
||||
|
||||
mSampleBuffer.release();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 4.2 KiB |
BIN
indra/newview/skins/default/textures/inv_folder_favorite.tga
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
indra/newview/skins/default/textures/inv_folder_inbox.tga
Normal file
BIN
indra/newview/skins/default/textures/inv_folder_mesh.tga
Normal file
BIN
indra/newview/skins/default/textures/inv_folder_outbox.tga
Normal file
BIN
indra/newview/skins/default/textures/inv_folder_outfit.tga
Normal file
BIN
indra/newview/skins/default/textures/inv_item_gesture_muted.tga
Normal file
@@ -105,11 +105,16 @@
|
||||
<texture name="inv_folder_bodypart.tga"/>
|
||||
<texture name="inv_folder_callingcard.tga"/>
|
||||
<texture name="inv_folder_clothing.tga"/>
|
||||
<texture name="inv_folder_favorite.tga"/>
|
||||
<texture name="inv_folder_gesture.tga"/>
|
||||
<texture name="inv_folder_inbox.tga"/>
|
||||
<texture name="inv_folder_landmark.tga"/>
|
||||
<texture name="inv_folder_lostandfound.tga"/>
|
||||
<texture name="inv_folder_mesh.tga"/>
|
||||
<texture name="inv_folder_notecard.tga"/>
|
||||
<texture name="inv_folder_object.tga"/>
|
||||
<texture name="inv_folder_outfit.tga"/>
|
||||
<texture name="inv_folder_outbox.tga"/>
|
||||
<texture name="inv_folder_plain_closed.tga"/>
|
||||
<texture name="inv_folder_plain_open.tga"/>
|
||||
<texture name="inv_folder_script.tga"/>
|
||||
@@ -147,7 +152,7 @@
|
||||
<texture name="inv_item_texture.tga"/>
|
||||
<texture name="inv_item_underpants.tga"/>
|
||||
<texture name="inv_item_undershirt.tga"/>
|
||||
|
||||
|
||||
<texture name="lag_status_critical.tga"/>
|
||||
<texture name="lag_status_good.tga"/>
|
||||
<texture name="lag_status_warning.tga"/>
|
||||
@@ -370,6 +375,9 @@
|
||||
<texture name="icn_label_music.tga"/>
|
||||
<texture name="icn_label_media.tga"/>
|
||||
<texture name="arrow_down.tga"/>
|
||||
<texture name="arrow_up.tga"/>
|
||||
<texture name="arrow_left.tga"/>
|
||||
<texture name="arrow_right.tga"/>
|
||||
<texture name="cloud-particle.j2c" use_mips="true"/>
|
||||
|
||||
<texture name="skin_thumbnail_default.png" preload="true" />
|
||||
@@ -396,7 +404,10 @@
|
||||
|
||||
<texture name="go-previous-4.png"/>
|
||||
<texture name="go-next-4.png"/>
|
||||
<texture name="view-refresh-5.png"/>
|
||||
<texture name="view-refresh-5.png"/>
|
||||
<texture name="go-home-4.png"/>
|
||||
|
||||
<texture name="Inv_WindLight.png" preload="true"/>
|
||||
<texture name="Inv_WaterLight.png" preload="true"/>
|
||||
|
||||
</textures>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
Singularity Viewer is developed and maintained by Siana Gearz, Shyotl Kuhr, Aleric Inglewood, Narv Czervik, Tigh MacFanatic, Inusaito Kanya, Sovereign Engineer and Latif Khalifa, with contributions by Fractured Crystal, Fritigern Gothly, Henri Beauchamp, McCabe Maxsted, Kadah Coba, Kitty Barnett, nhede Core, Nomade Zhao, Revolution Smythe, Selvone Franizzi, Thickbrick Sleaford, Zauber Parecelsus, Wolfspirit Magic and others. Singularity is based upon Ascent source code. Credits for Ascent include Hg Beeks, Charley Levenque, Hazim Gazov, Zwagoth Klaar, Qarl Fizz, and others. Ascent is based upon the Inertia source code.
|
||||
|
||||
Singularity Viewer includes source code contributions of the following residents: Able Whitman, Adam Marker, Agathos Frascati, Aimee Trescothick, Alejandro Rosenthal, Aleric Inglewood, Alissa Sabre, Angus Boyd, Ann Congrejo, Argent Stonecutter, Asuka Neely, Balp Allen, Benja Kepler, Biancaluce Robbiani, Blakar Ogre, blino Nakamura, Boroondas Gupte, Bulli Schumann, bushing Spatula, Carjay McGinnis, Catherine Pfeffer, Celierra Darling, Cron Stardust, Dale Glass, Drewan Keats, Dylan Haskell, Dzonatas Sol, Eddy Stryker, EponymousDylan Ra, Eva Nowicka, Farallon Greyskin, Feep Larsson, Flemming Congrejo, Fluf Fredriksson, Fractured Crystal, Fremont Cunningham, Geneko Nemeth, Gigs Taggart, Ginko Bayliss, Grazer Kline, Gudmund Shepherd, Hamncheese Omlet, HappySmurf Papp, Henri Beauchamp, Hikkoshi Sakai, Hiro Sommambulist, Hoze Menges, Ian Kas, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Joghert LeSabre, Kage Pixel, Ken March, Kerutsen Sellery, Khyota Wulluf, Kunnis Basiat, Lisa Lowe, Lockhart Cordoso,
|
||||
maciek marksman, Magnus Balczo, Malwina Dollinger, march Korda, Matthew Dowd, McCabe Maxsted, Michelle2 Zenovka, Mm Alder, Mr Greggan, Nicholaz Beresford, Nounouch Hapmouche, Patric Mills, Paul Churchill, Paula Innis, Peekay Semyorka, Peter Lameth, Pf Shan, princess niven, Renault Clio, Ringo Tuxing, Robin Cornelius, Ryozu Kojima, Salahzar Stenvaag, Sammy Frederix, Scrippy Scofield, Seg Baphomet, Sergen Davies, SignpostMarv Martin, Simon Nolan, SpacedOut Frye, Sporked Friis, Stevex Janus, Still Defiant, Strife Onizuka, Tayra Dagostino, TBBle Kurosawa, Teardrops Fall, tenebrous pau, Tharax Ferraris, Thickbrick Sleaford, Thraxis Epsilon, tiamat bingyi, TraductoresAnonimos Alter, Tue Torok, Vadim Bigbear, Vixen Heron, Whoops Babii, Wilton Lundquist, Zarkonnen Decosta, Zi Ree, Zipherius Turas
|
||||
maciek marksman, Magnus Balczo, Malwina Dollinger, march Korda, Matthew Dowd, McCabe Maxsted, Michelle2 Zenovka, Mm Alder, Mr Greggan, Nicholaz Beresford, Nounouch Hapmouche, Patric Mills, Paul Churchill, Paula Innis, Peekay Semyorka, Peter Lameth, Pf Shan, princess niven, Renault Clio, Ringo Tuxing, Robin Cornelius, Ryozu Kojima, Salahzar Stenvaag, Sammy Frederix, Scrippy Scofield, Seg Baphomet, Sergen Davies, SignpostMarv Martin, Simon Nolan, SpacedOut Frye, Sporked Friis, Stevex Janus, Still Defiant, Strife Onizuka, Tayra Dagostino, TBBle Kurosawa, Teardrops Fall, tenebrous pau, Tharax Ferraris, Thickbrick Sleaford, Thraxis Epsilon, tiamat bingyi, TraductoresAnonimos Alter, Tue Torok, Vadim Bigbear, Vixen Heron, Whoops Babii, Wilton Lundquist, Zarkonnen Decosta, Zi Ree, Zipherius Turas, Franxisco Romano, Damian Zhaoying
|
||||
|
||||
Second Life is brought to you by Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen,
|
||||
Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan,
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<button bottom_delta="0" height="20" image_selected="icn_speaker-muted_dark.tga"
|
||||
image_unselected="icn_speaker_dark.tga" label="" left_delta="115"
|
||||
name="mute_btn" toggle="true" tool_tip="Mute voice for this resident"
|
||||
width="25" />
|
||||
width="25" scale_image="false" />
|
||||
</panel>
|
||||
</panel>
|
||||
</floater>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<floater border="false" can_close="true" can_minimize="true" bottom="500" left="500" can_resize="false" height="180" name="EmeraldIRC_dictionaries" title="Download new Dictionaries" width="300">
|
||||
<text bottom="-50" follows="left|top" font="SansSerifSmall" height="20" left="15" name="EmDics_txt" width="300">
|
||||
Below is a list of additional dictionaries that can
|
||||
be downloaded from the Imprudence website.
|
||||
be downloaded from the viewer's website.
|
||||
|
||||
Please select the dictionary you wish to have available
|
||||
for install, and then press the download button.</text>
|
||||
@@ -12,4 +12,4 @@ for install, and then press the download button.</text>
|
||||
<button bottom_delta="-35" enabled="true" follows="left|top" font="SansSerif"
|
||||
halign="center" height="22" label="Download" left_delta="0"
|
||||
mouse_opaque="true" name="Emerald_dic_download" scale_image="true" width="290" />
|
||||
</floater>
|
||||
</floater>
|
||||
|
||||
@@ -19,10 +19,10 @@
|
||||
<button height="20" bottom_delta="-28" label="Save" font="SansSerif" left="20" name="save_btn" tool_tip="Save your new Display Name" width="113" />
|
||||
<button height="20" bottom_delta="0" label="Reset" font="SansSerif" left_delta="123" name="reset_btn" tool_tip="Make Display Name the same as Username" width="113" />
|
||||
<button height="20" bottom_delta="0" label="Cancel" font="SansSerif" left_delta="123" name="cancel_btn" tool_tip="Cancel and close this Dialog" width="113" />
|
||||
<text left="20" bottom_delta="-25" width="360" height="18" font="SansSerif" name="name_confirm_label2">
|
||||
<text left="20" bottom_delta="-25" width="360" height="18" font="SansSerif" name="name_confirm_label2">
|
||||
The name you give your avatar is called yours Display Name.
|
||||
</text>
|
||||
<text left="20" bottom_delta="-18" width="360" height="18" font="SansSerif" name="name_confirm_label3">
|
||||
<text left="20" bottom_delta="-18" width="360" height="18" font="SansSerif" name="name_confirm_label3">
|
||||
You can change it once a week.
|
||||
</text>
|
||||
</floater>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
width="300"/>
|
||||
<spinner bottom_delta="-24" control_name="RenderFogRatio" decimal_digits="1" height="16" increment="0.1" initial_val="4" label="Fog Distance Ratio:" label_width="138" left="10" max_val="10" min_val="0.5" name="fog" width="202"/>
|
||||
<text bottom_delta="-50" height="40" left="10" name="note">
|
||||
Note: the Gamma and Fog Distance Ratio settings are unavailable
|
||||
Note: the Gamma and Fog Distance Ratio settings are unavailable
|
||||
(since useless) when the Atmospheric Shaders are enabled.
|
||||
</text>
|
||||
<button bottom="10" height="20" label="OK" label_selected="OK" left="-110" name="OK" scale_image="true" width="90"/>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<button bottom="-37" follows="top" height="20" image_overlay="icn_voice-call-end.tga" image_overlay_alignment="left" label="End" name="end_call_btn" visible="false" width="80"/>
|
||||
<panel border="false" bottom="-34" follows="left|top" height="20" left_delta="50" name="speaker_controls" width="100">
|
||||
<volume_slider bottom="0" follows="bottom" height="15" increment="0.05" initial_val="0.5" max_val="1.0" min_val="0.0" name="speaker_volume" width="56"/>
|
||||
<button bottom="0" height="20" image_selected="icn_speaker-muted_dark.tga" image_unselected="icn_speaker_dark.tga" label="" left_delta="56" name="mute_btn" tool_tip="Mute voice" width="25"/>
|
||||
<button bottom="0" height="20" image_selected="icn_speaker-muted_dark.tga" image_unselected="icn_speaker_dark.tga" scale_image="false" label="" left_delta="56" name="mute_btn" tool_tip="Mute voice" width="25"/>
|
||||
</panel>
|
||||
<text_editor bottom="28" bg_readonly_color="ChatHistoryBgColor" bg_writeable_color="ChatHistoryBgColor" enabled="false" follows="left|top|right|bottom" height="228" left="5" max_length="2147483647" name="im_history" text_color="ChatHistoryTextColor" track_bottom="true" text_readonly_color="ChatHistoryTextColor" width="488" word_wrap="true"/>
|
||||
<line_editor bevel_style="in" border_style="line" border_thickness="1" bottom="5" follows="left|right" font="SansSerif" height="20" label="Click here to instant message" max_length="2147483647" name="chat_editor" select_all_on_focus_received="false" select_on_focus="false" tab_group="1" width="423" spell_check="true"/>
|
||||
|
||||