Merge to FS LGPL 29865

Tank_Master 2012-08-30 15:45:02 -07:00
commit 8cb09ca444
713 changed files with 276705 additions and 247355 deletions

View File

@ -16,6 +16,7 @@ scripts/install.cache.*
indra/newview/res/viewerRes.rc
indra/llcommon/llversionserver.h
indra/llcommon/llversionviewer.h
indra/newview/exoflickrkeys.h
indra/llcommon/res/llcommon.rc
indra/newview/Info-SecondLife.plist
indra/newview/info-Firestorm.plist
@ -41,7 +42,7 @@ indra/newview/fmod.dll
indra/newview/mozilla-theme
indra/newview/mozilla-universal-darwin.tgz
indra/newview/res/ll_icon.*
indra/newview/res-sdl
indra/newview/res-sdl/ll_icon.*
indra/newview/vivox-runtime
indra/newview/English.lproj/InfoPlist.strings
indra/newview/Info-Firestorm.plist

View File

@ -22,6 +22,9 @@ fe6ff2eba113158136b42d28daa7226942d89bf0 LL_3.3.1-merge_to_fs
a44cac445a433bbe5d8adced3771b3cd9a1c8a8f LL_3.3.3_beta_merge_to_fs
02d193ab29530e44d1039b363dd4e90f86bf968c LL_3.3.3_rel_merge_to_fs
0cae57abcb414b9ec5a08d9ccca0342487ffc49a Firestorm_4.1.1_Release
cd7063d469aafb0c2f54ea994cc9f51f1877e332 Pathfinding_merge
cabedbb91c914e0ed56d69ca4d9886be2a7c0264 Firestorm_4.2.1_Release
983962c3d00d42449fc6bb578f3ef622b88ca957 Firestorm_4.2.2_Release
bb38ff1a763738609e1b3cada6d15fa61e5e84b9 2.1.1-release
003dd9461bfa479049afcc34545ab3431b147c7c v2start
08398e650c222336bb2b6de0cd3bba944aef11b4 2-1rn1

View File

@ -18,7 +18,7 @@ build_CYGWIN_Debug = false
email_status_this_is_os = true
# Limit extent of codeticket updates to revisions after...
codeticket_since = 2.2.0-release
codeticket_since = 3.3.0-release
# ========================================
# Viewer Development
@ -43,18 +43,20 @@ integration_viewer-development.viewer_channel = "Second Life Development"
integration_viewer-development.login_channel = "Second Life Development"
integration_viewer-development.build_viewer_update_version_manager = false
integration_viewer-development.email = viewer-development-builds@lists.secondlife.com
integration_viewer-development.build_enforce_coding_policy = true
integration_viewer-development.codeticket_add_context = true
integration_viewer-development.build_enforce_coding_policy = false
integration_viewer-development.codeticket_add_context = false
viewer-beta.viewer_channel = "Second Life Beta Viewer"
viewer-beta.login_channel = "Second Life Beta Viewer"
viewer-beta.build_debug_release_separately = true
viewer-beta.build_viewer_update_version_manager = true
viewer-beta.codeticket_add_context = false
viewer-release.viewer_channel = "Second Life Release"
viewer-release.login_channel = "Second Life Release"
viewer-release.build_debug_release_separately = true
viewer-release.build_viewer_update_version_manager = true
viewer-release.codeticket_add_context = false
# ========================================
# mesh-development
@ -123,35 +125,16 @@ viewer-adult-check.build_debug_release_separately = true
viewer-adult-check.build_CYGWIN_Debug = false
viewer-adult-check.build_viewer_update_version_manager = false
# ================
# oz
# ================
# ========================================
# viewer-pathfinding
# ========================================
Snowstorm_viewer-project-review.build_debug_release_separately = true
Snowstorm_viewer-project-review.codeticket_add_context = true
Snowstorm_viewer-project-review.viewer_channel = "Project Viewer - Snowstorm Team"
Snowstorm_viewer-project-review.login_channel = "Project Viewer - Snowstorm Team"
Snowstorm_viewer-project-review.codeticket_add_context = true
oz_viewer-devreview.build_debug_release_separately = true
oz_viewer-devreview.codeticket_add_context = false
oz_viewer-devreview.build_enforce_coding_policy = true
oz_viewer-devreview.email = oz@lindenlab.com
oz_viewer-trial.build_debug_release_separately = true
oz_viewer-trial.codeticket_add_context = false
oz_viewer-trial.build_enforce_coding_policy = true
oz_viewer-trial.email = oz@lindenlab.com
oz_viewer-beta-review.build_debug_release_separately = true
oz_viewer-beta-review.codeticket_add_context = false
oz_viewer-beta-review.viewer_channel = "Second Life Beta Viewer"
oz_viewer-beta-review.login_channel = "Second Life Beta Viewer"
oz_viewer-beta-review.email = oz@lindenlab.com
oz_project-7.build_debug_release_separately = true
oz_project-7.codeticket_add_context = false
oz_project-7.email = "sldev@catznip.com oz@lindenlab.com"
viewer-pathfinding.viewer_channel = "Project Viewer - Pathfinding"
viewer-pathfinding.login_channel = "Project Viewer - Pathfinding"
viewer-pathfinding.viewer_grid = agni
viewer-pathfinding.build_debug_release_separately = true
viewer-pathfinding.build_CYGWIN_Debug = false
viewer-pathfinding.build_viewer_update_version_manager = false
# =================================================================
# asset delivery 2010 projects

File diff suppressed because it is too large Load Diff

View File

@ -81,16 +81,43 @@ pre_build()
end_section "Pre$variant"
}
package_llphysicsextensions_tpv()
{
begin_section "PhysicsExtensions_TPV"
tpv_status=0
if [ "$variant" = "Release" ]
then
llpetpvcfg=$build_dir/packages/llphysicsextensions/autobuild-tpv.xml
"$AUTOBUILD" build --verbose --config-file $llpetpvcfg -c Tpv
# capture the package file name for use in upload later...
PKGTMP=`mktemp -t pgktpv.XXXXXX`
trap "rm $PKGTMP* 2>/dev/null" 0
"$AUTOBUILD" package --verbose --config-file $llpetpvcfg > $PKGTMP
tpv_status=$?
sed -n -e 's/^wrote *//p' $PKGTMP > $build_dir/llphysicsextensions_package
else
echo "Do not provide llphysicsextensions_tpv for $variant"
llphysicsextensions_package=""
fi
end_section "PhysicsExtensions_TPV"
return $tpv_status
}
build()
{
local variant="$1"
if $build_viewer
then
begin_section "Viewer$variant"
check_for "Before 'autobuild build'" ${build_dir}/packages/dictionaries
if "$AUTOBUILD" build --no-configure -c $variant
"$AUTOBUILD" build --no-configure -c $variant
viewer_build_ok=$?
end_section "Viewer$variant"
package_llphysicsextensions_tpv
tpvlib_build_ok=$?
if [ $viewer_build_ok -eq 0 -a $tpvlib_build_ok -eq 0 ]
then
echo true >"$build_dir"/build_ok
else
@ -98,7 +125,6 @@ build()
fi
check_for "After 'autobuild configure'" ${build_dir}/packages/dictionaries
end_section "Viewer$variant"
fi
}
@ -215,11 +241,6 @@ do
mkdir -p "$build_dir"
mkdir -p "$build_dir/tmp"
# Install packages.
begin_section "AutobuildInstall"
"$AUTOBUILD" install --verbose --skip-license-check
end_section "AutobuildInstall"
if pre_build "$variant" "$build_dir" >> "$build_log" 2>&1
then
if $build_link_parallel
@ -289,13 +310,25 @@ then
upload_item quicklink "$package" binary/octet-stream
[ -f summary.json ] && upload_item installer summary.json text/plain
# Upload crash reporter files.
case "$last_built_variant" in
Release)
# Upload crash reporter files
for symbolfile in $symbolfiles
do
upload_item symbolfile "$build_dir/$symbolfile" binary/octet-stream
done
# Upload the llphysicsextensions_tpv package, if one was produced
if [ -r "$build_dir/llphysicsextensions_package" ]
then
llphysicsextensions_package=$(cat $build_dir/llphysicsextensions_package)
upload_item private_artifact "$llphysicsextensions_package" binary/octet-stream
else
echo "No llphysicsextensions_package"
fi
;;
*)
echo "Skipping mapfile for $last_built_variant"
;;
esac

View File

@ -636,6 +636,7 @@ Jonathan Yap
STORM-1809
STORM-1793
STORM-1810
STORM-1839
STORM-1860
STORM-1852
STORM-1870

View File

@ -546,8 +546,24 @@
<key>trusted-sender</key>
<boolean>true</boolean>
</map>
<!-- UDPDeprecated Messages -->
<key>NavMeshStatusUpdate</key>
<map>
<key>flavor</key>
<string>llsd</string>
<key>trusted-sender</key>
<boolean>true</boolean>
</map>
<key>AgentStateUpdate</key>
<map>
<key>flavor</key>
<string>llsd</string>
<key>trusted-sender</key>
<boolean>true</boolean>
</map>
<!-- UDPDeprecated Messages -->
<key>ScriptRunningReply</key>
<map>
<key>flavor</key>

View File

@ -33,7 +33,7 @@ if (NOT CMAKE_BUILD_TYPE)
endif (NOT CMAKE_BUILD_TYPE)
#<FS:AW optional opensim support>
set(HAS_OPENSIM_SUPPORT ON)
option(HAS_OPENSIM_SUPPORT "OpenSim support" OFF)
if (HAS_OPENSIM_SUPPORT)
add_definitions(-DHAS_OPENSIM_SUPPORT=1)
message("compiling with OpenSim support")

View File

@ -1 +1 @@
VERSION_VIEWER=4.2.0
VERSION_VIEWER=4.3.0

View File

@ -38,14 +38,12 @@ set(cmake_SOURCE_FILES
GStreamer010Plugin.cmake
GooglePerfTools.cmake
Growl.cmake
HACD.cmake
Hunspell.cmake
JPEG.cmake
LLAddBuildTest.cmake
LLAudio.cmake
LLCharacter.cmake
LLCommon.cmake
LLConvexDecomposition.cmake
LLCrashLogger.cmake
LLDatabase.cmake
LLImage.cmake
@ -56,6 +54,7 @@ set(cmake_SOURCE_FILES
LLMessage.cmake
LLPlugin.cmake
LLPrimitive.cmake
LLPhysicsExtensions.cmake
LLRender.cmake
LLScene.cmake
LLTestCommand.cmake

View File

@ -1,25 +0,0 @@
# -*- cmake -*-
include(Prebuilt)
set(HACD_FIND_QUIETLY ON)
set(HACD_FIND_REQUIRED ON)
if (STANDALONE)
include(FindHACD)
else (STANDALONE)
# use_prebuilt_binary(hacd)
use_prebuilt_binary(nd_hacdConvexDecomposition)
if (WINDOWS)
set(HACD_LIBRARY hacd)
set(LLCONVEXDECOMP_LIBRARY nd_hacdConvexDecomposition )
set(HACD_INCLUDE_DIR ${LIBS_PREBUILT_DIR})
elseif(DARWIN)
set(HACD_LIBRARY hacd)
set(LLCONVEXDECOMP_LIBRARY nd_hacdConvexDecomposition )
set(HACD_INCLUDE_DIR ${LIBS_PREBUILT_DIR})
else()
set(HACD_LIBRARY hacd)
set(LLCONVEXDECOMP_LIBRARY nd_hacdConvexDecomposition )
set(HACD_INCLUDE_DIR ${LIBS_PREBUILT_DIR})
endif()
endif (STANDALONE)

80
indra/cmake/Havok.cmake Normal file
View File

@ -0,0 +1,80 @@
# -*- cmake -*-
use_prebuilt_binary(havok-source)
set(Havok_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/havok/Source)
list(APPEND Havok_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/havok/Demo)
set(HAVOK_DEBUG_LIBRARY_PATH ${LIBS_PREBUILT_DIR}/lib/debug/havok-fulldebug)
set(HAVOK_RELEASE_LIBRARY_PATH ${LIBS_PREBUILT_DIR}/lib/release/havok)
if (LL_DEBUG_HAVOK AND NOT WIN32)
set(HAVOK_RELWITHDEBINFO_LIBRARY_PATH ${LIBS_PREBUILT_DIR}/lib/debug/havok-fulldebug)
else (LL_DEBUG_HAVOK AND NOT WIN32)
# Always link relwithdebinfo to havok-hybrid on windows.
set(HAVOK_RELWITHDEBINFO_LIBRARY_PATH ${LIBS_PREBUILT_DIR}/lib/debug/havok-hybrid)
endif (LL_DEBUG_HAVOK AND NOT WIN32)
set(HAVOK_LIBS
hkBase
hkCompat
hkGeometryUtilities
hkInternal
hkSerialize
hkSceneData
hkpCollide
hkpUtilities
hkpConstraintSolver
hkpDynamics
hkpInternal
hkaiInternal
hkaiPathfinding
hkaiAiPhysicsBridge
hkcdInternal
hkcdCollide
hkpVehicle
hkVisualize
hkaiVisualize
hkgpConvexDecomposition
)
unset(HK_DEBUG_LIBRARIES)
unset(HK_RELEASE_LIBRARIES)
unset(HK_RELWITHDEBINFO_LIBRARIES)
foreach(HAVOK_LIB ${HAVOK_LIBS})
find_library(HAVOK_DEBUG_LIB_${HAVOK_LIB} ${HAVOK_LIB} PATHS ${HAVOK_DEBUG_LIBRARY_PATH})
find_library(HAVOK_RELEASE_LIB_${HAVOK_LIB} ${HAVOK_LIB} PATHS ${HAVOK_RELEASE_LIBRARY_PATH})
find_library(HAVOK_RELWITHDEBINFO_LIB_${HAVOK_LIB} ${HAVOK_LIB} PATHS ${HAVOK_RELWITHDEBINFO_LIBRARY_PATH})
if(LINUX)
set(cmd "mkdir")
set(debug_dir "${HAVOK_DEBUG_LIBRARY_PATH}/${HAVOK_LIB}")
set(release_dir "${HAVOK_RELEASE_LIBRARY_PATH}/${HAVOK_LIB}")
set(relwithdebinfo_dir "${HAVOK_RELWITHDEBINFO_LIBRARY_PATH}/${HAVOK_LIB}")
exec_program( ${cmd} ${HAVOK_DEBUG_LIBRARY_PATH} ARGS ${debug_dir} OUTPUT_VARIABLE rv)
exec_program( ${cmd} ${HAVOK_RELEASE_LIBRARY_PATH} ARGS ${release_dir} OUTPUT_VARIABLE rv)
exec_program( ${cmd} ${HAVOK_RELWITHDEBINFO_LIBRARY_PATH} ARGS ${relwithdebinfo_dir} OUTPUT_VARIABLE rv)
set(cmd "ar")
set(arg " -xv")
set(arg "${arg} ../lib${HAVOK_LIB}.a")
exec_program( ${cmd} ${debug_dir} ARGS ${arg} OUTPUT_VARIABLE rv)
exec_program( ${cmd} ${release_dir} ARGS ${arg} OUTPUT_VARIABLE rv)
exec_program( ${cmd} ${relwithdebinfo_dir} ARGS ${arg} OUTPUT_VARIABLE rv)
file(GLOB extracted_debug "${debug_dir}/*.o")
file(GLOB extracted_release "${release_dir}/*.o")
file(GLOB extracted_relwithdebinfo "${relwithdebinfo_dir}/*.o")
list(APPEND HK_DEBUG_LIBRARIES ${extracted_debug})
list(APPEND HK_RELEASE_LIBRARIES ${extracted_release})
list(APPEND HK_RELWITHDEBINFO_LIBRARIES ${extracted_relwithdebinfo})
else(LINUX)
# Win32
list(APPEND HK_DEBUG_LIBRARIES ${HAVOK_DEBUG_LIB_${HAVOK_LIB}})
list(APPEND HK_RELEASE_LIBRARIES ${HAVOK_RELEASE_LIB_${HAVOK_LIB}})
list(APPEND HK_RELWITHDEBINFO_LIBRARIES ${HAVOK_RELWITHDEBINFO_LIB_${HAVOK_LIB}})
endif (LINUX)
endforeach(HAVOK_LIB)

View File

@ -201,6 +201,15 @@ FUNCTION(LL_ADD_INTEGRATION_TEST
endif(TEST_DEBUG)
ADD_EXECUTABLE(INTEGRATION_TEST_${testname} ${source_files})
SET_TARGET_PROPERTIES(INTEGRATION_TEST_${testname} PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${EXE_STAGING_DIR}")
if (WINDOWS)
set_target_properties(INTEGRATION_TEST_${testname}
PROPERTIES
LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS /INCLUDE:__tcmalloc"
LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMT;LIBCMTD;MSVCRT\" /INCREMENTAL:NO"
LINK_FLAGS_RELEASE ""
)
endif(WINDOWS)
if(STANDALONE)
SET_TARGET_PROPERTIES(INTEGRATION_TEST_${testname} PROPERTIES COMPILE_FLAGS -I"${TUT_INCLUDE_DIR}")
endif(STANDALONE)

View File

@ -24,7 +24,7 @@ endif (LINUX)
add_definitions(${TCMALLOC_FLAG})
set(LLCOMMON_LINK_SHARED ON CACHE BOOL "Build the llcommon target as a shared library.")
set(LLCOMMON_LINK_SHARED OFF CACHE BOOL "Build the llcommon target as a shared library.")
if(LLCOMMON_LINK_SHARED)
add_definitions(-DLL_COMMON_LINK_SHARED=1)
endif(LLCOMMON_LINK_SHARED)

View File

@ -1,11 +0,0 @@
# -*- cmake -*-
include(Prebuilt)
set(LLCONVEXDECOMP_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include)
if (INSTALL_PROPRIETARY AND NOT STANDALONE)
use_prebuilt_binary(llconvexdecomposition)
set(LLCONVEXDECOMP_LIBRARY llconvexdecomposition)
else (INSTALL_PROPRIETARY AND NOT STANDALONE)
include(HACD)
endif (INSTALL_PROPRIETARY AND NOT STANDALONE)

View File

@ -0,0 +1,41 @@
# -*- cmake -*-
include(Prebuilt)
# Note that the use_prebuilt_binary macros below do not in fact include binaries;
# the llphysicsextensions_* packages are source only and are built here.
# The source package and the stub package both build libraries of the same name.
# Using the real wrapper or the stub can be controlled with -DHAVOK:BOOL={ON,OFF}
# the default
if (INSTALL_PROPRIETARY)
set(HAVOK ON CACHE BOOL "Use Havok physics library")
endif (INSTALL_PROPRIETARY)
if (HAVOK)
include(Havok)
use_prebuilt_binary(llphysicsextensions_source)
set(LLPHYSICSEXTENSIONS_SRC_DIR ${LIBS_PREBUILT_DIR}/llphysicsextensions/src)
set(LLPHYSICSEXTENSIONS_LIBRARIES llphysicsextensions)
# <FS:ND> include paths for LLs version and ours are different.
set(LLPHYSICSEXTENSIONS_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/llphysicsextensions)
# </FS:ND>
else (HAVOK)
use_prebuilt_binary( ndPhysicsStub )
# <FS:ND> Don't set this variable, there is no need to build any stub source if using ndPhysicsStub
# set(LLPHYSICSEXTENSIONS_SRC_DIR ${LIBS_PREBUILT_DIR}/llphysicsextensions/stub)
# </FS:ND>
set(LLPHYSICSEXTENSIONS_LIBRARIES nd_hacdConvexDecomposition hacd nd_Pathing )
# <FS:ND> include paths for LLs version and ours are different.
set(LLPHYSICSEXTENSIONS_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/ )
# </FS:ND>
endif (HAVOK)
# <FS:ND> include paths for LLs version and ours are different.
#set(LLPHYSICSEXTENSIONS_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/llphysicsextensions)
# </FS:ND>

View File

@ -44,15 +44,11 @@ if (NOT "${CMAKE_BUILD_TYPE}" STREQUAL "ReleaseFS" AND NOT "${CMAKE_BUILD_TYPE}"
# provide (e.g.) lib/debug libraries.
list(APPEND AUTOBUILD_LIBS_INSTALL_DIRS ${ARCH_PREBUILT_DIRS_RELEASE})
# message(STATUS "CMAKE_BUILD_TYPE = ${CMAKE_BUILD_TYPE}, extending AUTOBUILD_LIBS_INSTALL_DIRS")
# <FS:Ansariel> Changed for Firestorm
#endif (NOT "${CMAKE_BUILD_TYPE}" STREQUAL "Release")
endif (NOT "${CMAKE_BUILD_TYPE}" STREQUAL "ReleaseFS" AND NOT "${CMAKE_BUILD_TYPE}" STREQUAL "ReleaseFS_open")
# </FS:Ansariel> Changed for Firestorm
#message(STATUS "For ${CMAKE_BUILD_TYPE}, AUTOBUILD_LIBS_INSTALL_DIRS: ${AUTOBUILD_LIBS_INSTALL_DIRS}")
link_directories(${AUTOBUILD_LIBS_INSTALL_DIRS})
endif( NOT STANDALONE ) # <FS:ND/> Don't add any autobuild dirs when building standalone

View File

@ -2,17 +2,9 @@
include(Prebuilt)
if (NOT STANDALONE)
use_prebuilt_binary(nd_hacdConvexDecomposition)
use_prebuilt_binary(libhunspell)
use_prebuilt_binary(libuuid)
use_prebuilt_binary(slvoice)
use_prebuilt_binary(fontconfig)
endif(NOT STANDALONE)
if(VIEWER AND NOT STANDALONE)
if(EXISTS ${CMAKE_SOURCE_DIR}/newview/res/have_artwork_bundle.marker)
message(STATUS "We seem to have an artwork bundle in the tree - brilliant.")
else(EXISTS ${CMAKE_SOURCE_DIR}/newview/res/have_artwork_bundle.marker)
message(FATAL_ERROR "Didn't find an artwork bundle - this needs to be downloaded separately and unpacked into this tree. You can probably get it from the same place you got your viewer source. Thanks!")
endif(EXISTS ${CMAKE_SOURCE_DIR}/newview/res/have_artwork_bundle.marker)
endif(VIEWER AND NOT STANDALONE)

View File

@ -132,63 +132,68 @@ BOOL LLHandMotion::onUpdate(F32 time, U8* joint_mask)
{
if (mNewPose != HAND_POSE_RELAXED && mNewPose != mCurrentPose)
{
// <FS:Ansariel>
// mCharacter->setVisualParamWeight(gHandPoseNames[mNewPose], 0.f);
// Only set param weight for poses other than
// default (HAND_POSE_SPREAD); HAND_POSE_SPREAD
// is not an animatable morph!
if (mNewPose != HAND_POSE_SPREAD)
{
mCharacter->setVisualParamWeight(gHandPoseNames[mNewPose], 0.f);
}
// Reset morph weight for current pose back to its
// full extend or it might be stuck somewhere in the middle if a
// pose is requested and the old pose is requested again shortly
// after while still blending to the other pose!
if (mCurrentPose != HAND_POSE_SPREAD)
{
mCharacter->setVisualParamWeight(gHandPoseNames[mCurrentPose], 1.f);
}
// Update visual params now if we won't blend
if (mCurrentPose == HAND_POSE_RELAXED)
{
mCharacter->updateVisualParams();
}
// </FS:Ansariel>
}
mNewPose = HAND_POSE_RELAXED;
}
else
{
// <FS:ND> Sometimes we seem to get garbage here, with poses that are out of bounds.
// <FS:Ansariel> Clamp requested pose before setting the new pose and request
// relaxed hand pose instead as default.
if (*requestedHandPose < 0 || *requestedHandPose >= NUM_HAND_POSES)
// Sometimes we seem to get garbage here, with poses that are out of bounds.
// So check for a valid pose first.
if (*requestedHandPose >= 0 && *requestedHandPose < NUM_HAND_POSES)
{
llwarns << "Requested hand pose out of range. Using HAND_POSE_RELAXED." << llendl;
*requestedHandPose = HAND_POSE_RELAXED;
}
// </FS:ND>
// This is a new morph we didn't know about before:
// Reset morph weight for both current and new pose
// back their starting values while still blending.
if (*requestedHandPose != mNewPose && mNewPose != mCurrentPose)
{
if (mNewPose != HAND_POSE_SPREAD)
{
mCharacter->setVisualParamWeight(gHandPoseNames[mNewPose], 0.f);
}
// this is a new morph we didn't know about before
// <FS:Ansariel>
//if (*requestedHandPose != mNewPose && mNewPose != mCurrentPose && mNewPose != HAND_POSE_SPREAD)
//{
// mCharacter->setVisualParamWeight(gHandPoseNames[mNewPose], 0.f);
//}
if (*requestedHandPose != mNewPose && mNewPose != mCurrentPose)
// Reset morph weight for current pose back to its full extend
// or it might be stuck somewhere in the middle if a pose is
// requested and the old pose is requested again shortly after
// while still blending to the other pose!
if (mCurrentPose != HAND_POSE_SPREAD)
{
mCharacter->setVisualParamWeight(gHandPoseNames[mCurrentPose], 1.f);
}
// Update visual params now if we won't blend
if (mCurrentPose == *requestedHandPose)
{
mCharacter->updateVisualParams();
}
}
mNewPose = *requestedHandPose;
}
else
{
if (mNewPose != HAND_POSE_SPREAD)
{
mCharacter->setVisualParamWeight(gHandPoseNames[mNewPose], 0.f);
}
if (mCurrentPose != HAND_POSE_SPREAD)
{
mCharacter->setVisualParamWeight(gHandPoseNames[mCurrentPose], 1.f);
}
if (mCurrentPose == *requestedHandPose)
{
mCharacter->updateVisualParams();
}
llwarns << "Requested hand pose out of range. Ignoring requested pose." << llendl;
}
// </FS:Ansariel>
mNewPose = *requestedHandPose;
}
mCharacter->removeAnimationData("Hand Pose");

View File

@ -887,7 +887,7 @@ void LLMotionController::updateMotions(bool force_update)
void LLMotionController::updateMotionsMinimal()
{
// Always update mPrevTimerElapsed
mAnimTime = mPrevTimerElapsed = mTimer.getElapsedTimeF32();
mPrevTimerElapsed = mTimer.getElapsedTimeF32();
purgeExcessMotions();
updateLoadingMotions();

View File

@ -273,13 +273,6 @@ list(APPEND llcommon_SOURCE_FILES ${llcommon_HEADER_FILES})
if(LLCOMMON_LINK_SHARED)
add_library (llcommon SHARED ${llcommon_SOURCE_FILES})
if(NOT WORD_SIZE EQUAL 32)
if(WINDOWS)
add_definitions(/FIXED:NO)
else(WINDOWS) # not windows therefore gcc LINUX and DARWIN
add_definitions(-fPIC)
endif(WINDOWS)
endif(NOT WORD_SIZE EQUAL 32)
if(WINDOWS)
# always generate llcommon.pdb, even for "Release" builds
set_target_properties(llcommon PROPERTIES LINK_FLAGS "/DEBUG")
@ -289,6 +282,14 @@ else(LLCOMMON_LINK_SHARED)
add_library (llcommon ${llcommon_SOURCE_FILES})
endif(LLCOMMON_LINK_SHARED)
if(NOT WORD_SIZE EQUAL 32)
if(WINDOWS)
add_definitions(/FIXED:NO)
else(WINDOWS) # not windows therefore gcc LINUX and DARWIN
add_definitions(-fPIC)
endif(WINDOWS)
endif(NOT WORD_SIZE EQUAL 32)
target_link_libraries(
llcommon
${BREAKPAD_EXCEPTION_HANDLER_LIBRARIES}

View File

@ -158,7 +158,17 @@ LLVolatileAPRPool::LLVolatileAPRPool(BOOL is_local, apr_pool_t *parent, apr_size
mMutexp(NULL)
{
//create mutex
if(!is_local) //not a local apr_pool, that is: shared by multiple threads.
// <FS:ND> Crashfix/FIRE-4090/FIRE-4820: is_local is default to TRUE. And of today (2012-07-15) all instances of LLVolatileAPRPool seem
// to be created just using this default argument.
// Using apr_os_thread_current and apr_os_thread_equal it appears that there are pools that get access from different threads nonetheless.
// This would explain why mNumActiveRef sometimes gets garbled.
// Resolution: Always use a mutex and give it a broader test is this helps.
// if(!is_local) //not a local apr_pool, that is: shared by multiple threads.
// </FS:ND>
{
apr_pool_create(&mMutexPool, NULL); // Create a pool for mutex
apr_thread_mutex_create(&mMutexp, APR_THREAD_MUTEX_UNNESTED, mMutexPool);

View File

@ -70,6 +70,12 @@ ECursorType getCursorFromString(const std::string& cursor_string)
cursor_string_table["UI_CURSOR_TOOLBUY"] = UI_CURSOR_TOOLBUY;
cursor_string_table["UI_CURSOR_TOOLPAY"] = UI_CURSOR_TOOLPAY;
cursor_string_table["UI_CURSOR_TOOLOPEN"] = UI_CURSOR_TOOLOPEN;
cursor_string_table["UI_CURSOR_TOOLPATHFINDING"] = UI_CURSOR_TOOLPATHFINDING;
cursor_string_table["UI_CURSOR_TOOLPATHFINDINGPATHSTART"] = UI_CURSOR_TOOLPATHFINDING_PATH_START;
cursor_string_table["UI_CURSOR_TOOLPATHFINDINGPATHSTARTADD"] = UI_CURSOR_TOOLPATHFINDING_PATH_START_ADD;
cursor_string_table["UI_CURSOR_TOOLPATHFINDINGPATHEND"] = UI_CURSOR_TOOLPATHFINDING_PATH_END;
cursor_string_table["UI_CURSOR_TOOLPATHFINDINGPATHENDADD"] = UI_CURSOR_TOOLPATHFINDING_PATH_END_ADD;
cursor_string_table["UI_CURSOR_TOOLNO"] = UI_CURSOR_TOOLNO;
}
std::map<std::string,U32>::const_iterator iter = cursor_string_table.find(cursor_string);

View File

@ -66,6 +66,12 @@ enum ECursorType {
UI_CURSOR_TOOLBUY,
UI_CURSOR_TOOLPAY,
UI_CURSOR_TOOLOPEN,
UI_CURSOR_TOOLPATHFINDING,
UI_CURSOR_TOOLPATHFINDING_PATH_START,
UI_CURSOR_TOOLPATHFINDING_PATH_START_ADD,
UI_CURSOR_TOOLPATHFINDING_PATH_END,
UI_CURSOR_TOOLPATHFINDING_PATH_END_ADD,
UI_CURSOR_TOOLNO,
UI_CURSOR_COUNT // Number of elements in this enum (NOT a cursor)
};

View File

@ -537,7 +537,7 @@ namespace
}
void commonInit(const std::string& dir)
void commonInit(const std::string& dir, bool log_to_stderr = true)
{
LLError::Settings::reset();
@ -545,7 +545,8 @@ namespace
LLError::setFatalFunction(LLError::crashAndLoop);
LLError::setTimeFunction(LLError::utcTime);
if (shouldLogToStderr())
// log_to_stderr is only false in the unit and integration tests to keep builds quieter
if (log_to_stderr && shouldLogToStderr())
{
LLError::addRecorder(new RecordToStderr(stderrLogWantsTime()));
}
@ -583,9 +584,9 @@ namespace LLError
#endif
}
void initForApplication(const std::string& dir)
void initForApplication(const std::string& dir, bool log_to_stderr)
{
commonInit(dir);
commonInit(dir, log_to_stderr);
}
void setPrintLocation(bool print)

View File

@ -35,7 +35,7 @@
#include "stdtypes.h"
/* Error Logging Facility
/** Error Logging Facility
Information for most users:
@ -100,7 +100,6 @@
even release. Which means you can use them to help debug even when deployed
to a real grid.
*/
namespace LLError
{
enum ELevel
@ -143,9 +142,13 @@ namespace LLError
CallSite(ELevel, const char* file, int line,
const std::type_info& class_info, const char* function, const char* broadTag, const char* narrowTag, bool printOnce);
#ifdef LL_LIBRARY_INCLUDE
bool shouldLog();
#else // LL_LIBRARY_INCLUDE
bool shouldLog()
{ return mCached ? mShouldLog : Log::shouldLog(*this); }
// this member function needs to be in-line for efficiency
#endif // LL_LIBRARY_INCLUDE
void invalidate();

View File

@ -62,7 +62,7 @@ namespace LLError
// logs to stderr, syslog, and windows debug log
// the identity string is used for in the syslog
LL_COMMON_API void initForApplication(const std::string& dir);
LL_COMMON_API void initForApplication(const std::string& dir, bool log_to_stderr = true);
// resets all logging settings to defaults needed by applicaitons
// logs to stderr and windows debug log
// sets up log configuration from the file logcontrol.xml in dir

View File

@ -515,4 +515,12 @@ void LLPrivateMemoryPoolTester::operator delete[](void* addr)
// LLSingleton moved to llsingleton.h
// <FS:ND> HACK! There are times when there's pointer that are not 0, but 1
// This is to find those and research where they are coming.
inline bool ndIsValidPtr( void const *aPtr )
{
return aPtr > (void*)0x3FF;
}
// </FS:ND>
#endif

View File

@ -140,6 +140,10 @@ public:
}
protected:
#ifdef LL_LIBRARY_INCLUDE
void ref();
void unref();
#else
void ref()
{
if (mPointer)
@ -162,7 +166,7 @@ protected:
}
}
}
#endif
protected:
Type* mPointer;
};

View File

@ -55,6 +55,10 @@ static const char LEGACY_NON_HEADER[] = "<llsd>";
const std::string LLSD_BINARY_HEADER("LLSD/Binary");
const std::string LLSD_XML_HEADER("LLSD/XML");
//used to deflate a gzipped asset (currently used for navmeshes)
#define windowBits 15
#define ENABLE_ZLIB_GZIP 32
/**
* LLSDSerialize
*/
@ -2100,7 +2104,7 @@ bool unzip_llsd(LLSD& data, std::istream& is, S32 size)
strm.next_in = in;
S32 ret = inflateInit(&strm);
do
{
strm.avail_out = CHUNK;
@ -2163,12 +2167,87 @@ bool unzip_llsd(LLSD& data, std::istream& is, S32 size)
llwarns << "Failed to unzip LLSD block" << llendl;
free(result);
return false;
}
}
}
free(result);
return true;
}
//This unzip function will only work with a gzip header and trailer - while the contents
//of the actual compressed data is the same for either format (gzip vs zlib ), the headers
//and trailers are different for the formats.
U8* unzip_llsdNavMesh( bool& valid, unsigned int& outsize, std::istream& is, S32 size )
{
U8* result = NULL;
U32 cur_size = 0;
z_stream strm;
const U32 CHUNK = 0x4000;
U8 *in = new U8[size];
is.read((char*) in, size);
U8 out[CHUNK];
strm.zalloc = Z_NULL;
strm.zfree = Z_NULL;
strm.opaque = Z_NULL;
strm.avail_in = size;
strm.next_in = in;
S32 ret = inflateInit2(&strm, windowBits | ENABLE_ZLIB_GZIP );
do
{
strm.avail_out = CHUNK;
strm.next_out = out;
ret = inflate(&strm, Z_NO_FLUSH);
if (ret == Z_STREAM_ERROR)
{
inflateEnd(&strm);
free(result);
delete [] in;
valid = false;
}
switch (ret)
{
case Z_NEED_DICT:
ret = Z_DATA_ERROR;
case Z_DATA_ERROR:
case Z_MEM_ERROR:
inflateEnd(&strm);
free(result);
delete [] in;
valid = false;
break;
}
U32 have = CHUNK-strm.avail_out;
result = (U8*) realloc(result, cur_size + have);
memcpy(result+cur_size, out, have);
cur_size += have;
} while (ret == Z_OK);
inflateEnd(&strm);
delete [] in;
if (ret != Z_STREAM_END)
{
free(result);
valid = false;
return NULL;
}
//result now points to the decompressed LLSD block
{
outsize= cur_size;
valid = true;
}
return result;
}

View File

@ -793,5 +793,5 @@ public:
//dirty little zip functions -- yell at davep
LL_COMMON_API std::string zip_llsd(LLSD& data);
LL_COMMON_API bool unzip_llsd(LLSD& data, std::istream& is, S32 size);
LL_COMMON_API U8* unzip_llsdNavMesh( bool& valid, unsigned int& outsize,std::istream& is, S32 size);
#endif // LL_LLSDSERIALIZE_H

View File

@ -40,7 +40,6 @@
S32 LLPerfBlock::sStatsFlags = LLPerfBlock::LLSTATS_NO_OPTIONAL_STATS; // Control what is being recorded
LLPerfBlock::stat_map_t LLPerfBlock::sStatMap; // Map full path string to LLStatTime objects, tracks all active objects
std::string LLPerfBlock::sCurrentStatPath = ""; // Something like "/total_time/physics/physics step"
LLStat::stat_map_t LLStat::sStatList;
//------------------------------------------------------------------------
// Live config file to trigger stats logging
@ -771,13 +770,19 @@ void LLStat::init()
if (!mName.empty())
{
stat_map_t::iterator iter = sStatList.find(mName);
if (iter != sStatList.end())
stat_map_t::iterator iter = getStatList().find(mName);
if (iter != getStatList().end())
llwarns << "LLStat with duplicate name: " << mName << llendl;
sStatList.insert(std::make_pair(mName, this));
getStatList().insert(std::make_pair(mName, this));
}
}
LLStat::stat_map_t& LLStat::getStatList()
{
static LLStat::stat_map_t stat_list;
return stat_list;
}
LLStat::LLStat(const U32 num_bins, const BOOL use_frame_timer)
: mUseFrameTimer(use_frame_timer),
mNumBins(num_bins)
@ -803,10 +808,10 @@ LLStat::~LLStat()
if (!mName.empty())
{
// handle multiple entries with the same name
stat_map_t::iterator iter = sStatList.find(mName);
while (iter != sStatList.end() && iter->second != this)
stat_map_t::iterator iter = getStatList().find(mName);
while (iter != getStatList().end() && iter->second != this)
++iter;
sStatList.erase(iter);
getStatList().erase(iter);
}
}

View File

@ -263,9 +263,9 @@ class LL_COMMON_API LLStat
{
private:
typedef std::multimap<std::string, LLStat*> stat_map_t;
static stat_map_t sStatList;
void init();
static stat_map_t& getStatList();
public:
LLStat(U32 num_bins = 32, BOOL use_frame_timer = FALSE);
@ -342,8 +342,8 @@ public:
static LLStat* getStat(const std::string& name)
{
// return the first stat that matches 'name'
stat_map_t::iterator iter = sStatList.find(name);
if (iter != sStatList.end())
stat_map_t::iterator iter = getStatList().find(name);
if (iter != getStatList().end())
return iter->second;
else
return NULL;

View File

@ -28,41 +28,48 @@
enum
{
LL_SIM_STAT_TIME_DILATION, // 0
LL_SIM_STAT_FPS,
LL_SIM_STAT_PHYSFPS,
LL_SIM_STAT_AGENTUPS,
LL_SIM_STAT_FRAMEMS,
LL_SIM_STAT_NETMS, // 5
LL_SIM_STAT_SIMOTHERMS,
LL_SIM_STAT_SIMPHYSICSMS,
LL_SIM_STAT_AGENTMS,
LL_SIM_STAT_IMAGESMS,
LL_SIM_STAT_SCRIPTMS, // 10
LL_SIM_STAT_NUMTASKS,
LL_SIM_STAT_NUMTASKSACTIVE,
LL_SIM_STAT_NUMAGENTMAIN,
LL_SIM_STAT_NUMAGENTCHILD,
LL_SIM_STAT_NUMSCRIPTSACTIVE, // 15
LL_SIM_STAT_LSLIPS,
LL_SIM_STAT_INPPS,
LL_SIM_STAT_OUTPPS,
LL_SIM_STAT_PENDING_DOWNLOADS,
LL_SIM_STAT_PENDING_UPLOADS, // 20
LL_SIM_STAT_VIRTUAL_SIZE_KB,
LL_SIM_STAT_RESIDENT_SIZE_KB,
LL_SIM_STAT_PENDING_LOCAL_UPLOADS,
LL_SIM_STAT_TOTAL_UNACKED_BYTES,
LL_SIM_STAT_PHYSICS_PINNED_TASKS, // 25
LL_SIM_STAT_PHYSICS_LOD_TASKS,
LL_SIM_STAT_SIMPHYSICSSTEPMS,
LL_SIM_STAT_SIMPHYSICSSHAPEMS,
LL_SIM_STAT_SIMPHYSICSOTHERMS,
LL_SIM_STAT_SIMPHYSICSMEMORY, // 30
LL_SIM_STAT_SCRIPT_EPS,
LL_SIM_STAT_SIMSPARETIME,
LL_SIM_STAT_SIMSLEEPTIME,
LL_SIM_STAT_IOPUMPTIME,
LL_SIM_STAT_TIME_DILATION = 0,
LL_SIM_STAT_FPS = 1,
LL_SIM_STAT_PHYSFPS = 2,
LL_SIM_STAT_AGENTUPS = 3,
LL_SIM_STAT_FRAMEMS = 4,
LL_SIM_STAT_NETMS = 5,
LL_SIM_STAT_SIMOTHERMS = 6,
LL_SIM_STAT_SIMPHYSICSMS = 7,
LL_SIM_STAT_AGENTMS = 8,
LL_SIM_STAT_IMAGESMS = 9,
LL_SIM_STAT_SCRIPTMS = 10,
LL_SIM_STAT_NUMTASKS = 11,
LL_SIM_STAT_NUMTASKSACTIVE = 12,
LL_SIM_STAT_NUMAGENTMAIN = 13,
LL_SIM_STAT_NUMAGENTCHILD = 14,
LL_SIM_STAT_NUMSCRIPTSACTIVE = 15,
LL_SIM_STAT_LSLIPS = 16,
LL_SIM_STAT_INPPS = 17,
LL_SIM_STAT_OUTPPS = 18,
LL_SIM_STAT_PENDING_DOWNLOADS = 19,
LL_SIM_STAT_PENDING_UPLOADS = 20,
LL_SIM_STAT_VIRTUAL_SIZE_KB = 21,
LL_SIM_STAT_RESIDENT_SIZE_KB = 22,
LL_SIM_STAT_PENDING_LOCAL_UPLOADS = 23,
LL_SIM_STAT_TOTAL_UNACKED_BYTES = 24,
LL_SIM_STAT_PHYSICS_PINNED_TASKS = 25,
LL_SIM_STAT_PHYSICS_LOD_TASKS = 26,
LL_SIM_STAT_SIMPHYSICSSTEPMS = 27,
LL_SIM_STAT_SIMPHYSICSSHAPEMS = 28,
LL_SIM_STAT_SIMPHYSICSOTHERMS = 29,
LL_SIM_STAT_SIMPHYSICSMEMORY = 30,
LL_SIM_STAT_SCRIPT_EPS = 31,
LL_SIM_STAT_SIMSPARETIME = 32,
LL_SIM_STAT_SIMSLEEPTIME = 33,
LL_SIM_STAT_IOPUMPTIME = 34,
LL_SIM_STAT_PCTSCRIPTSRUN = 35,
LL_SIM_STAT_REGION_IDLE = 36, // dataserver only
LL_SIM_STAT_REGION_IDLE_POSSIBLE = 37, // dataserver only
LL_SIM_STAT_SIMAISTEPTIMEMS = 38,
LL_SIM_STAT_SKIPPEDAISILSTEPS_PS = 39,
LL_SIM_STAT_PCTSTEPPEDCHARACTERS = 40
};
#endif

View File

@ -161,10 +161,14 @@ namespace
{ return LLURI::escape(s, unreserved() + sub_delims() +":"); }
std::string escapePathComponent(const std::string& s)
{ return LLURI::escape(s, unreserved() + sub_delims() + ":@"); }
// <exodus>
// Removed the '+' because some servers rely on it being removed and
// no server relies on the contrary.
std::string escapeQueryVariable(const std::string& s)
{ return LLURI::escape(s, unreserved() + ":@!$'()*+,"); } // sub_delims - "&;=" + ":@"
{ return LLURI::escape(s, unreserved() + ":@!$'()*,"); } // sub_delims - "&;+=" + ":@"
std::string escapeQueryValue(const std::string& s)
{ return LLURI::escape(s, unreserved() + ":@!$'()*+,="); } // sub_delims - "&;" + ":@"
{ return LLURI::escape(s, unreserved() + ":@!$'()*,="); } // sub_delims - "&;+" + ":@"
// </exodus>
}
//static

View File

@ -922,3 +922,174 @@ LLAssetID LLTransactionID::makeAssetID(const LLUUID& session) const
}
return result;
}
// Construct
LLUUID::LLUUID()
{
setNull();
}
// Faster than copying from memory
void LLUUID::setNull()
{
U32 *word = (U32 *)mData;
word[0] = 0;
word[1] = 0;
word[2] = 0;
word[3] = 0;
}
// Compare
bool LLUUID::operator==(const LLUUID& rhs) const
{
U32 *tmp = (U32 *)mData;
U32 *rhstmp = (U32 *)rhs.mData;
// Note: binary & to avoid branching
return
(tmp[0] == rhstmp[0]) &
(tmp[1] == rhstmp[1]) &
(tmp[2] == rhstmp[2]) &
(tmp[3] == rhstmp[3]);
}
bool LLUUID::operator!=(const LLUUID& rhs) const
{
U32 *tmp = (U32 *)mData;
U32 *rhstmp = (U32 *)rhs.mData;
// Note: binary | to avoid branching
return
(tmp[0] != rhstmp[0]) |
(tmp[1] != rhstmp[1]) |
(tmp[2] != rhstmp[2]) |
(tmp[3] != rhstmp[3]);
}
/*
// JC: This is dangerous. It allows UUIDs to be cast automatically
// to integers, among other things. Use isNull() or notNull().
LLUUID::operator bool() const
{
U32 *word = (U32 *)mData;
return (word[0] | word[1] | word[2] | word[3]) > 0;
}
*/
BOOL LLUUID::notNull() const
{
U32 *word = (U32 *)mData;
return (word[0] | word[1] | word[2] | word[3]) > 0;
}
// Faster than == LLUUID::null because doesn't require
// as much memory access.
BOOL LLUUID::isNull() const
{
U32 *word = (U32 *)mData;
// If all bits are zero, return !0 == TRUE
return !(word[0] | word[1] | word[2] | word[3]);
}
// Copy constructor
LLUUID::LLUUID(const LLUUID& rhs)
{
U32 *tmp = (U32 *)mData;
U32 *rhstmp = (U32 *)rhs.mData;
tmp[0] = rhstmp[0];
tmp[1] = rhstmp[1];
tmp[2] = rhstmp[2];
tmp[3] = rhstmp[3];
}
LLUUID::~LLUUID()
{
}
// Assignment
LLUUID& LLUUID::operator=(const LLUUID& rhs)
{
// No need to check the case where this==&rhs. The branch is slower than the write.
U32 *tmp = (U32 *)mData;
U32 *rhstmp = (U32 *)rhs.mData;
tmp[0] = rhstmp[0];
tmp[1] = rhstmp[1];
tmp[2] = rhstmp[2];
tmp[3] = rhstmp[3];
return *this;
}
LLUUID::LLUUID(const char *in_string)
{
if (!in_string || in_string[0] == 0)
{
setNull();
return;
}
set(in_string);
}
LLUUID::LLUUID(const std::string& in_string)
{
if (in_string.empty())
{
setNull();
return;
}
set(in_string);
}
// IW: DON'T "optimize" these w/ U32s or you'll scoogie the sort order
// IW: this will make me very sad
bool LLUUID::operator<(const LLUUID &rhs) const
{
U32 i;
for( i = 0; i < (UUID_BYTES - 1); i++ )
{
if( mData[i] != rhs.mData[i] )
{
return (mData[i] < rhs.mData[i]);
}
}
return (mData[UUID_BYTES - 1] < rhs.mData[UUID_BYTES - 1]);
}
bool LLUUID::operator>(const LLUUID &rhs) const
{
U32 i;
for( i = 0; i < (UUID_BYTES - 1); i++ )
{
if( mData[i] != rhs.mData[i] )
{
return (mData[i] > rhs.mData[i]);
}
}
return (mData[UUID_BYTES - 1] > rhs.mData[UUID_BYTES - 1]);
}
U16 LLUUID::getCRC16() const
{
// A UUID is 16 bytes, or 8 shorts.
U16 *short_data = (U16*)mData;
U16 out = 0;
out += short_data[0];
out += short_data[1];
out += short_data[2];
out += short_data[3];
out += short_data[4];
out += short_data[5];
out += short_data[6];
out += short_data[7];
return out;
}
U32 LLUUID::getCRC32() const
{
U32 *tmp = (U32*)mData;
return tmp[0] + tmp[1] + tmp[2] + tmp[3];
}

View File

@ -129,177 +129,6 @@ public:
typedef std::vector<LLUUID> uuid_vec_t;
// Construct
inline LLUUID::LLUUID()
{
setNull();
}
// Faster than copying from memory
inline void LLUUID::setNull()
{
U32 *word = (U32 *)mData;
word[0] = 0;
word[1] = 0;
word[2] = 0;
word[3] = 0;
}
// Compare
inline bool LLUUID::operator==(const LLUUID& rhs) const
{
U32 *tmp = (U32 *)mData;
U32 *rhstmp = (U32 *)rhs.mData;
// Note: binary & to avoid branching
return
(tmp[0] == rhstmp[0]) &
(tmp[1] == rhstmp[1]) &
(tmp[2] == rhstmp[2]) &
(tmp[3] == rhstmp[3]);
}
inline bool LLUUID::operator!=(const LLUUID& rhs) const
{
U32 *tmp = (U32 *)mData;
U32 *rhstmp = (U32 *)rhs.mData;
// Note: binary | to avoid branching
return
(tmp[0] != rhstmp[0]) |
(tmp[1] != rhstmp[1]) |
(tmp[2] != rhstmp[2]) |
(tmp[3] != rhstmp[3]);
}
/*
// JC: This is dangerous. It allows UUIDs to be cast automatically
// to integers, among other things. Use isNull() or notNull().
inline LLUUID::operator bool() const
{
U32 *word = (U32 *)mData;
return (word[0] | word[1] | word[2] | word[3]) > 0;
}
*/
inline BOOL LLUUID::notNull() const
{
U32 *word = (U32 *)mData;
return (word[0] | word[1] | word[2] | word[3]) > 0;
}
// Faster than == LLUUID::null because doesn't require
// as much memory access.
inline BOOL LLUUID::isNull() const
{
U32 *word = (U32 *)mData;
// If all bits are zero, return !0 == TRUE
return !(word[0] | word[1] | word[2] | word[3]);
}
// Copy constructor
inline LLUUID::LLUUID(const LLUUID& rhs)
{
U32 *tmp = (U32 *)mData;
U32 *rhstmp = (U32 *)rhs.mData;
tmp[0] = rhstmp[0];
tmp[1] = rhstmp[1];
tmp[2] = rhstmp[2];
tmp[3] = rhstmp[3];
}
inline LLUUID::~LLUUID()
{
}
// Assignment
inline LLUUID& LLUUID::operator=(const LLUUID& rhs)
{
// No need to check the case where this==&rhs. The branch is slower than the write.
U32 *tmp = (U32 *)mData;
U32 *rhstmp = (U32 *)rhs.mData;
tmp[0] = rhstmp[0];
tmp[1] = rhstmp[1];
tmp[2] = rhstmp[2];
tmp[3] = rhstmp[3];
return *this;
}
inline LLUUID::LLUUID(const char *in_string)
{
if (!in_string || in_string[0] == 0)
{
setNull();
return;
}
set(in_string);
}
inline LLUUID::LLUUID(const std::string& in_string)
{
if (in_string.empty())
{
setNull();
return;
}
set(in_string);
}
// IW: DON'T "optimize" these w/ U32s or you'll scoogie the sort order
// IW: this will make me very sad
inline bool LLUUID::operator<(const LLUUID &rhs) const
{
U32 i;
for( i = 0; i < (UUID_BYTES - 1); i++ )
{
if( mData[i] != rhs.mData[i] )
{
return (mData[i] < rhs.mData[i]);
}
}
return (mData[UUID_BYTES - 1] < rhs.mData[UUID_BYTES - 1]);
}
inline bool LLUUID::operator>(const LLUUID &rhs) const
{
U32 i;
for( i = 0; i < (UUID_BYTES - 1); i++ )
{
if( mData[i] != rhs.mData[i] )
{
return (mData[i] > rhs.mData[i]);
}
}
return (mData[UUID_BYTES - 1] > rhs.mData[UUID_BYTES - 1]);
}
inline U16 LLUUID::getCRC16() const
{
// A UUID is 16 bytes, or 8 shorts.
U16 *short_data = (U16*)mData;
U16 out = 0;
out += short_data[0];
out += short_data[1];
out += short_data[2];
out += short_data[3];
out += short_data[4];
out += short_data[5];
out += short_data[6];
out += short_data[7];
return out;
}
inline U32 LLUUID::getCRC32() const
{
U32 *tmp = (U32*)mData;
return tmp[0] + tmp[1] + tmp[2] + tmp[3];
}
// Helper structure for ordering lluuids in stl containers.
// eg: std::map<LLUUID, LLWidget*, lluuid_less> widget_map;
@ -329,3 +158,5 @@ public:
};
#endif

View File

@ -34,6 +34,8 @@ class LLVector4;
#include "llmath.h"
#include "llsd.h"
#include <string.h> // <FS:ND/> for strlen/strncpy
// LLColor3 = |r g b|
static const U32 LENGTHOFCOLOR3 = 3;

View File

@ -690,8 +690,10 @@ void LLAvatarNameCache::fireSignal(const LLUUID& agent_id,
signal(agent_id, av_name);
}
void LLAvatarNameCache::get(const LLUUID& agent_id, callback_slot_t slot)
LLAvatarNameCache::callback_connection_t LLAvatarNameCache::get(const LLUUID& agent_id, callback_slot_t slot)
{
callback_connection_t connection;
if (sRunning)
{
// ...only do immediate lookups when cache is running
@ -720,7 +722,7 @@ void LLAvatarNameCache::get(const LLUUID& agent_id, callback_slot_t slot)
// ...name already exists in cache, fire callback now
LL_DEBUGS("AvNameCache") << "DN cache hit valid" << llendl;
fireSignal(agent_id, slot, av_name);
return;
return connection;
}
// If we get here, our DN is expired.
@ -739,7 +741,7 @@ void LLAvatarNameCache::get(const LLUUID& agent_id, callback_slot_t slot)
LLAvatarName av_name;
buildLegacyName(full_name, &av_name);
fireSignal(agent_id, slot, av_name);
return;
return connection;
}
}
@ -763,15 +765,17 @@ void LLAvatarNameCache::get(const LLUUID& agent_id, callback_slot_t slot)
{
// ...new callback for this id
callback_signal_t* signal = new callback_signal_t();
signal->connect(slot);
connection = signal->connect(slot);
sSignalMap[agent_id] = signal;
}
else
{
// ...existing callback, bind additional slot
callback_signal_t* signal = sig_it->second;
signal->connect(slot);
connection = signal->connect(slot);
}
return connection;
}
// [RLVa:KB] - Checked: 2010-12-08 (RLVa-1.4.0a) | Added: RLVa-1.2.2c

View File

@ -71,10 +71,11 @@ namespace LLAvatarNameCache
void (const LLUUID& agent_id, const LLAvatarName& av_name)>
callback_signal_t;
typedef callback_signal_t::slot_type callback_slot_t;
typedef boost::signals2::connection callback_connection_t;
// Fetches name information and calls callback.
// If name information is in cache, callback will be called immediately.
void get(const LLUUID& agent_id, callback_slot_t slot);
callback_connection_t get(const LLUUID& agent_id, callback_slot_t slot);
// Allow display names to be explicitly disabled for testing.
void setUseDisplayNames(bool use);

View File

@ -943,7 +943,6 @@ char const* const _PREHASH_SysGPU = LLMessageStringTable::getInstance()->getStri
char const* const _PREHASH_AvatarInterestsReply = LLMessageStringTable::getInstance()->getString("AvatarInterestsReply");
char const* const _PREHASH_StartLure = LLMessageStringTable::getInstance()->getString("StartLure");
char const* const _PREHASH_SysRAM = LLMessageStringTable::getInstance()->getString("SysRAM");
char const* const _PREHASH_ObjectPosition = LLMessageStringTable::getInstance()->getString("ObjectPosition");
char const* const _PREHASH_SitPosition = LLMessageStringTable::getInstance()->getString("SitPosition");
char const* const _PREHASH_StartTime = LLMessageStringTable::getInstance()->getString("StartTime");
char const* const _PREHASH_BornOn = LLMessageStringTable::getInstance()->getString("BornOn");
@ -999,7 +998,6 @@ char const* const _PREHASH_SnapshotID = LLMessageStringTable::getInstance()->get
char const* const _PREHASH_Aspect = LLMessageStringTable::getInstance()->getString("Aspect");
char const* const _PREHASH_ParamSize = LLMessageStringTable::getInstance()->getString("ParamSize");
char const* const _PREHASH_VoteCast = LLMessageStringTable::getInstance()->getString("VoteCast");
char const* const _PREHASH_CastsShadows = LLMessageStringTable::getInstance()->getString("CastsShadows");
char const* const _PREHASH_EveryoneMask = LLMessageStringTable::getInstance()->getString("EveryoneMask");
char const* const _PREHASH_ObjectSpinUpdate = LLMessageStringTable::getInstance()->getString("ObjectSpinUpdate");
char const* const _PREHASH_MaturePublish = LLMessageStringTable::getInstance()->getString("MaturePublish");
@ -1048,7 +1046,6 @@ char const* const _PREHASH_SimIP = LLMessageStringTable::getInstance()->getStrin
char const* const _PREHASH_GodID = LLMessageStringTable::getInstance()->getString("GodID");
char const* const _PREHASH_TeleportMinPrice = LLMessageStringTable::getInstance()->getString("TeleportMinPrice");
char const* const _PREHASH_VoteItem = LLMessageStringTable::getInstance()->getString("VoteItem");
char const* const _PREHASH_ObjectRotation = LLMessageStringTable::getInstance()->getString("ObjectRotation");
char const* const _PREHASH_SitRotation = LLMessageStringTable::getInstance()->getString("SitRotation");
char const* const _PREHASH_SnapSelection = LLMessageStringTable::getInstance()->getString("SnapSelection");
char const* const _PREHASH_SoundTrigger = LLMessageStringTable::getInstance()->getString("SoundTrigger");

View File

@ -943,7 +943,6 @@ extern char const* const _PREHASH_SysGPU;
extern char const* const _PREHASH_AvatarInterestsReply;
extern char const* const _PREHASH_StartLure;
extern char const* const _PREHASH_SysRAM;
extern char const* const _PREHASH_ObjectPosition;
extern char const* const _PREHASH_SitPosition;
extern char const* const _PREHASH_StartTime;
extern char const* const _PREHASH_BornOn;
@ -999,7 +998,6 @@ extern char const* const _PREHASH_SnapshotID;
extern char const* const _PREHASH_Aspect;
extern char const* const _PREHASH_ParamSize;
extern char const* const _PREHASH_VoteCast;
extern char const* const _PREHASH_CastsShadows;
extern char const* const _PREHASH_EveryoneMask;
extern char const* const _PREHASH_ObjectSpinUpdate;
extern char const* const _PREHASH_MaturePublish;
@ -1048,7 +1046,6 @@ extern char const* const _PREHASH_SimIP;
extern char const* const _PREHASH_GodID;
extern char const* const _PREHASH_TeleportMinPrice;
extern char const* const _PREHASH_VoteItem;
extern char const* const _PREHASH_ObjectRotation;
extern char const* const _PREHASH_SitRotation;
extern char const* const _PREHASH_SnapSelection;
extern char const* const _PREHASH_SoundTrigger;

View File

@ -7,16 +7,16 @@ include(LLCommon)
include(LLMath)
include(LLMessage)
include(LLXML)
include(HACD)
include(LLPhysicsExtensions)
include_directories(
${LLCOMMON_INCLUDE_DIRS}
${LLMATH_INCLUDE_DIRS}
${LLMESSAGE_INCLUDE_DIRS}
${LLXML_INCLUDE_DIRS}
${LLPHYSICSEXTENSIONS_INCLUDE_DIRS}
${LIBS_PREBUILT_DIR}/include/collada
${LIBS_PREBUILT_DIR}/include/collada/1.4
${HACD_INCLUDE_DIR}
)
set(llprimitive_SOURCE_FILES

View File

@ -28,43 +28,48 @@
#define LL_OBJECT_FLAGS_H
// downstream flags from sim->viewer
const U32 FLAGS_USE_PHYSICS = 0x00000001;
const U32 FLAGS_CREATE_SELECTED = 0x00000002;
const U32 FLAGS_OBJECT_MODIFY = 0x00000004;
const U32 FLAGS_OBJECT_COPY = 0x00000008;
const U32 FLAGS_OBJECT_ANY_OWNER = 0x00000010;
const U32 FLAGS_OBJECT_YOU_OWNER = 0x00000020;
const U32 FLAGS_SCRIPTED = 0x00000040;
const U32 FLAGS_HANDLE_TOUCH = 0x00000080;
const U32 FLAGS_OBJECT_MOVE = 0x00000100;
const U32 FLAGS_TAKES_MONEY = 0x00000200;
const U32 FLAGS_PHANTOM = 0x00000400;
const U32 FLAGS_INVENTORY_EMPTY = 0x00000800;
const U32 FLAGS_USE_PHYSICS = (1U << 0);
const U32 FLAGS_CREATE_SELECTED = (1U << 1);
const U32 FLAGS_OBJECT_MODIFY = (1U << 2);
const U32 FLAGS_OBJECT_COPY = (1U << 3);
const U32 FLAGS_OBJECT_ANY_OWNER = (1U << 4);
const U32 FLAGS_OBJECT_YOU_OWNER = (1U << 5);
const U32 FLAGS_SCRIPTED = (1U << 6);
const U32 FLAGS_HANDLE_TOUCH = (1U << 7);
const U32 FLAGS_OBJECT_MOVE = (1U << 8);
const U32 FLAGS_TAKES_MONEY = (1U << 9);
const U32 FLAGS_PHANTOM = (1U << 10);
const U32 FLAGS_INVENTORY_EMPTY = (1U << 11);
const U32 FLAGS_JOINT_HINGE = 0x00001000;
const U32 FLAGS_JOINT_P2P = 0x00002000;
const U32 FLAGS_JOINT_LP2P = 0x00004000;
// const U32 FLAGS_JOINT_WHEEL = 0x00008000;
const U32 FLAGS_INCLUDE_IN_SEARCH = 0x00008000;
const U32 FLAGS_AFFECTS_NAVMESH = (1U << 12);
const U32 FLAGS_CHARACTER = (1U << 13);
const U32 FLAGS_VOLUME_DETECT = (1U << 14);
const U32 FLAGS_INCLUDE_IN_SEARCH = (1U << 15);
const U32 FLAGS_ALLOW_INVENTORY_DROP = 0x00010000;
const U32 FLAGS_OBJECT_TRANSFER = 0x00020000;
const U32 FLAGS_OBJECT_GROUP_OWNED = 0x00040000;
//const U32 FLAGS_OBJECT_YOU_OFFICER = 0x00080000;
const U32 FLAGS_ALLOW_INVENTORY_DROP = (1U << 16);
const U32 FLAGS_OBJECT_TRANSFER = (1U << 17);
const U32 FLAGS_OBJECT_GROUP_OWNED = (1U << 18);
//const U32 FLAGS_UNUSED_000 = (1U << 19); // was FLAGS_OBJECT_YOU_OFFICER
const U32 FLAGS_CAMERA_DECOUPLED = 0x00100000;
const U32 FLAGS_ANIM_SOURCE = 0x00200000;
const U32 FLAGS_CAMERA_SOURCE = 0x00400000;
const U32 FLAGS_CAMERA_DECOUPLED = (1U << 20);
const U32 FLAGS_ANIM_SOURCE = (1U << 21);
const U32 FLAGS_CAMERA_SOURCE = (1U << 22);
const U32 FLAGS_CAST_SHADOWS = 0x00800000;
//const U32 FLAGS_UNUSED_001 = (1U << 23); // was FLAGS_CAST_SHADOWS
const U32 FLAGS_OBJECT_OWNER_MODIFY = 0x10000000;
//const U32 FLAGS_UNUSED_002 = (1U << 24);
//const U32 FLAGS_UNUSED_003 = (1U << 25);
//const U32 FLAGS_UNUSED_004 = (1U << 26);
//const U32 FLAGS_UNUSED_005 = (1U << 27);
const U32 FLAGS_TEMPORARY_ON_REZ = 0x20000000;
const U32 FLAGS_TEMPORARY = 0x40000000;
const U32 FLAGS_ZLIB_COMPRESSED = 0x80000000;
const U32 FLAGS_OBJECT_OWNER_MODIFY = (1U << 28);
const U32 FLAGS_LOCAL = FLAGS_ANIM_SOURCE | FLAGS_CAMERA_SOURCE;
const U32 FLAGS_TEMPORARY_ON_REZ = (1U << 29);
const U32 FLAGS_TEMPORARY = (1U << 30); // readded for FS do to use in pie and area serch FS:TM
//const U32 FLAGS_UNUSED_006 = (1U << 30); // was FLAGS_TEMPORARY
//const U32 FLAGS_UNUSED_007 = (1U << 31); // was FLAGS_ZLIB_COMPRESSED
const U32 FLAGS_LOCAL = FLAGS_ANIM_SOURCE | FLAGS_CAMERA_SOURCE;
typedef enum e_havok_joint_type
{
@ -77,4 +82,3 @@ typedef enum e_havok_joint_type
} EHavokJointType;
#endif

View File

@ -36,6 +36,7 @@ set(llrender_SOURCE_FILES
llglslshader.cpp
llimagegl.cpp
llpostprocess.cpp
llrendernavprim.cpp
llrendersphere.cpp
llshadermgr.cpp
lltexture.cpp
@ -59,6 +60,7 @@ set(llrender_HEADER_FILES
llimagegl.h
llpostprocess.h
llrender.h
llrendernavprim.h
llrendersphere.h
llshadermgr.h
lltexture.h

View File

@ -1002,7 +1002,7 @@ LLFontGL* LLFontGL::getFontSansSerifBig()
//static
LLFontGL* LLFontGL::getFontSansSerifHuge()
{
static LLFontGL* fontp = getFont(LLFontDescriptor("SansSerif","Large",0));
static LLFontGL* fontp = getFont(LLFontDescriptor("SansSerif","Huge",0));
return fontp;
}

View File

@ -0,0 +1,59 @@
/**
* @file llrendernavprim.cpp
* @brief Implementation of llrendernavprim
* @author Prep@lindenlab.com
*
* $LicenseInfo:firstyear=2012&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2012, Linden Research, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
#include "linden_common.h"
#include "llrendernavprim.h"
#include "llrender.h"
#include "llvertexbuffer.h"
#include "v4coloru.h"
#include "v3math.h"
//=============================================================================
LLRenderNavPrim gRenderNav;
//=============================================================================
void LLRenderNavPrim::renderLLTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, const LLColor4U& color ) const
{
LLColor4 cV(color);
gGL.color4fv( cV.mV );
gGL.begin(LLRender::TRIANGLES);
{
gGL.vertex3fv( a.mV );
gGL.vertex3fv( b.mV );
gGL.vertex3fv( c.mV );
}
gGL.end();
}
//=============================================================================
void LLRenderNavPrim::renderNavMeshVB( U32 mode, LLVertexBuffer* pVBO, int vertCnt )
{
pVBO->setBuffer( LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_COLOR | LLVertexBuffer::MAP_NORMAL );
pVBO->drawArrays( mode, 0, vertCnt );
}
//=============================================================================

View File

@ -0,0 +1,49 @@
/**
* @file llrendernavprim.h
* @brief Header file for llrendernavprim
* @author Prep@lindenlab.com
*
* $LicenseInfo:firstyear=2012&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2012, Linden Research, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
#ifndef LL_LLRENDERNAVPRIM_H
#define LL_LLRENDERNAVPRIM_H
#include "stdtypes.h"
class LLColor4U;
class LLVector3;
class LLVertexBuffer;
class LLRenderNavPrim
{
public:
//Draw simple tri
void renderLLTri( const LLVector3& a, const LLVector3& b, const LLVector3& c, const LLColor4U& color ) const;
//Draw the contents of vertex buffer
void renderNavMeshVB( U32 mode, LLVertexBuffer* pVBO, int vertCnt );
private:
};
extern LLRenderNavPrim gRenderNav;
#endif // LL_LLRENDERNAVPRIM_H

View File

@ -558,8 +558,28 @@ void LLVertexBuffer::drawArrays(U32 mode, const std::vector<LLVector3>& pos, con
gGL.syncMatrices();
U32 count = pos.size();
llassert_always(norm.size() >= pos.size());
llassert_always(count > 0);
// <FS:ND> Don't crash, but just warn and exit out. This should be safe to do and won't disrupt the user with a crash
// llassert_always(norm.size() >= pos.size());
// llassert_always(count > 0);
llassert(norm.size() >= pos.size());
llassert(count > 0);
if( count == 0 )
{
llwarns << "Called drawArrays with 0 vertices" << llendl;
return;
}
if( norm.size() < pos.size() )
{
llwarns << "Called drawArrays with #" << norm.size() << " normals and #" << pos.size() << " vertices" << llendl;
return;
}
// </FS:ND>
unbind();

View File

@ -804,6 +804,10 @@ void LLFloater::closeFloater(bool app_quitting)
dependee->setFocus(TRUE);
}
}
// STORM-1879: since this floater has focus, treat the closeFloater- call
// like a click on the close-button, and close gear- and contextmenus
LLMenuGL::sMenuContainer->hideMenus();
}
dirtyRect();

View File

@ -1496,6 +1496,10 @@ bool LLNotifications::loadTemplates()
{
replaceFormText(notification.form_ref.form, "$canceltext", notification.form_ref.form_template.cancel_text);
}
if(notification.form_ref.form_template.help_text.isProvided())
{
replaceFormText(notification.form_ref.form, "$helptext", notification.form_ref.form_template.help_text);
}
if(notification.form_ref.form_template.ignore_text.isProvided())
{
replaceFormText(notification.form_ref.form, "$ignoretext", notification.form_ref.form_template.ignore_text);

View File

@ -121,6 +121,7 @@ struct LLNotificationTemplate
Optional<std::string> yes_text,
no_text,
cancel_text,
help_text,
ignore_text;
TemplateRef()
@ -128,6 +129,7 @@ struct LLNotificationTemplate
yes_text("yestext"),
no_text("notext"),
cancel_text("canceltext"),
help_text("helptext"),
ignore_text("ignoretext")
{}
};

View File

@ -345,6 +345,26 @@ S32 LLScrollListCtrl::isEmpty() const
S32 LLScrollListCtrl::getItemCount() const
{
// <FS:Ansariel> Fix for FS-specific people list (radar)
if (mFilterColumn > -1 && !mFilterString.empty())
{
S32 count(0);
item_list::const_iterator iter;
for(iter = mItemList.begin(); iter != mItemList.end(); iter++)
{
LLScrollListItem* item = *iter;
std::string filterColumnValue = item->getColumn(mFilterColumn)->getValue().asString();
std::transform(filterColumnValue.begin(), filterColumnValue.end(), filterColumnValue.begin(), ::tolower);
if (filterColumnValue.find(mFilterString) == std::string::npos)
{
continue;
}
count++;
}
return count;
}
// </FS:Ansariel> Fix for FS-specific people list (radar)
return mItemList.size();
}
@ -394,6 +414,22 @@ std::vector<LLScrollListItem*> LLScrollListCtrl::getAllSelected() const
return ret;
}
S32 LLScrollListCtrl::getNumSelected() const
{
S32 numSelected = 0;
for(item_list::const_iterator iter = mItemList.begin(); iter != mItemList.end(); ++iter)
{
LLScrollListItem* item = *iter;
if (item->getSelected())
{
++numSelected;
}
}
return numSelected;
}
S32 LLScrollListCtrl::getFirstSelectedIndex() const
{
S32 CurSelectedIndex = 0;
@ -405,6 +441,12 @@ S32 LLScrollListCtrl::getFirstSelectedIndex() const
for (iter = mItemList.begin(); iter != mItemList.end(); iter++)
{
LLScrollListItem* item = *iter;
// <FS:Ansariel> Fix for FS-specific people list (radar)
if (isFiltered(item))
{
continue;
}
// </FS:Ansariel> Fix for FS-specific people list (radar)
if (item->getSelected())
{
return CurSelectedIndex;
@ -807,6 +849,13 @@ BOOL LLScrollListCtrl::selectItemRange( S32 first_index, S32 last_index )
continue ;
}
// <FS:Ansariel> Fix for FS-specific people list (radar)
if (isFiltered(itemp))
{
continue;
}
// </FS:Ansariel> Fix for FS-specific people list (radar)
if( index >= first_index && index <= last_index )
{
if( itemp->getEnabled() )
@ -979,6 +1028,12 @@ S32 LLScrollListCtrl::getItemIndex( LLScrollListItem* target_item ) const
for (iter = mItemList.begin(); iter != mItemList.end(); iter++)
{
LLScrollListItem *itemp = *iter;
// <FS:Ansariel> Fix for FS-specific people list (radar)
if (isFiltered(itemp))
{
continue;
}
// </FS:Ansariel> Fix for FS-specific people list (radar)
if (target_item == itemp)
{
return index;
@ -1415,14 +1470,9 @@ void LLScrollListCtrl::drawItems()
LLScrollListItem* item = *iter;
// <FS:Ansariel> Fix for FS-specific people list (radar)
if (mFilterColumn > -1 && !mFilterString.empty())
if (isFiltered(item))
{
std::string filterColumnValue = item->getColumn(mFilterColumn)->getValue().asString();
std::transform(filterColumnValue.begin(), filterColumnValue.end(), filterColumnValue.begin(), ::tolower);
if (filterColumnValue.find(mFilterString) == std::string::npos)
{
continue;
}
continue;
}
// </FS:Ansariel> Fix for FS-specific people list (radar)
@ -1653,6 +1703,12 @@ BOOL LLScrollListCtrl::selectItemAt(S32 x, S32 y, MASK mask)
break;
}
LLScrollListItem *item = *itor;
// <FS:Ansariel> Fix for FS-specific people list (radar)
if (isFiltered(item))
{
continue;
}
// </FS:Ansariel> Fix for FS-specific people list (radar)
if (item == hit_item || item == lastSelected)
{
selectItem(item, FALSE);
@ -1782,6 +1838,16 @@ BOOL LLScrollListCtrl::handleRightMouseDown(S32 x, S32 y, MASK mask)
registrar.add("Url.Execute", boost::bind(&LLScrollListCtrl::showNameDetails, id, is_group));
registrar.add("Url.CopyLabel", boost::bind(&LLScrollListCtrl::copyNameToClipboard, id, is_group));
registrar.add("Url.CopyUrl", boost::bind(&LLScrollListCtrl::copySLURLToClipboard, id, is_group));
// <FS:Ansariel> FS-7263: Register Url.ShowProfile for menu_url_agent.xml
// so we can properly open agent profile from contact
// list and textareas (nearby chat) context menus as well.
registrar.add("Url.ShowProfile", boost::bind(&LLUrlAction::showProfile, "secondlife:///app/agent/" + id + "/about"));
// <FS:Ansariel> Additional convenience options
registrar.add("FS.ZoomIn", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + id + "/zoom"));
registrar.add("FS.TeleportToTarget", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + id + "/teleportto"));
registrar.add("FS.TrackAvatar", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + id + "/track"));
// </FS:Ansariel> Additional convenience options
// create the context menu from the XUI file and display it
std::string menu_name = is_group ? "menu_url_group.xml" : "menu_url_agent.xml";
@ -1928,6 +1994,13 @@ LLScrollListItem* LLScrollListCtrl::hitItem( S32 x, S32 y )
for(iter = mItemList.begin(); iter != mItemList.end(); iter++)
{
LLScrollListItem* item = *iter;
// <FS:Ansariel> Fix for FS-specific people list (radar)
if (isFiltered(item))
{
continue;
}
// </FS:Ansariel> Fix for FS-specific people list (radar)
if( mScrollLines <= line && line < mScrollLines + num_page_lines )
{
if( item->getEnabled() && item_rect.pointInRect( x, y ) )
@ -3033,4 +3106,18 @@ void LLScrollListCtrl::setFilterString(const std::string& str)
mFilterString = str;
std::transform(mFilterString.begin(), mFilterString.end(), mFilterString.begin(), ::tolower);
}
// </FS:Ansariel> Fix for FS-specific people list (radar)
bool LLScrollListCtrl::isFiltered(const LLScrollListItem* item) const
{
if (mFilterColumn > -1 && !mFilterString.empty())
{
std::string filterColumnValue = item->getColumn(mFilterColumn)->getValue().asString();
std::transform(filterColumnValue.begin(), filterColumnValue.end(), filterColumnValue.begin(), ::tolower);
if (filterColumnValue.find(mFilterString) == std::string::npos)
{
return true;
}
}
return false;
}
// </FS:Ansariel> Fix for FS-specific people list (radar)

View File

@ -260,6 +260,7 @@ public:
LLScrollListItem* getFirstSelected() const;
virtual S32 getFirstSelectedIndex() const;
std::vector<LLScrollListItem*> getAllSelected() const;
S32 getNumSelected() const;
LLScrollListItem* getLastSelectedItem() const { return mLastSelected; }
// iterate over all items
@ -306,6 +307,7 @@ public:
// <FS:Ansariel> Fix for FS-specific people list (radar)
void setFilterString(const std::string& str);
void setFilterColumn(S32 col) { mFilterColumn = col; }
bool isFiltered(const LLScrollListItem* item) const;
// </FS:Ansariel> Fix for FS-specific people list (radar)
// support right-click context menus for avatar/group lists

View File

@ -1922,6 +1922,13 @@ void LLTextBase::createUrlContextMenu(S32 x, S32 y, const std::string &in_url)
registrar.add("Url.CopyLabel", boost::bind(&LLUrlAction::copyLabelToClipboard, url));
registrar.add("Url.CopyUrl", boost::bind(&LLUrlAction::copyURLToClipboard, url));
// <FS:Ansariel> Additional convenience options
std::string target_id = LLUrlAction::extractUuidFromSlurl(url).asString();
registrar.add("FS.ZoomIn", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id + "/zoom"));
registrar.add("FS.TeleportToTarget", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id + "/teleportto"));
registrar.add("FS.TrackAvatar", boost::bind(&LLUrlAction::executeSLURL, "secondlife:///app/firestorm/" + target_id + "/track"));
// </FS:Ansariel>
// create and return the context menu from the XUI file
delete mPopupMenu;
mPopupMenu = LLUICtrlFactory::getInstance()->createFromFile<LLContextMenu>(xui_file, LLMenuGL::sMenuContainer,

View File

@ -57,7 +57,9 @@ void LLToggleableMenu::handleVisibilityChange (BOOL curVisibilityIn)
S32 x,y;
LLUI::getMousePositionLocal(LLUI::getRootView(), &x, &y);
if (!curVisibilityIn && mButtonRect.pointInRect(x, y))
// STORM-1879: also check MouseCapture to see if the button was really
// clicked (otherwise the VisibilityChange was triggered via keyboard shortcut)
if (!curVisibilityIn && mButtonRect.pointInRect(x, y) && gFocusMgr.getMouseCapture())
{
mClosedByButtonClick = true;
}

View File

@ -157,3 +157,23 @@ void LLUrlAction::showProfile(std::string url)
}
}
}
// <FS:Ansariel> FSSlurlCommand support
LLUUID LLUrlAction::extractUuidFromSlurl(const std::string& url)
{
// Get id from 'secondlife:///app/{cmd}/{id}/{action}'
LLURI uri(url);
LLSD path_array = uri.pathArray();
if (path_array.size() >= 3)
{
std::string id_str = path_array.get(2).asString();
if (LLUUID::validate(id_str))
{
return LLUUID(id_str);
}
}
return LLUUID::null;
}
// </FS:Ansariel> FSSlurlCommand support

View File

@ -77,6 +77,9 @@ public:
/// if the Url specifies an SL command in the form like 'app/{cmd}/{id}/*', show its profile
static void showProfile(std::string url);
// <FS:Ansariel> FSSlurlCommand support
static LLUUID extractUuidFromSlurl(const std::string& url);
/// specify the callbacks to enable this class's functionality
typedef boost::function<void (const std::string&)> url_callback_t;
typedef boost::function<bool(const std::string& url)> execute_url_callback_t;

View File

@ -49,9 +49,10 @@ bool LLAvatarNameCache::get(const LLUUID& agent_id, LLAvatarName *av_name)
return false;
}
void LLAvatarNameCache::get(const LLUUID& agent_id, callback_slot_t slot)
LLAvatarNameCache::callback_connection_t LLAvatarNameCache::get(const LLUUID& agent_id, callback_slot_t slot)
{
return;
callback_connection_t connection;
return connection;
}
bool LLAvatarNameCache::useDisplayNames()

View File

@ -2812,43 +2812,49 @@ const char* cursorIDToName(int id)
BOOL use_legacy_cursors = gSavedSettings.getBOOL("UseLegacyCursors");
switch (id)
{
case UI_CURSOR_ARROW: return "UI_CURSOR_ARROW";
case UI_CURSOR_WAIT: return "UI_CURSOR_WAIT";
case UI_CURSOR_HAND: return "UI_CURSOR_HAND";
case UI_CURSOR_IBEAM: return "UI_CURSOR_IBEAM";
case UI_CURSOR_CROSS: return "UI_CURSOR_CROSS";
case UI_CURSOR_SIZENWSE: return "UI_CURSOR_SIZENWSE";
case UI_CURSOR_SIZENESW: return "UI_CURSOR_SIZENESW";
case UI_CURSOR_SIZEWE: return "UI_CURSOR_SIZEWE";
case UI_CURSOR_SIZENS: return "UI_CURSOR_SIZENS";
case UI_CURSOR_NO: return "UI_CURSOR_NO";
case UI_CURSOR_WORKING: return "UI_CURSOR_WORKING";
case UI_CURSOR_TOOLGRAB: return "UI_CURSOR_TOOLGRAB";
case UI_CURSOR_TOOLLAND: return "UI_CURSOR_TOOLLAND";
case UI_CURSOR_TOOLFOCUS: return "UI_CURSOR_TOOLFOCUS";
case UI_CURSOR_TOOLCREATE: return "UI_CURSOR_TOOLCREATE";
case UI_CURSOR_ARROWDRAG: return "UI_CURSOR_ARROWDRAG";
case UI_CURSOR_ARROWCOPY: return "UI_CURSOR_ARROWCOPY";
case UI_CURSOR_ARROWDRAGMULTI: return "UI_CURSOR_ARROWDRAGMULTI";
case UI_CURSOR_ARROWCOPYMULTI: return "UI_CURSOR_ARROWCOPYMULTI";
case UI_CURSOR_NOLOCKED: return "UI_CURSOR_NOLOCKED";
case UI_CURSOR_ARROWLOCKED: return "UI_CURSOR_ARROWLOCKED";
case UI_CURSOR_GRABLOCKED: return "UI_CURSOR_GRABLOCKED";
case UI_CURSOR_TOOLTRANSLATE: return "UI_CURSOR_TOOLTRANSLATE";
case UI_CURSOR_TOOLROTATE: return "UI_CURSOR_TOOLROTATE";
case UI_CURSOR_TOOLSCALE: return "UI_CURSOR_TOOLSCALE";
case UI_CURSOR_TOOLCAMERA: return "UI_CURSOR_TOOLCAMERA";
case UI_CURSOR_TOOLPAN: return "UI_CURSOR_TOOLPAN";
case UI_CURSOR_TOOLZOOMIN: return "UI_CURSOR_TOOLZOOMIN";
case UI_CURSOR_TOOLPICKOBJECT3: return "UI_CURSOR_TOOLPICKOBJECT3";
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_TOOLSIT: if (use_legacy_cursors) return "UI_CURSOR_TOOLSIT_LEGACY"; else return "UI_CURSOR_TOOLSIT";
case UI_CURSOR_TOOLBUY: if (use_legacy_cursors) return "UI_CURSOR_TOOLBUY_LEGACY"; else return "UI_CURSOR_TOOLBUY";
case UI_CURSOR_TOOLOPEN: if (use_legacy_cursors) return "UI_CURSOR_TOOLOPEN_LEGACY"; else return "UI_CURSOR_TOOLOPEN";
case UI_CURSOR_TOOLPAY: if (use_legacy_cursors) return "UI_CURSOR_TOOLBUY_LEGACY"; else return "UI_CURSOR_TOOLPAY";
case UI_CURSOR_ARROW: return "UI_CURSOR_ARROW";
case UI_CURSOR_WAIT: return "UI_CURSOR_WAIT";
case UI_CURSOR_HAND: return "UI_CURSOR_HAND";
case UI_CURSOR_IBEAM: return "UI_CURSOR_IBEAM";
case UI_CURSOR_CROSS: return "UI_CURSOR_CROSS";
case UI_CURSOR_SIZENWSE: return "UI_CURSOR_SIZENWSE";
case UI_CURSOR_SIZENESW: return "UI_CURSOR_SIZENESW";
case UI_CURSOR_SIZEWE: return "UI_CURSOR_SIZEWE";
case UI_CURSOR_SIZENS: return "UI_CURSOR_SIZENS";
case UI_CURSOR_NO: return "UI_CURSOR_NO";
case UI_CURSOR_WORKING: return "UI_CURSOR_WORKING";
case UI_CURSOR_TOOLGRAB: return "UI_CURSOR_TOOLGRAB";
case UI_CURSOR_TOOLLAND: return "UI_CURSOR_TOOLLAND";
case UI_CURSOR_TOOLFOCUS: return "UI_CURSOR_TOOLFOCUS";
case UI_CURSOR_TOOLCREATE: return "UI_CURSOR_TOOLCREATE";
case UI_CURSOR_ARROWDRAG: return "UI_CURSOR_ARROWDRAG";
case UI_CURSOR_ARROWCOPY: return "UI_CURSOR_ARROWCOPY";
case UI_CURSOR_ARROWDRAGMULTI: return "UI_CURSOR_ARROWDRAGMULTI";
case UI_CURSOR_ARROWCOPYMULTI: return "UI_CURSOR_ARROWCOPYMULTI";
case UI_CURSOR_NOLOCKED: return "UI_CURSOR_NOLOCKED";
case UI_CURSOR_ARROWLOCKED: return "UI_CURSOR_ARROWLOCKED";
case UI_CURSOR_GRABLOCKED: return "UI_CURSOR_GRABLOCKED";
case UI_CURSOR_TOOLTRANSLATE: return "UI_CURSOR_TOOLTRANSLATE";
case UI_CURSOR_TOOLROTATE: return "UI_CURSOR_TOOLROTATE";
case UI_CURSOR_TOOLSCALE: return "UI_CURSOR_TOOLSCALE";
case UI_CURSOR_TOOLCAMERA: return "UI_CURSOR_TOOLCAMERA";
case UI_CURSOR_TOOLPAN: return "UI_CURSOR_TOOLPAN";
case UI_CURSOR_TOOLZOOMIN: return "UI_CURSOR_TOOLZOOMIN";
case UI_CURSOR_TOOLPICKOBJECT3: return "UI_CURSOR_TOOLPICKOBJECT3";
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_TOOLPATHFINDING: return "UI_CURSOR_PATHFINDING";
case UI_CURSOR_TOOLPATHFINDING_PATH_START: return "UI_CURSOR_PATHFINDING_START";
case UI_CURSOR_TOOLPATHFINDING_PATH_START_ADD: return "UI_CURSOR_PATHFINDING_START_ADD";
case UI_CURSOR_TOOLPATHFINDING_PATH_END: return "UI_CURSOR_PATHFINDING_END";
case UI_CURSOR_TOOLPATHFINDING_PATH_END_ADD: return "UI_CURSOR_PATHFINDING_END_ADD";
case UI_CURSOR_TOOLNO: return "UI_CURSOR_NO";
case UI_CURSOR_TOOLSIT: if (use_legacy_cursors) return "UI_CURSOR_TOOLSIT_LEGACY"; else return "UI_CURSOR_TOOLSIT";
case UI_CURSOR_TOOLBUY: if (use_legacy_cursors) return "UI_CURSOR_TOOLBUY_LEGACY"; else return "UI_CURSOR_TOOLBUY";
case UI_CURSOR_TOOLOPEN: if (use_legacy_cursors) return "UI_CURSOR_TOOLOPEN_LEGACY"; else return "UI_CURSOR_TOOLOPEN";
case UI_CURSOR_TOOLPAY: if (use_legacy_cursors) return "UI_CURSOR_TOOLBUY_LEGACY"; else return "UI_CURSOR_TOOLPAY";
}
llerrs << "cursorIDToName: unknown cursor id" << id << llendl;
@ -2955,6 +2961,12 @@ void LLWindowMacOSX::updateCursor()
case UI_CURSOR_TOOLBUY:
case UI_CURSOR_TOOLPAY:
case UI_CURSOR_TOOLOPEN:
case UI_CURSOR_TOOLPATHFINDING:
case UI_CURSOR_TOOLPATHFINDING_PATH_START:
case UI_CURSOR_TOOLPATHFINDING_PATH_START_ADD:
case UI_CURSOR_TOOLPATHFINDING_PATH_END:
case UI_CURSOR_TOOLPATHFINDING_PATH_END_ADD:
case UI_CURSOR_TOOLNO:
result = setImageCursor(gCursors[mNextCursor]);
break;
@ -3000,6 +3012,12 @@ void LLWindowMacOSX::initCursors()
initPixmapCursor(UI_CURSOR_TOOLBUY, 20, 15);
initPixmapCursor(UI_CURSOR_TOOLOPEN, 20, 15);
initPixmapCursor(UI_CURSOR_TOOLPAY, 20, 15);
initPixmapCursor(UI_CURSOR_TOOLPATHFINDING, 16, 16);
initPixmapCursor(UI_CURSOR_TOOLPATHFINDING_PATH_START, 16, 16);
initPixmapCursor(UI_CURSOR_TOOLPATHFINDING_PATH_START_ADD, 16, 16);
initPixmapCursor(UI_CURSOR_TOOLPATHFINDING_PATH_END, 16, 16);
initPixmapCursor(UI_CURSOR_TOOLPATHFINDING_PATH_END_ADD, 16, 16);
initPixmapCursor(UI_CURSOR_TOOLNO, 8, 8);
initPixmapCursor(UI_CURSOR_SIZENWSE, 10, 10);
initPixmapCursor(UI_CURSOR_SIZENESW, 10, 10);

View File

@ -2133,6 +2133,12 @@ void LLWindowSDL::initCursors()
mSDLCursors[UI_CURSOR_TOOLOPEN] = makeSDLCursorFromBMP("toolopen.BMP",20,15);
mSDLCursors[UI_CURSOR_TOOLPAY] = makeSDLCursorFromBMP("toolbuy.BMP",20,15);
}
mSDLCursors[UI_CURSOR_TOOLPATHFINDING] = makeSDLCursorFromBMP("lltoolpathfinding.BMP", 16, 16);
mSDLCursors[UI_CURSOR_TOOLPATHFINDING_PATH_START] = makeSDLCursorFromBMP("lltoolpathfindingpathstart.BMP", 16, 16);
mSDLCursors[UI_CURSOR_TOOLPATHFINDING_PATH_START_ADD] = makeSDLCursorFromBMP("lltoolpathfindingpathstartadd.BMP", 16, 16);
mSDLCursors[UI_CURSOR_TOOLPATHFINDING_PATH_END] = makeSDLCursorFromBMP("lltoolpathfindingpathend.BMP", 16, 16);
mSDLCursors[UI_CURSOR_TOOLPATHFINDING_PATH_END_ADD] = makeSDLCursorFromBMP("lltoolpathfindingpathendadd.BMP", 16, 16);
mSDLCursors[UI_CURSOR_TOOLNO] = makeSDLCursorFromBMP("llno.BMP",8,8);
if (getenv("LL_ATI_MOUSE_CURSOR_BUG") != NULL) {
llinfos << "Disabling cursor updating due to LL_ATI_MOUSE_CURSOR_BUG" << llendl;

View File

@ -1714,6 +1714,12 @@ void LLWindowWin32::initCursors()
mCursor[ UI_CURSOR_TOOLOPEN ] = LoadCursor(module, TEXT("TOOLOPEN"));
mCursor[ UI_CURSOR_TOOLPAY ] = LoadCursor(module, TEXT("TOOLBUY"));
}
mCursor[ UI_CURSOR_TOOLPATHFINDING ] = LoadCursor(module, TEXT("TOOLPATHFINDING"));
mCursor[ UI_CURSOR_TOOLPATHFINDING_PATH_START_ADD ] = LoadCursor(module, TEXT("TOOLPATHFINDINGPATHSTARTADD"));
mCursor[ UI_CURSOR_TOOLPATHFINDING_PATH_START ] = LoadCursor(module, TEXT("TOOLPATHFINDINGPATHSTART"));
mCursor[ UI_CURSOR_TOOLPATHFINDING_PATH_END ] = LoadCursor(module, TEXT("TOOLPATHFINDINGPATHEND"));
mCursor[ UI_CURSOR_TOOLPATHFINDING_PATH_END_ADD ] = LoadCursor(module, TEXT("TOOLPATHFINDINGPATHENDADD"));
mCursor[ UI_CURSOR_TOOLNO ] = LoadCursor(module, TEXT("TOOLNO"));
// Color cursors
mCursor[ UI_CURSOR_TOOLPLAY ] = loadColorCursor(TEXT("TOOLPLAY"));

View File

@ -517,6 +517,21 @@ void LLScriptLibrary::init()
addFunction(0.f, 0.f, dummy_func, "llAttachToAvatarTemp", NULL, "i");
addFunction(0.f, 0.f, dummy_func, "llTeleportAgent", NULL, "ksvv");
addFunction(0.f, 0.f, dummy_func, "llTeleportAgentGlobalCoords", NULL, "kvvv");
// LSL functions received as per Pathfinding tools merge
addFunction(0.f, 0.f, dummy_func, "llGenerateKey", "k", NULL);
addFunction(0.f, 0.f, dummy_func, "llNavigateTo", NULL, "vl");
addFunction(0.f, 0.f, dummy_func, "llCreateCharacter", NULL, "l");
addFunction(0.f, 0.f, dummy_func, "llPursue", NULL, "kl");
addFunction(0.f, 0.f, dummy_func, "llWanderWithin", NULL, "vfl");
addFunction(0.f, 0.f, dummy_func, "llFleeFrom", NULL, "vfl");
addFunction(0.f, 0.f, dummy_func, "llPatrolPoints", NULL, "ll");
addFunction(0.f, 0.f, dummy_func, "llExecCharacterCmd", NULL, "il");
addFunction(0.f, 0.f, dummy_func, "llDeleteCharacter", NULL, NULL);
addFunction(0.f, 0.f, dummy_func, "llUpdateCharacter", NULL, "l");
addFunction(0.f, 0.f, dummy_func, "llEvade", NULL, "kl");
addFunction(0.f, 0.f, dummy_func, "llGetClosestNavPoint", "l", "vl");
addFunction(0.f, 0.f, dummy_func, "llGetStaticPath", "l", "vvfl");
// </FS:Ansariel> According to Kelly Linden we don't need to obey the function ID order in the viewer!
}

View File

@ -4,7 +4,7 @@
</object>
<array count="7" name="allObjects">
<object class="IBCarbonStaticText" id="181">
<string name="title">Firestorm appears to have crashed or frozen the last time it ran.&#10;&#10;This crash reporter collects information about your computer&apos;s hardware configuration, operating system, and some Firestorm logs, all of which are used for debugging purposes only.&#10;&#10;In the space below, please briefly describe what you were doing or trying to do just prior to the crash. Thank you for your help!&#10;&#10;If you have additional information you would like to report, please enter a ticket at: http://www.phoenixviewer.com/support/&#10;&#10;If you don&apos;t wish to send a crash report, press Cancel.&#10;&#10;This crash reporter collects information about your computer&apos;s hardware configuration, operating system, and some Second Life logs, all of which are used for debugging purposes only.&#10;&#10;In the space below, please briefly describe what you were doing or trying to do just prior to the crash. Thank you for your help!&#10;&#10;This report is NOT read by Customer Support. If you have billing or other questions, please go to: http://www.secondlife.com/support/&#10;&#10;If you don&apos;t wish to send Linden Lab a crash report, press Cancel.&#10;</string>
<string name="title">Firestorm appears to have crashed or frozen the last time it ran.&#10;&#10;This crash reporter collects information about your computer&apos;s hardware configuration, operating system, and some Firestorm logs, all of which are used for debugging purposes only.&#10;&#10;In the space below, please briefly describe what you were doing or trying to do just prior to the crash. Thank you for your help!&#10;&#10;If you don&apos;t wish to send the Firestorm development team a crash report, press Cancel.&#10; &#10;</string>
<string name="bounds">20 20 231 487 </string>
</object>
<object class="IBCarbonEditText" id="185">
@ -19,7 +19,7 @@
<string name="bounds">414 390 434 487 </string>
</object>
<object class="IBCarbonStaticText" id="181">
<string name="title">Second Life appears to have crashed or frozen the last time it ran.&#10;&#10;This crash reporter collects information about your computer&apos;s hardware configuration, operating system, and some Second Life logs, all of which are used for debugging purposes only.&#10;&#10;In the space below, please briefly describe what you were doing or trying to do just prior to the crash. Thank you for your help!&#10;&#10;This report is NOT read by Customer Support. If you have billing or other questions, please go to: http://www.secondlife.com/support/&#10;&#10;If you don&apos;t wish to send Linden Lab a crash report, press Don&apos;t Send.&#10;</string>
<string name="title">Firestorm appears to have crashed or frozen the last time it ran.&#10;&#10;This crash reporter collects information about your computer&apos;s hardware configuration, operating system, and some Firestorm logs, all of which are used for debugging purposes only.&#10;&#10;In the space below, please briefly describe what you were doing or trying to do just prior to the crash. Thank you for your help!&#10;&#10;If you don&apos;t wish to send the Firestorm development team a crash report, press Cancel.&#10; &#10;</string>
<string name="bounds">20 20 231 487 </string>
</object>
<object class="IBCarbonWindow" id="166">

View File

@ -18,12 +18,12 @@ include(JsonCpp)
include(LLAudio)
include(LLCharacter)
include(LLCommon)
include(LLConvexDecomposition)
include(LLImage)
include(LLImageJ2COJ)
include(LLInventory)
include(LLMath)
include(LLMessage)
include(LLPhysicsExtensions)
include(LLPlugin)
include(LLPrimitive)
include(LLRender)
@ -47,6 +47,16 @@ include(GLOD)
include(CMakeCopyIfDifferent)
include(Growl)
# <FS:ND> if using ndPhysicsstub this variable will be unset, we don't need to build any stub code viewer side in that case
if( LLPHYSICSEXTENSIONS_SRC_DIR )
# </FS:ND>
add_subdirectory(${LLPHYSICSEXTENSIONS_SRC_DIR} llphysicsextensions)
# <FS:ND>
endif( LLPHYSICSEXTENSIONS_SRC_DIR )
# </FS:ND>
include_directories(
${DBUSGLIB_INCLUDE_DIRS}
${JSONCPP_INCLUDE_DIR}
@ -54,13 +64,14 @@ include_directories(
${LLAUDIO_INCLUDE_DIRS}
${LLCHARACTER_INCLUDE_DIRS}
${LLCOMMON_INCLUDE_DIRS}
${LLCONVEXDECOMP_INCLUDE_DIRS}
${LLPHYSICS_INCLUDE_DIRS}
${FMOD_INCLUDE_DIR}
${LLIMAGE_INCLUDE_DIRS}
${LLKDU_INCLUDE_DIRS}
${LLINVENTORY_INCLUDE_DIRS}
${LLMATH_INCLUDE_DIRS}
${LLMESSAGE_INCLUDE_DIRS}
${LLPHYSICSEXTENSIONS_INCLUDE_DIRS}
${LLPLUGIN_INCLUDE_DIRS}
${LLPRIMITIVE_INCLUDE_DIRS}
${LLRENDER_INCLUDE_DIRS}
@ -77,8 +88,8 @@ include_directories(
${OPENAL_LIB_INCLUDE_DIRS}
${LIBS_PREBUILT_DIR}/include/collada/1.4
${GROWL_INCLUDE_DIRS}
${HACD_INCLUDE_DIR}
${TEAPOT_INCLUDE_DIRS}# <FS:AW opensim currency support>
${CMAKE_BINARY_DIR}/newview #<FS:TS> Flickr upload
)
set(viewer_SOURCE_FILES
@ -89,6 +100,7 @@ set(viewer_SOURCE_FILES
aoset.cpp
chatbar_as_cmdline.cpp
kcwlinterface.cpp
exogroupmutelist.cpp
floatermedialists.cpp
fscontactsfloater.cpp
fsareasearch.cpp
@ -101,6 +113,7 @@ set(viewer_SOURCE_FILES
fslslbridge.cpp
fslslbridgerequest.cpp
fslslpreproc.cpp
fsslurlcommand.cpp
fsfloaterprofile.cpp
fspanelprofile.cpp
fsradarlistctrl.cpp
@ -113,6 +126,9 @@ set(viewer_SOURCE_FILES
lggcontactsetsfloater.cpp
fspanelprofileclassifieds.cpp
fspanelclassified.cpp
exopanelsnapshotflickr.cpp
exoflickr.cpp
exoflickrauth.cpp
llaccountingcostmanager.cpp
llagent.cpp
@ -255,6 +271,10 @@ set(viewer_SOURCE_FILES
llfloaterobjectweights.cpp
llfloateropenobject.cpp
llfloateroutbox.cpp
llfloaterpathfindingcharacters.cpp
llfloaterpathfindingconsole.cpp
llfloaterpathfindinglinksets.cpp
llfloaterpathfindingobjects.cpp
llfloaterpay.cpp
llfloaterperms.cpp
llfloaterpostprocess.cpp
@ -425,6 +445,7 @@ set(viewer_SOURCE_FILES
llpanelonlinestatus.cpp
llpaneloutfitedit.cpp
llpaneloutfitsinventory.cpp
llpanelpathfindingrebakenavmesh.cpp
llpanelpeople.cpp
llpanelpeoplemenus.cpp
llpanelpermissions.cpp
@ -453,6 +474,17 @@ set(viewer_SOURCE_FILES
llparcelselection.cpp
llparticipantlist.cpp
llpatchvertexarray.cpp
llpathfindingcharacter.cpp
llpathfindingcharacterlist.cpp
llpathfindinglinkset.cpp
llpathfindinglinksetlist.cpp
llpathfindingmanager.cpp
llpathfindingnavmesh.cpp
llpathfindingnavmeshstatus.cpp
llpathfindingnavmeshzone.cpp
llpathfindingobject.cpp
llpathfindingobjectlist.cpp
llpathfindingpathtool.cpp
llphysicsmotion.cpp
llphysicsshapebuilderutil.cpp
llplacesinventorybridge.cpp
@ -670,9 +702,6 @@ set(viewer_SOURCE_FILES
pieseparator.cpp
pieslice.cpp
pipeline.cpp
kvflickr.cpp
kvfloaterflickrauth.cpp
kvfloaterflickrupload.cpp
qtoolalign.cpp
quickprefs.cpp
rlvhandler.cpp
@ -716,6 +745,7 @@ set(viewer_HEADER_FILES
aoset.h
chatbar_as_cmdline.h
kcwlinterface.h
exogroupmutelist.h
floatermedialists.h
fscontactsfloater.h
fsareasearch.h
@ -728,6 +758,7 @@ set(viewer_HEADER_FILES
fslslbridge.h
fslslbridgerequest.h
fslslpreproc.h
fsslurlcommand.h
fsfloaterprofile.h
fsgridhandler.h
fspanelprofile.h
@ -743,6 +774,8 @@ set(viewer_HEADER_FILES
lggcontactsetsfloater.h
fspanelprofileclassifieds.h
fspanelclassified.h
exoflickr.h
exoflickrauth.h
llaccountingcostmanager.h
llagent.h
@ -886,6 +919,10 @@ set(viewer_HEADER_FILES
llfloaterobjectweights.h
llfloateropenobject.h
llfloateroutbox.h
llfloaterpathfindingcharacters.h
llfloaterpathfindingconsole.h
llfloaterpathfindinglinksets.h
llfloaterpathfindingobjects.h
llfloaterpay.h
llfloaterperms.h
llfloaterpostprocess.h
@ -1050,6 +1087,7 @@ set(viewer_HEADER_FILES
llpanelonlinestatus.h
llpaneloutfitedit.h
llpaneloutfitsinventory.h
llpanelpathfindingrebakenavmesh.h
llpanelpeople.h
llpanelpeoplemenus.h
llpanelpermissions.h
@ -1073,6 +1111,17 @@ set(viewer_HEADER_FILES
llparcelselection.h
llparticipantlist.h
llpatchvertexarray.h
llpathfindingcharacter.h
llpathfindingcharacterlist.h
llpathfindinglinkset.h
llpathfindinglinksetlist.h
llpathfindingmanager.h
llpathfindingnavmesh.h
llpathfindingnavmeshstatus.h
llpathfindingnavmeshzone.h
llpathfindingobject.h
llpathfindingobjectlist.h
llpathfindingpathtool.h
llphysicsmotion.h
llphysicsshapebuilderutil.h
llplacesinventorybridge.h
@ -1310,9 +1359,6 @@ set(viewer_HEADER_FILES
utilitybar.h
VertexCache.h
VorbisFramework.h
kvflickr.h
kvfloaterflickrauth.h
kvfloaterflickrupload.h
NACLantispam.h
NACLfloaterexploresounds.h
)
@ -1321,13 +1367,16 @@ set(viewer_HEADER_FILES
build_version(viewer)
build_channel(viewer)
# Generate the Flickr Keys header
# <exodus>
# Generate the flickr keys header.
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/kvflickrkeys.h.in
${CMAKE_CURRENT_BINARY_DIR}/kvflickrkeys.h
@ONLY
${CMAKE_CURRENT_SOURCE_DIR}/exoflickrkeys.h.in
${CMAKE_CURRENT_BINARY_DIR}/exoflickrkeys.h
@ONLY
)
list(APPEND viewer_HEADER_FILES ${CMAKE_CURRENT_BINARY_DIR}/kvflickrkeys.h)
list(APPEND viewer_HEADER_FILES ${CMAKE_CURRENT_BINARY_DIR}/exoflickrkeys.h)
# </exodus>
source_group("CMake Rules" FILES ViewerInstall.cmake)
if (DARWIN)
@ -1477,6 +1526,11 @@ if (WINDOWS)
res/lltoolgrab.cur
res/lltoolland.cur
res/lltoolpan.cur
res/lltoolpathfinding.cur
res/lltoolpathfindingpathend.cur
res/lltoolpathfindingpathendadd.cur
res/lltoolpathfindingpathstart.cur
res/lltoolpathfindingpathstartadd.cur
res/lltoolpipette.cur
res/lltoolrotate.cur
res/lltoolscale.cur
@ -1698,9 +1752,9 @@ if (WINDOWS)
PROPERTIES
# *TODO -reenable this once we get server usage sorted out
#LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS /INCLUDE:\"__tcmalloc\""
LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS /INCLUDE:__tcmalloc"
LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS /INCLUDE:__tcmalloc "
LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMT;LIBCMTD;MSVCRT\" /INCREMENTAL:NO"
LINK_FLAGS_RELEASE "/OPT:REF"
LINK_FLAGS_RELEASE "/FORCE:MULTIPLE /MAP\"secondlife-bin.MAP\" /OPT:REF"
)
if(USE_PRECOMPILED_HEADERS)
set_target_properties(
@ -1912,6 +1966,17 @@ if (WINDOWS)
#${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/event_host.tar.bz2)
endif (PACKAGE)
elseif (DARWIN)
set_target_properties(${VIEWER_BINARY_NAME}
PROPERTIES
LINK_FLAGS_RELEASE "${LINK_FLAGS_RELEASE} -Xlinker -dead_strip -Xlinker -map -Xlinker ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_BINARY_NAME}.MAP"
)
else (WINDOWS)
# Linux
set_target_properties(${VIEWER_BINARY_NAME}
PROPERTIES
LINK_FLAGS_RELEASE "${LINK_FLAGS_RELEASE} -Wl,--Map=${VIEWER_BINARY_NAME}.MAP"
)
endif (WINDOWS)
# *NOTE - this list is very sensitive to ordering, test carefully on all
@ -1961,11 +2026,10 @@ target_link_libraries(${VIEWER_BINARY_NAME}
${OPENSSL_LIBRARIES}
${CRYPTO_LIBRARIES}
${LLLOGIN_LIBRARIES}
${GOOGLE_PERFTOOLS_LIBRARIES}
${LLCONVEXDECOMP_LIBRARY}
${LLPHYSICS_LIBRARIES}
${LLPHYSICSEXTENSIONS_LIBRARIES}
${TCMALLOC_LIBRARIES}
${GROWL_LIBRARY}
${HACD_LIBRARY}
)
if (WINDOWS)

View File

@ -47,25 +47,21 @@ const LLUUID collision_sounds[num_collision_sounds] =
LLUUID("063c97d3-033a-4e9b-98d8-05c8074922cb")
};
NACLFloaterExploreSounds* NACLFloaterExploreSounds::sInstance;
NACLFloaterExploreSounds::NACLFloaterExploreSounds(const LLSD& key)
: LLFloater(key), LLEventTimer(0.25f)
{
NACLFloaterExploreSounds::sInstance = this;
}
NACLFloaterExploreSounds::~NACLFloaterExploreSounds()
{
NACLFloaterExploreSounds::sInstance = NULL;
}
BOOL NACLFloaterExploreSounds::postBuild(void)
{
childSetAction("play_locally_btn", handle_play_locally, this);
childSetAction("look_at_btn", handle_look_at, this);
childSetAction("stop_btn", handle_stop, this);
childSetAction("bl_btn", blacklistSound, this);
getChild<LLButton>("play_locally_btn")->setClickedCallback(boost::bind(&NACLFloaterExploreSounds::handle_play_locally, this));
getChild<LLButton>("look_at_btn")->setClickedCallback(boost::bind(&NACLFloaterExploreSounds::handle_look_at, this));
getChild<LLButton>("stop_btn")->setClickedCallback(boost::bind(&NACLFloaterExploreSounds::handle_stop, this));
getChild<LLButton>("bl_btn")->setClickedCallback(boost::bind(&NACLFloaterExploreSounds::blacklistSound, this));
LLScrollListCtrl* list = getChild<LLScrollListCtrl>("sound_list");
list->setDoubleClickCallback(boost::bind(&NACLFloaterExploreSounds::handle_play_locally, this));
@ -119,7 +115,6 @@ public:
}
};
// static
BOOL NACLFloaterExploreSounds::tick()
{
//if(childGetValue("pause_chk").asBoolean()) return FALSE;
@ -193,16 +188,22 @@ BOOL NACLFloaterExploreSounds::tick()
LLSD& playing_column = element["columns"][0];
playing_column["column"] = "playing";
if(item.mPlaying)
playing_column["value"] = " Playing";
{
playing_column["value"] = getString("Playing");
}
else
playing_column["value"] = llformat("%.1f min ago", (LLTimer::getElapsedSeconds() - item.mTimeStopped) / 60.f);
{
LLStringUtil::format_map_t format_args;
format_args["TIME"] = llformat("%.1f", (LLTimer::getElapsedSeconds() - item.mTimeStopped) / 60.f);
playing_column["value"] = getString("NotPlaying", format_args);
}
LLSD& type_column = element["columns"][1];
type_column["column"] = "type";
if(item.mType == LLAudioEngine::AUDIO_TYPE_UI)
{
// this shouldn't happen for now, as UI is forbidden in the log
type_column["value"] = "UI";
type_column["value"] = getString("Type_UI");
}
else
{
@ -210,20 +211,24 @@ BOOL NACLFloaterExploreSounds::tick()
if(is_avatar)
{
type = "Avatar";
type = getString("Type_Avatar");
}
else
{
if(item.mIsTrigger)
{
type = "llTriggerSound";
type = getString("Type_llTriggerSound");
}
else
{
if(item.mIsLooped)
type = "llLoopSound";
{
type = getString("Type_llLoopSound");
}
else
type = "llPlaySound";
{
type = getString("Type_llPlaySound");
}
}
}
@ -236,11 +241,18 @@ BOOL NACLFloaterExploreSounds::tick()
BOOL is_group;
if(gCacheName->getIfThere(item.mOwnerID, fullname, is_group))
{
if(is_group) fullname += " (Group)";
if (is_group)
{
LLStringUtil::format_map_t format_args;
format_args["NAME"] = fullname;
fullname = getString("GroupOwned", format_args);
}
owner_column["value"] = fullname;
}
else
{
owner_column["value"] = item.mOwnerID.asString();
}
LLSD& sound_column = element["columns"][3];
sound_column["column"] = "sound";
@ -255,18 +267,16 @@ BOOL NACLFloaterExploreSounds::tick()
return FALSE;
}
// static
void NACLFloaterExploreSounds::handle_play_locally(void* user_data)
void NACLFloaterExploreSounds::handle_play_locally()
{
NACLFloaterExploreSounds* floater = (NACLFloaterExploreSounds*)user_data;
LLScrollListCtrl* list = floater->getChild<LLScrollListCtrl>("sound_list");
LLScrollListCtrl* list = getChild<LLScrollListCtrl>("sound_list");
std::vector<LLScrollListItem*> selection = list->getAllSelected();
std::vector<LLScrollListItem*>::iterator selection_iter = selection.begin();
std::vector<LLScrollListItem*>::iterator selection_end = selection.end();
std::vector<LLUUID> asset_list;
for( ; selection_iter != selection_end; ++selection_iter)
{
LLSoundHistoryItem item = floater->getItem((*selection_iter)->getValue());
LLSoundHistoryItem item = getItem((*selection_iter)->getValue());
if(item.mID.isNull()) continue;
// Unique assets only
if(std::find(asset_list.begin(), asset_list.end(), item.mAssetID) == asset_list.end())
@ -277,13 +287,11 @@ void NACLFloaterExploreSounds::handle_play_locally(void* user_data)
}
}
// static
void NACLFloaterExploreSounds::handle_look_at(void* user_data)
void NACLFloaterExploreSounds::handle_look_at()
{
NACLFloaterExploreSounds* floater = (NACLFloaterExploreSounds*)user_data;
LLScrollListCtrl* list = floater->getChild<LLScrollListCtrl>("sound_list");
LLScrollListCtrl* list = getChild<LLScrollListCtrl>("sound_list");
LLUUID selection = list->getSelectedValue().asUUID();
LLSoundHistoryItem item = floater->getItem(selection); // Single item only
LLSoundHistoryItem item = getItem(selection); // Single item only
if(item.mID.isNull()) return;
LLVector3d pos_global = item.mPosition;
@ -312,18 +320,16 @@ void NACLFloaterExploreSounds::handle_look_at(void* user_data)
gAgentCamera.setCameraAnimating(FALSE);
}
// static
void NACLFloaterExploreSounds::handle_stop(void* user_data)
void NACLFloaterExploreSounds::handle_stop()
{
NACLFloaterExploreSounds* floater = (NACLFloaterExploreSounds*)user_data;
LLScrollListCtrl* list = floater->getChild<LLScrollListCtrl>("sound_list");
LLScrollListCtrl* list = getChild<LLScrollListCtrl>("sound_list");
std::vector<LLScrollListItem*> selection = list->getAllSelected();
std::vector<LLScrollListItem*>::iterator selection_iter = selection.begin();
std::vector<LLScrollListItem*>::iterator selection_end = selection.end();
std::vector<LLUUID> asset_list;
for( ; selection_iter != selection_end; ++selection_iter)
{
LLSoundHistoryItem item = floater->getItem((*selection_iter)->getValue());
LLSoundHistoryItem item = getItem((*selection_iter)->getValue());
if(item.mID.isNull()) continue;
if(item.mPlaying)
{
@ -351,29 +357,34 @@ void NACLFloaterExploreSounds::handle_stop(void* user_data)
}
//add sound to blacklist
void NACLFloaterExploreSounds::blacklistSound(void* user_data)
void NACLFloaterExploreSounds::blacklistSound()
{
NACLFloaterExploreSounds* floater = (NACLFloaterExploreSounds*)user_data;
LLScrollListCtrl* list = floater->getChild<LLScrollListCtrl>("sound_list");
LLScrollListCtrl* list = getChild<LLScrollListCtrl>("sound_list");
std::vector<LLScrollListItem*> selection = list->getAllSelected();
std::vector<LLScrollListItem*>::iterator selection_iter = selection.begin();
std::vector<LLScrollListItem*>::iterator selection_end = selection.end();
std::vector<LLUUID> asset_list;
for( ; selection_iter != selection_end; ++selection_iter)
for ( ; selection_iter != selection_end; ++selection_iter)
{
LLSoundHistoryItem item = floater->getItem((*selection_iter)->getValue());
if(item.mID.isNull()) continue;
LLSoundHistoryItem item = getItem((*selection_iter)->getValue());
if (item.mID.isNull())
{
continue;
}
std::string entry_name;
std::string agent;
std::string region_name;
gCacheName->getFullName(item.mOwnerID, agent);
LLViewerRegion* cur_region = gAgent.getRegion();
if(cur_region)
entry_name = llformat("Sound played by %s in region %s",agent.c_str(),cur_region->getName().c_str());
else
entry_name = llformat("Sound played by %s",agent.c_str());
if (cur_region)
{
region_name = cur_region->getName();
}
FSWSAssetBlacklist::getInstance()->addNewItemToBlacklist(item.mAssetID,entry_name,LLAssetType::AT_SOUND,true);
FSWSAssetBlacklist::getInstance()->addNewItemToBlacklist(item.mAssetID, agent, region_name, LLAssetType::AT_SOUND, true);
}
}

View File

@ -16,29 +16,19 @@ class NACLFloaterExploreSounds
public:
NACLFloaterExploreSounds(const LLSD& key);
BOOL postBuild(void);
void close(bool app_quitting);
BOOL tick();
LLSoundHistoryItem getItem(LLUUID itemID);
static void handle_play_locally(void* user_data);
static void handle_play_in_world(void* user_data);
static void handle_look_at(void* user_data);
static void handle_open(void* user_data);
static void handle_copy_uuid(void* user_data);
static void handle_stop(void* user_data);
static void blacklistSound(void* user_data);
void handle_play_locally();
void handle_look_at();
void handle_stop();
void blacklistSound();
private:
virtual ~NACLFloaterExploreSounds();
std::list<LLSoundHistoryItem> mLastHistory;
// static
public:
static NACLFloaterExploreSounds* sInstance;
static void toggle();
};
#endif

File diff suppressed because it is too large Load Diff

View File

@ -101,7 +101,7 @@
<key>grid</key>
<map>
<key>desc</key>
<string>Specify the name of the grid, local, or an IP address to connect to.</string>
<string>Specify the name of the grid to connect to.</string>
<key>count</key>
<integer>1</integer>
<key>map-to</key>
@ -221,7 +221,6 @@
<string>CmdLineLoginURI1</string>
</map>
<!-- /FS:AW fix commandline loginuri (partial fix of FIRE-3448)-->
<key>logmetrics</key>
<map>
<key>desc</key>
@ -252,7 +251,7 @@
<map>
<key>map-to</key>
<string>NoAudio</string>
</map>
</map>
<key>noinvlib</key>
<map>
@ -268,7 +267,7 @@
<string>User will not get any notifications. NOTE: All notifications that occur will get added to ignore file for future runs.</string>
<key>map-to</key>
<string>IgnoreAllNotifications</string>
</map>
</map>
<key>nopreload</key>
<map>
@ -347,7 +346,7 @@
<key>map-to</key>
<string>QuitAfterSeconds</string>
</map>
<key>replaysession</key>
<map>
<key>desc</key>
@ -361,7 +360,7 @@
<key>map-to</key>
<string>RotateRight</string>
</map>
<key>safe</key>
<map>
<key>desc</key>

View File

@ -355,5 +355,59 @@
is_running_function="Agent.getFlying"
is_enabled_function="Agent.enableFlying"
/>
<command name="groundsit"
available_in_toybox="true"
icon="groundsit"
label_ref="Command_Groundsit_Label"
tooltip_ref="Command_Groundsit_Tooltip"
execute_function="Self.ForceSit"
is_running_function="Self.getForceSit"
is_enabled_function="Self.EnableForceSit"
/>
<command name="soundexplorer"
available_in_toybox="true"
icon="sound_explorer"
label_ref="Command_Sound_Explorer_Label"
tooltip_ref="Command_Sound_Explorer_Tooltip"
execute_function="Floater.Toggle"
execute_parameters="sound_explorer"
is_running_function="Floater.IsOpen"
is_running_parameters="sound_explorer"
/>
<command name="assetblacklist"
available_in_toybox="true"
icon="asset_blacklist"
label_ref="Command_Asset_Blacklist_Label"
tooltip_ref="Command_Asset_Blacklist_Tooltip"
execute_function="Floater.Toggle"
execute_parameters="ws_asset_blacklist"
is_running_function="Floater.IsOpen"
is_running_parameters="ws_asset_blacklist"
/>
<command name="phototools"
available_in_toybox="true"
icon="phototools"
label_ref="Command_Phototools_Label"
tooltip_ref="Command_Phototools_Tooltip"
execute_function="Floater.Toggle"
execute_parameters="phototools"
is_running_function="Floater.IsOpen"
is_running_parameters="phototools"
/>
<command name="phototools_view"
available_in_toybox="true"
icon="Command_View_Icon"
label_ref="Command_Phototools_View_Label"
tooltip_ref="Command_Phototools_View_Tooltip"
execute_function="Floater.Toggle"
execute_parameters="phototools_camera"
is_running_function="Floater.IsOpen"
is_running_parameters="phototools_camera"
/>
</commands>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,98 +1,98 @@
SET ISO8859-1
TRY esianrtolcdugmphbyfvkw
PFX A Y 1
PFX A 0 re .
PFX I Y 1
PFX I 0 in .
PFX U Y 1
PFX U 0 un .
PFX C Y 1
PFX C 0 de .
PFX E Y 1
PFX E 0 dis .
PFX F Y 1
PFX F 0 con .
PFX K Y 1
PFX K 0 pro .
SFX V N 2
SFX V e ive e
SFX V 0 ive [^e]
SFX N Y 3
SFX N e ion e
SFX N y ication y
SFX N 0 en [^ey]
SFX X Y 3
SFX X e ions e
SFX X y ications y
SFX X 0 ens [^ey]
SFX H N 2
SFX H y ieth y
SFX H 0 th [^y]
SFX Y Y 1
SFX Y 0 ly .
SFX G Y 2
SFX G e ing e
SFX G 0 ing [^e]
SFX J Y 2
SFX J e ings e
SFX J 0 ings [^e]
SFX D Y 4
SFX D 0 d e
SFX D y ied [^aeiou]y
SFX D 0 ed [^ey]
SFX D 0 ed [aeiou]y
SFX T N 4
SFX T 0 st e
SFX T y iest [^aeiou]y
SFX T 0 est [aeiou]y
SFX T 0 est [^ey]
SFX R Y 4
SFX R 0 r e
SFX R y ier [^aeiou]y
SFX R 0 er [aeiou]y
SFX R 0 er [^ey]
SFX Z Y 4
SFX Z 0 rs e
SFX Z y iers [^aeiou]y
SFX Z 0 ers [aeiou]y
SFX Z 0 ers [^ey]
SFX S Y 4
SFX S y ies [^aeiou]y
SFX S 0 s [aeiou]y
SFX S 0 es [sxzh]
SFX S 0 s [^sxzhy]
SFX P Y 3
SFX P y iness [^aeiou]y
SFX P 0 ness [aeiou]y
SFX P 0 ness [^y]
SFX M Y 1
SFX M 0 's .
SFX B Y 3
SFX B 0 able [^aeiou]
SFX B 0 able ee
SFX B e able [^aeiou]e
SFX L Y 1
SFX L 0 ment .
SET ISO8859-1
TRY esianrtolcdugmphbyfvkw
PFX A Y 1
PFX A 0 re .
PFX I Y 1
PFX I 0 in .
PFX U Y 1
PFX U 0 un .
PFX C Y 1
PFX C 0 de .
PFX E Y 1
PFX E 0 dis .
PFX F Y 1
PFX F 0 con .
PFX K Y 1
PFX K 0 pro .
SFX V N 2
SFX V e ive e
SFX V 0 ive [^e]
SFX N Y 3
SFX N e ion e
SFX N y ication y
SFX N 0 en [^ey]
SFX X Y 3
SFX X e ions e
SFX X y ications y
SFX X 0 ens [^ey]
SFX H N 2
SFX H y ieth y
SFX H 0 th [^y]
SFX Y Y 1
SFX Y 0 ly .
SFX G Y 2
SFX G e ing e
SFX G 0 ing [^e]
SFX J Y 2
SFX J e ings e
SFX J 0 ings [^e]
SFX D Y 4
SFX D 0 d e
SFX D y ied [^aeiou]y
SFX D 0 ed [^ey]
SFX D 0 ed [aeiou]y
SFX T N 4
SFX T 0 st e
SFX T y iest [^aeiou]y
SFX T 0 est [aeiou]y
SFX T 0 est [^ey]
SFX R Y 4
SFX R 0 r e
SFX R y ier [^aeiou]y
SFX R 0 er [aeiou]y
SFX R 0 er [^ey]
SFX Z Y 4
SFX Z 0 rs e
SFX Z y iers [^aeiou]y
SFX Z 0 ers [aeiou]y
SFX Z 0 ers [^ey]
SFX S Y 4
SFX S y ies [^aeiou]y
SFX S 0 s [aeiou]y
SFX S 0 es [sxzh]
SFX S 0 s [^sxzhy]
SFX P Y 3
SFX P y iness [^aeiou]y
SFX P 0 ness [aeiou]y
SFX P 0 ness [^y]
SFX M Y 1
SFX M 0 's .
SFX B Y 3
SFX B 0 able [^aeiou]
SFX B 0 able ee
SFX B e able [^aeiou]e
SFX L Y 1
SFX L 0 ment .

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,201 +1,201 @@
SET ISO8859-1
TRY esianrtolcdugmphbyfvkwzESIANRTOLCDUGMPHBYFVKWZ'
NOSUGGEST !
# ordinal numbers
COMPOUNDMIN 1
# only in compounds: 1th, 2th, 3th
ONLYINCOMPOUND c
# compound rules:
# 1. [0-9]*1[0-9]th (10th, 11th, 12th, 56714th, etc.)
# 2. [0-9]*[02-9](1st|2nd|3rd|[4-9]th) (21st, 22nd, 123rd, 1234th, etc.)
COMPOUNDRULE 2
COMPOUNDRULE n*1t
COMPOUNDRULE n*mp
WORDCHARS 0123456789
PFX A Y 1
PFX A 0 re .
PFX I Y 1
PFX I 0 in .
PFX U Y 1
PFX U 0 un .
PFX C Y 1
PFX C 0 de .
PFX E Y 1
PFX E 0 dis .
PFX F Y 1
PFX F 0 con .
PFX K Y 1
PFX K 0 pro .
SFX V N 2
SFX V e ive e
SFX V 0 ive [^e]
SFX N Y 3
SFX N e ion e
SFX N y ication y
SFX N 0 en [^ey]
SFX X Y 3
SFX X e ions e
SFX X y ications y
SFX X 0 ens [^ey]
SFX H N 2
SFX H y ieth y
SFX H 0 th [^y]
SFX Y Y 1
SFX Y 0 ly .
SFX G Y 2
SFX G e ing e
SFX G 0 ing [^e]
SFX J Y 2
SFX J e ings e
SFX J 0 ings [^e]
SFX D Y 4
SFX D 0 d e
SFX D y ied [^aeiou]y
SFX D 0 ed [^ey]
SFX D 0 ed [aeiou]y
SFX T N 4
SFX T 0 st e
SFX T y iest [^aeiou]y
SFX T 0 est [aeiou]y
SFX T 0 est [^ey]
SFX R Y 4
SFX R 0 r e
SFX R y ier [^aeiou]y
SFX R 0 er [aeiou]y
SFX R 0 er [^ey]
SFX Z Y 4
SFX Z 0 rs e
SFX Z y iers [^aeiou]y
SFX Z 0 ers [aeiou]y
SFX Z 0 ers [^ey]
SFX S Y 4
SFX S y ies [^aeiou]y
SFX S 0 s [aeiou]y
SFX S 0 es [sxzh]
SFX S 0 s [^sxzhy]
SFX P Y 3
SFX P y iness [^aeiou]y
SFX P 0 ness [aeiou]y
SFX P 0 ness [^y]
SFX M Y 1
SFX M 0 's .
SFX B Y 3
SFX B 0 able [^aeiou]
SFX B 0 able ee
SFX B e able [^aeiou]e
SFX L Y 1
SFX L 0 ment .
REP 88
REP a ei
REP ei a
REP a ey
REP ey a
REP ai ie
REP ie ai
REP are air
REP are ear
REP are eir
REP air are
REP air ere
REP ere air
REP ere ear
REP ere eir
REP ear are
REP ear air
REP ear ere
REP eir are
REP eir ere
REP ch te
REP te ch
REP ch ti
REP ti ch
REP ch tu
REP tu ch
REP ch s
REP s ch
REP ch k
REP k ch
REP f ph
REP ph f
REP gh f
REP f gh
REP i igh
REP igh i
REP i uy
REP uy i
REP i ee
REP ee i
REP j di
REP di j
REP j gg
REP gg j
REP j ge
REP ge j
REP s ti
REP ti s
REP s ci
REP ci s
REP k cc
REP cc k
REP k qu
REP qu k
REP kw qu
REP o eau
REP eau o
REP o ew
REP ew o
REP oo ew
REP ew oo
REP ew ui
REP ui ew
REP oo ui
REP ui oo
REP ew u
REP u ew
REP oo u
REP u oo
REP u oe
REP oe u
REP u ieu
REP ieu u
REP ue ew
REP ew ue
REP uff ough
REP oo ieu
REP ieu oo
REP ier ear
REP ear ier
REP ear air
REP air ear
REP w qu
REP qu w
REP z ss
REP ss z
REP shun tion
REP shun sion
REP shun cion
SET ISO8859-1
TRY esianrtolcdugmphbyfvkwzESIANRTOLCDUGMPHBYFVKWZ'
NOSUGGEST !
# ordinal numbers
COMPOUNDMIN 1
# only in compounds: 1th, 2th, 3th
ONLYINCOMPOUND c
# compound rules:
# 1. [0-9]*1[0-9]th (10th, 11th, 12th, 56714th, etc.)
# 2. [0-9]*[02-9](1st|2nd|3rd|[4-9]th) (21st, 22nd, 123rd, 1234th, etc.)
COMPOUNDRULE 2
COMPOUNDRULE n*1t
COMPOUNDRULE n*mp
WORDCHARS 0123456789
PFX A Y 1
PFX A 0 re .
PFX I Y 1
PFX I 0 in .
PFX U Y 1
PFX U 0 un .
PFX C Y 1
PFX C 0 de .
PFX E Y 1
PFX E 0 dis .
PFX F Y 1
PFX F 0 con .
PFX K Y 1
PFX K 0 pro .
SFX V N 2
SFX V e ive e
SFX V 0 ive [^e]
SFX N Y 3
SFX N e ion e
SFX N y ication y
SFX N 0 en [^ey]
SFX X Y 3
SFX X e ions e
SFX X y ications y
SFX X 0 ens [^ey]
SFX H N 2
SFX H y ieth y
SFX H 0 th [^y]
SFX Y Y 1
SFX Y 0 ly .
SFX G Y 2
SFX G e ing e
SFX G 0 ing [^e]
SFX J Y 2
SFX J e ings e
SFX J 0 ings [^e]
SFX D Y 4
SFX D 0 d e
SFX D y ied [^aeiou]y
SFX D 0 ed [^ey]
SFX D 0 ed [aeiou]y
SFX T N 4
SFX T 0 st e
SFX T y iest [^aeiou]y
SFX T 0 est [aeiou]y
SFX T 0 est [^ey]
SFX R Y 4
SFX R 0 r e
SFX R y ier [^aeiou]y
SFX R 0 er [aeiou]y
SFX R 0 er [^ey]
SFX Z Y 4
SFX Z 0 rs e
SFX Z y iers [^aeiou]y
SFX Z 0 ers [aeiou]y
SFX Z 0 ers [^ey]
SFX S Y 4
SFX S y ies [^aeiou]y
SFX S 0 s [aeiou]y
SFX S 0 es [sxzh]
SFX S 0 s [^sxzhy]
SFX P Y 3
SFX P y iness [^aeiou]y
SFX P 0 ness [aeiou]y
SFX P 0 ness [^y]
SFX M Y 1
SFX M 0 's .
SFX B Y 3
SFX B 0 able [^aeiou]
SFX B 0 able ee
SFX B e able [^aeiou]e
SFX L Y 1
SFX L 0 ment .
REP 88
REP a ei
REP ei a
REP a ey
REP ey a
REP ai ie
REP ie ai
REP are air
REP are ear
REP are eir
REP air are
REP air ere
REP ere air
REP ere ear
REP ere eir
REP ear are
REP ear air
REP ear ere
REP eir are
REP eir ere
REP ch te
REP te ch
REP ch ti
REP ti ch
REP ch tu
REP tu ch
REP ch s
REP s ch
REP ch k
REP k ch
REP f ph
REP ph f
REP gh f
REP f gh
REP i igh
REP igh i
REP i uy
REP uy i
REP i ee
REP ee i
REP j di
REP di j
REP j gg
REP gg j
REP j ge
REP ge j
REP s ti
REP ti s
REP s ci
REP ci s
REP k cc
REP cc k
REP k qu
REP qu k
REP kw qu
REP o eau
REP eau o
REP o ew
REP ew o
REP oo ew
REP ew oo
REP ew ui
REP ui ew
REP oo ui
REP ui oo
REP ew u
REP u ew
REP oo u
REP u oo
REP u oe
REP oe u
REP u ieu
REP ieu u
REP ue ew
REP ew ue
REP uff ough
REP oo ieu
REP ieu oo
REP ier ear
REP ear ier
REP ear air
REP air ear
REP w qu
REP qu w
REP z ss
REP ss z
REP shun tion
REP shun sion
REP shun cion

File diff suppressed because it is too large Load Diff

View File

@ -1,79 +1,15 @@
<llsd>
<map>
<key>login.avination.net/</key>
<map>
<key>LastModified</key>
<date>2011-08-28T12:00:00.00Z</date>
<key>about</key>
<string>https://login.avination.net/</string>
<key>grid_login_id</key>
<string>login.avination.net/</string>
<key>gridname</key>
<string>Avination</string>
<key>gridnick</key>
<string>craft</string>
<key>helperuri</key>
<string>https://secure.3dhosting.de/</string>
<key>login_identifier_types</key>
<array>
<string>agent</string>
<string>account</string>
</array>
<key>loginpage</key>
<string>https://www.avination.com/welcome.php</string>
<key>loginuri</key>
<array>
<string>login.avination.net/</string>
</array>
<key>name</key>
<string>login.avination.net/</string>
<key>register</key>
<string>https://www.avination.com/account.php</string>
<key>slurl_base</key>
<string>https://login.avination.net/</string>
</map>
<key>grid.avatarconnection.com:8002/</key>
<map>
<key>LastModified</key>
<date>2011-08-28T12:00:00.00Z</date>
<key>about</key>
<string>http://grid.avatarconnection.com:8002/</string>
<key>grid_login_id</key>
<string>grid.avatarconnection.com:8002/</string>
<key>gridname</key>
<string>Avatar Connection</string>
<key>gridnick</key>
<string>craft</string>
<key>helperuri</key>
<string>http://grid.avatarconnection.com:9000/</string>
<key>login_identifier_types</key>
<array>
<string>agent</string>
<string>account</string>
</array>
<key>loginpage</key>
<string>http://avatarconnection.com/grid/index.php</string>
<key>loginuri</key>
<array>
<string>http://grid.avatarconnection.com:8002/</string>
</array>
<key>name</key>
<string>grid.avatarconnection.com:8002/</string>
<key>register</key>
<string></string>
<key>slurl_base</key>
<string>http://grid.avatarconnection.com:8002/</string>
</map>
<map>
<key>craft-world.org:8002</key>
<map>
<key>LastModified</key>
<date>2011-08-28T12:00:00.00Z</date>
<date>2012-08-03T15:33:03.16Z</date>
<key>about</key>
<string>http://www.craft-world.org/</string>
<key>grid_login_id</key>
<key>gatekeeper</key>
<string>craft-world.org:8002</string>
<key>gridname</key>
<string>Craft - The Friendly World</string>
<string>Craft World</string>
<key>gridnick</key>
<string>craft</string>
<key>helperuri</key>
@ -92,18 +28,16 @@
<key>name</key>
<string>craft-world.org:8002</string>
<key>register</key>
<string>http://craft-world.org:8002/wifi/user/account</string>
<string>http://www.craft-world.org/page/en/register-an-avatar.php</string>
<key>slurl_base</key>
<string>hop://craft-world.org:8002/</string>
</map>
<key>grid.3rdrockgrid.com:8002</key>
<map>
<key>LastModified</key>
<date>2011-08-28T12:00:00.00Z</date>
<date>2012-08-03T15:32:54.31Z</date>
<key>about</key>
<string>http://3rdrockgrid.com/</string>
<key>grid_login_id</key>
<string>grid.3rdrockgrid.com:8002</string>
<key>gridname</key>
<string>3RD Rock Grid</string>
<key>gridnick</key>
@ -118,7 +52,7 @@
<string>account</string>
</array>
<key>loginpage</key>
<string>http://3rdrockgrid.com/startpage.php</string>
<string>http://grid.3rdrockgrid.com/3rg_login/</string>
<key>loginuri</key>
<array>
<string>http://grid.3rdrockgrid.com:8002/</string>
@ -132,56 +66,55 @@
<key>slurl_base</key>
<string>hop://grid.3rdrockgrid.com:8002/</string>
</map>
<key>grid.roleplayworlds.net:8002</key>
<key>grid.avatarconnection.com:8002/</key>
<map>
<key>LastModified</key>
<date>2011-08-28T12:00:00.00Z</date>
<date>2012-08-03T15:36:57.31Z</date>
<key>about</key>
<string>http://roleplayworlds.net</string>
<key>grid_login_id</key>
<string>grid.roleplayworlds.net:8002</string>
<string>http://avatarconnection.com/</string>
<key>gridname</key>
<string>Role Play Worlds</string>
<string>Avatar Connection</string>
<key>gridnick</key>
<string>roleplayworlds</string>
<key>help</key>
<string>http://roleplayworlds.net/help</string>
<string>AvatarConnection</string>
<key>helperuri</key>
<string>http://grid.roleplayworlds.net/</string>
<string>http://grid.avatarconnection.com:9000/</string>
<key>login_identifier_types</key>
<array>
<string>agent</string>
<string>account</string>
</array>
<key>loginpage</key>
<string>http://roleplayworlds.net/loginscreen</string>
<string>http://avatarconnection.com/grid/index.php</string>
<key>loginuri</key>
<array>
<string>http://grid.roleplayworlds.net:8002/</string>
<string>http://grid.avatarconnection.com:8002/</string>
</array>
<key>name</key>
<string>grid.roleplayworlds.net:8002</string>
<key>password</key>
<string>http://roleplayworlds.net/password</string>
<string>grid.avatarconnection.com:8002/</string>
<key>register</key>
<string>http://roleplayworlds.net/register</string>
<string>http://avatarconnection.com/</string>
<key>slurl_base</key>
<string>hop://grid.roleplayworlds.net:8002/</string>
<string>hop://grid.avatarconnection.com:8002//</string>
</map>
<key>grid.roleplayworlds.net:8002</key>
<map>
<key>DEPRECATED</key>
<string>TRUE</string>
<key>name</key>
<string>grid.roleplayworlds.net:8002</string>
</map>
<key>grid01.from-ne.com:8002</key>
<map>
<key>LastModified</key>
<date>2011-08-28T12:00:00.00Z</date>
<date>2012-08-03T15:36:53.60Z</date>
<key>about</key>
<string>http://www.youralternativelife.com</string>
<key>grid_login_id</key>
<string>grid01.from-ne.com:8002</string>
<key>gridname</key>
<string>Your Alternative Life</string>
<key>gridnick</key>
<string>YAL</string>
<key>helperuri</key>
<string>http://grid01.from-ne.com/tios/services/</string>
<key>help</key>
<string>http://grid01.from-ne.com/tios/support/</string>
<key>login_identifier_types</key>
<array>
<string>agent</string>
@ -191,53 +124,21 @@
<string>http://grid01.from-ne.com/tios/loginscreen3.php</string>
<key>loginuri</key>
<array>
<string>http://grid01.from-ne.com:8002</string>
<string>http://grid01.from-ne.com:8002/</string>
</array>
<key>name</key>
<string>grid01.from-ne.com:8002</string>
<key>password</key>
<string>http://grid01.from-ne.com/tios/support/resetpw.php</string>
<key>register</key>
<string>http://grid01.from-ne.com/tios/support/createnew.php</string>
<key>slurl_base</key>
<string>hop://grid01.from-ne.com:8002/</string>
</map>
<key>inworldz.com:8002</key>
<map>
<key>LastModified</key>
<date>2011-08-28T12:00:00.00Z</date>
<key>about</key>
<string>http://inworldz.com/</string>
<key>grid_login_id</key>
<string>inworldz.com:8002</string>
<key>gridname</key>
<string>Inworldz</string>
<key>gridnick</key>
<string>Inworldz</string>
<key>help</key>
<string>http://inworldz.com/faq.php</string>
<key>helperuri</key>
<string>http://inworldz.com/</string>
<key>login_identifier_types</key>
<array>
<string>agent</string>
<string>account</string>
</array>
<key>loginpage</key>
<string>http://inworldz.com/loginscreen.php</string>
<key>loginuri</key>
<array>
<string>http://inworldz.com:8002/</string>
</array>
<key>name</key>
<string>inworldz.com:8002</string>
<key>password</key>
<string>http://inworldz.com/</string>
<key>register</key>
<string>http://inworldz.com/register.php</string>
<key>slurl_base</key>
<string>hop://inworldz.com:8002/</string>
</map>
<key>localhost:9000</key>
<map>
<key>LastModified</key>
<date>2011-08-28T12:00:00.00Z</date>
<date>2011-08-28T12:00:00Z</date>
<key>grid_login_id</key>
<string>localhost:9000</string>
<key>gridname</key>
@ -260,50 +161,53 @@
<key>slurl_base</key>
<string>hop://localhost:9000/</string>
</map>
<key>login.danger.osgrid.org</key>
<key>login.avination.net/</key>
<map>
<key>LastModified</key>
<date>2011-08-28T12:00:00.00Z</date>
<date>2012-08-03T15:33:01.02Z</date>
<key>about</key>
<string>http://www.danger.osgrid.org/</string>
<key>grid_login_id</key>
<string>login.danger.osgrid.org</string>
<string>http://login.avination.net</string>
<key>gridname</key>
<string>Danger Grid (OSGrid Testing)</string>
<string>Avination</string>
<key>gridnick</key>
<string>osgrid_danger</string>
<key>help</key>
<string>http://www.danger.osgrid.org/</string>
<string>Avination</string>
<key>helperuri</key>
<string>http://helper.danger.osgrid.org/</string>
<string>https://secure.3dhosting.de/</string>
<key>login_identifier_types</key>
<array>
<string>agent</string>
<string>account</string>
</array>
<key>loginpage</key>
<string>http://www.danger.osgrid.org/splash/</string>
<string>https://www.avination.com/welcome.php</string>
<key>loginuri</key>
<array>
<string>http://login.danger.osgrid.org/</string>
<string>https://login.avination.com</string>
</array>
<key>name</key>
<string>login.danger.osgrid.org</string>
<string>login.avination.net/</string>
<key>password</key>
<string>http://www.danger.osgrid.org/</string>
<string>https://www.avination.com/pwrecover.php</string>
<key>register</key>
<string>http://www.danger.osgrid.org/</string>
<string>https://www.avination.com/join.php</string>
<key>slurl_base</key>
<string>hop://login.danger.osgrid.org/</string>
<string>hop://login.avination.net//</string>
</map>
<key>login.danger.osgrid.org</key>
<map>
<key>DEPRECATED</key>
<string>TRUE</string>
<key>name</key>
<string>login.danger.osgrid.org</string>
</map>
<key>login.osgrid.org</key>
<map>
<key>LastModified</key>
<date>2011-08-28T12:00:00.00Z</date>
<key>LastModified</key>
<date>2012-08-03T15:36:22.93Z</date>
<key>about</key>
<string>http://www.osgrid.org/</string>
<key>grid_login_id</key>
<string>login.osgrid.org</string>
<key>gatekeeper</key>
<string>hg.osgrid.org:80</string>
<key>gridname</key>
<string>OSGrid</string>
<key>gridnick</key>
@ -334,44 +238,15 @@
</map>
<key>reactiongrid.com:8008</key>
<map>
<key>LastModified</key>
<date>2011-08-28T12:00:00.00Z</date>
<key>about</key>
<string>http://reactiongrid.com/Default.aspx</string>
<key>grid_login_id</key>
<string>reactiongrid.com:8008</string>
<key>gridname</key>
<string>ReactionGrid</string>
<key>gridnick</key>
<string>ReactionGrid</string>
<key>help</key>
<string>http://reactiongrid.com/Support.aspx</string>
<key>helperuri</key>
<string>http://reactiongrid.com:9000/</string>
<key>login_identifier_types</key>
<array>
<string>agent</string>
<string>account</string>
</array>
<key>loginpage</key>
<string>http://gsquared.info/portal</string>
<key>loginuri</key>
<array>
<string>http://reactiongrid.com:8008/</string>
</array>
<key>DEPRECATED</key>
<string>TRUE</string>
<key>name</key>
<string>reactiongrid.com:8008</string>
<key>password</key>
<string>http://www.reactiongrid.com/Support/PasswordReset.aspx</string>
<key>register</key>
<string>http://reactiongrid.com/Register.aspx</string>
<key>slurl_base</key>
<string>hop://reactiongrid.com:8008/</string>
</map>
<key>util.aditi.lindenlab.com</key>
<map>
<key>LastModified</key>
<date>2011-08-28T12:00:00.00Z</date>
<date>2011-08-28T12:00:00Z</date>
<key>app_slurl_base</key>
<string>secondlife:///app</string>
<key>gridname</key>
@ -396,13 +271,11 @@
<string>secondlife://util.aditi.lindenlab.com/secondlife/</string>
<key>system_grid</key>
<integer>1</integer>
<key>app_slurl_base</key>
<string>secondlife:///app</string>
</map>
<key>util.agni.lindenlab.com</key>
<map>
<key>LastModified</key>
<date>2011-08-28T12:00:00.00Z</date>
<date>2011-08-28T12:00:00Z</date>
<key>app_slurl_base</key>
<string>secondlife:///app</string>
<key>favorite</key>
@ -427,8 +300,6 @@
<string>util.agni.lindenlab.com</string>
<key>slurl_base</key>
<string>http://maps.secondlife.com/secondlife/</string>
<key>app_slurl_base</key>
<string>secondlife:///app</string>
<key>system_grid</key>
<integer>1</integer>
</map>

View File

@ -368,7 +368,7 @@ PRIM_MATERIAL Followed by PRIM_MATERIAL_STONE, PRIM_MATERIAL_METAL, PRIM_MATERI
PRIM_PHYSICS Sets physics to TRUE or FALSE
PRIM_FLEXIBLE Followed by TRUE or FALSE, integer softness, float gravity, float friction, float wind, float tension, and vector force
PRIM_POINT_LIGHT Followed by TRUE or FALSE, vector color, float intensity, float radius, float falloff
PRIM_TEMP_ON_REZ Sets temporay on rez to TRUE or FALSE
PRIM_TEMP_ON_REZ Sets temporary on rez to TRUE or FALSE
PRIM_PHANTOM Sets phantom to TRUE or FALSE
PRIM_CAST_SHADOWS DEPRECATED. Takes 1 parameter, an integer, but has no effect when set and always returns 0 if used in llGetPrimitiveParams
PRIM_POSITION Sets primitive position to a vector position
@ -656,6 +656,100 @@ RC_GET_ROOT_KEY Flag used in the RC_DATA_FLAGS mask to get root keys in llCas
RC_GET_LINK_NUM Flag used in the RC_DATA_FLAGS mask to get link numbers in llCastRay() results.
# </FS:Ansariel> Manually added constants
# <FS:Ansariel> Partially commented out because they have been added previously
#PROFILE_NONE Disables profiling
#PROFILE_SCRIPT_MEMORY Enables memory profiling
#RC_DATA_FLAGS TODO: add documentation
#RC_DETECT_PHANTOM TODO: add documentation
#RC_GET_LINK_NUM TODO: add documentation
#RC_GET_NORMAL TODO: add documentation
#RC_GET_ROOT_KEY TODO: add documentation
#RC_MAX_HITS TODO: add documentation
#RC_REJECT_TYPES Optional parameter set in llCastRay() to reject hit against certain object types.
#RC_REJECT_AGENTS Bit mask for RC_REJECT_TYPES, rejects hits against avatars.
#RC_REJECT_PHYSICAL Bit mask for RC_REJECT_TYPES, rejects hits against moving objects.
#RC_REJECT_NONPHYSICAL Bit mask for RC_REJECT_TYPES, rejects hits against non-moving objects.
#RC_REJECT_LAND Bit mask for RC_REJECT_TYPES, rejects hits against the terrian.
#RCERR_CAST_TIME_EXCEEDED TODO: add documentation
#RCERR_SIM_PERF_LOW TODO: add documentation
#RCERR_UNKNOWN TODO: add documentation
#ESTATE_ACCESS_ALLOWED_AGENT_ADD TODO: add documentation
#ESTATE_ACCESS_ALLOWED_AGENT_REMOVE TODO: add documentation
#ESTATE_ACCESS_ALLOWED_GROUP_ADD TODO: add documentation
#ESTATE_ACCESS_ALLOWED_GROUP_REMOVE TODO: add documentation
#ESTATE_ACCESS_BANNED_AGENT_ADD TODO: add documentation
#ESTATE_ACCESS_BANNED_AGENT_REMOVE TODO: add documentation
#DENSITY TODO: add documentation
#FRICTION TODO: add documentation
#RESTITUTION TODO: add documentation
#GRAVITY_MULTIPLIER TODO: add documentation
#KFM_COMMAND TODO: add documentation
#KFM_CMD_PLAY TODO: add documentation
#KFM_CMD_STOP TODO: add documentation
#KFM_CMD_PAUSE TODO: add documentation
KFM_CMD_SET_MODE TODO: add documentation
#KFM_MODE TODO: add documentation
#KFM_FORWARD TODO: add documentation
#KFM_LOOP TODO: add documentation
#KFM_PING_PONG TODO: add documentation
#KFM_REVERSE TODO: add documentation
#KFM_DATA TODO: add documentation
#KFM_ROTATION TODO: add documentation
#KFM_TRANSLATION TODO: add documentation
# </FS:Ansariel> Partially commented out because they have been added previously
CHARACTER_CMD_STOP TODO: add documentation
CHARACTER_CMD_JUMP TODO: add documentation
CHARACTER_DESIRED_SPEED TODO: add documentation
CHARACTER_RADIUS TODO: add documentation
CHARACTER_LENGTH TODO: add documentation
CHARACTER_ORIENTATION TODO: add documentation
CHARACTER_AVOIDANCE_MODE TODO: add documentation
PURSUIT_OFFSET TODO: add documentation
REQUIRE_LINE_OF_SIGHT TODO: add documentation
PURSUIT_FUZZ_FACTOR TODO: add documentation
PURSUIT_INTERCEPT TODO: add documentation
FORCE_DIRECT_PATH TODO: add documentation
VERTICAL TODO: add documentation
HORIZONTAL TODO: add documentation
AVOID_CHARACTERS TODO: add documentation
AVOID_DYNAMIC_OBSTACLES TODO: add documentation
PU_EVADE_HIDDEN Triggered when an llEvade character thinks it has hidden from its pursuer.
PU_EVADE_SPOTTED Triggered when an llEvade character switches from hiding to running
PU_FAILURE_INVALID_GOAL Goal is not on the navigation-mesh and cannot be reached.
PU_FAILURE_INVALID_START Character cannot navigate from the current location - e.g., the character is off the navmesh or too high above it.
PU_FAILURE_NO_VALID_DESTINATION There's no good place for the character to go - e.g., it is patrolling and all the patrol points are now unreachable.
PU_FAILURE_OTHER Unknown failure
PU_FAILURE_TARGET_GONE Target (for llPursue or llEvade) can no longer be tracked - e.g., it left the region or is an avatar that is now more than about 30m outside the region.
PU_FAILURE_UNREACHABLE Goal is no longer reachable for some reason - e.g., an obstacle blocks the path.
PU_GOAL_REACHED Character has reached the goal and will stop or choose a new goal (if wandering).
PU_SLOWDOWN_DISTANCE_REACHED Character is near current goal.
CHARACTER_TYPE TODO: add documentation
CHARACTER_TYPE_A TODO: add documentation
CHARACTER_TYPE_B TODO: add documentation
CHARACTER_TYPE_C TODO: add documentation
CHARACTER_TYPE_D TODO: add documentation
CHARACTER_TYPE_NONE TODO: add documentation
TRAVERSAL_TYPE TODO: add documentation
TRAVERSAL_TYPE_SLOW TODO: add documentation
TRAVERSAL_TYPE_FAST TODO: add documentation
TRAVERSAL_TYPE_NONE TODO: add documentation
CHARACTER_MAX_ACCEL TODO: add documentation
CHARACTER_MAX_DECEL TODO: add documentation
CHARACTER_MAX_ANGULAR_SPEED TODO: add documentation
CHARACTER_MAX_ANGULAR_ACCEL TODO: add documentation
CHARACTER_TURN_SPEED_MULTIPLIER TODO: add documentation
# string constants
[word .1, .3, .5]
NULL_KEY Indicates an empty key

View File

@ -3897,6 +3897,39 @@
<key>Value</key>
<integer>-1</integer>
</map>
<key>DebugStatObjCacheMiss</key>
<map>
<key>Comment</key>
<string>Mode of stat in Statistics floater</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>S32</string>
<key>Value</key>
<integer>-1</integer>
</map>
<key>DebugStatTextureCacheHits</key>
<map>
<key>Comment</key>
<string>Mode of stat in Statistics floater</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>S32</string>
<key>Value</key>
<integer>-1</integer>
</map>
<key>DebugStatTextureCacheReadLatency</key>
<map>
<key>Comment</key>
<string>Mode of stat in Statistics floater</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>S32</string>
<key>Value</key>
<integer>-1</integer>
</map>
<key>DebugStatModeTextureCount</key>
<map>
<key>Comment</key>
@ -4194,6 +4227,28 @@
<key>Value</key>
<integer>-1</integer>
</map>
<key>DebugStatModeSimPCTScriptsRun</key>
<map>
<key>Comment</key>
<string>Mode of stat in Statistics floater</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>S32</string>
<key>Value</key>
<integer>-1</integer>
</map>
<key>DebugStatModeSimScriptEvents</key>
<map>
<key>Comment</key>
<string>Mode of stat in Statistics floater</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>S32</string>
<key>Value</key>
<integer>-1</integer>
</map>
<key>DebugStatModeSimScriptEvents</key>
<map>
<key>Comment</key>
@ -6679,6 +6734,17 @@
<key>Value</key>
<integer>4</integer>
</map>
<key>LastSnapshotToFlickrResolution</key>
<map>
<key>Comment</key>
<string>At what resolution should snapshots be taken for Flickr upload. 0=Current Window, 1=320x240, 2=640x480, 3=800x600, 4=1024x768, 5=1280x1024, 6=1600x1200, 7=Custom</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>S32</string>
<key>Value</key>
<integer>4</integer>
</map>
<key>SnapshotToDiskQuality</key>
<map>
<key>Comment</key>
@ -8466,6 +8532,17 @@ Change of this parameter will affect the layout of buttons in notification toast
<key>Value</key>
<integer>0</integer>
</map>
<key>OpenDebugStatSimPathfinding</key>
<map>
<key>Comment</key>
<string>Expand Pathfinding performance stats display</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>OpenDebugStatPhysicsDetails</key>
<map>
<key>Comment</key>
@ -8658,17 +8735,6 @@ Change of this parameter will affect the layout of buttons in notification toast
<key>Value</key>
<integer>344</integer>
</map>
<key>PermissionsGrantToSitOwner</key>
<map>
<key>Comment</key>
<string>Automatically grant permissions to animate, take controls, track camera and control camera to objects owned by the same avatar as the object you are sat on.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>PickerContextOpacity</key>
<map>
<key>Comment</key>
@ -12778,6 +12844,17 @@ Change of this parameter will affect the layout of buttons in notification toast
<key>Value</key>
<integer>0</integer>
</map>
<key>FlickrSnapshotFormat</key>
<map>
<key>Comment</key>
<string>Save snapshots for Flickr in this format (0 = PNG, 1 = JPEG, 2 = BMP)</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>S32</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>SnapshotQuality</key>
<map>
<key>Comment</key>
@ -16298,50 +16375,6 @@ Change of this parameter will affect the layout of buttons in notification toast
<key>Value</key>
<integer>1</integer>
</map>
<key>KittyFlickrLastRating</key>
<map>
<key>Comment</key>
<string>Last rating for Flickr upload. 1 = safe, 2 = moderate, 3 = restricted</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>S32</string>
<key>Value</key>
<integer>1</integer>
</map>
<key>KittyFlickrLastTags</key>
<map>
<key>Comment</key>
<string>Last tags used on Flickr upload</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>String</string>
<key>Value</key>
<string>"Second Life"</string>
</map>
<key>KittyFlickrShowPosition</key>
<map>
<key>Comment</key>
<string>Whether to show the position of a Flickr upload</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>1</integer>
</map>
<key>KittyFlickrIncludeSLURL</key>
<map>
<key>Comment</key>
<string>If showing the position of an image, whether an SLurl should be included in the description.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>1</integer>
</map>
<key>LastJ2CVersion</key>
<map>
<key>Comment</key>
@ -16976,7 +17009,313 @@ Change of this parameter will affect the layout of buttons in notification toast
<key>Value</key>
<integer>0</integer>
</map>
<key>GroupMembersSortOrder</key>
<key>PathfindingRetrieveNeighboringRegion</key>
<map>
<key>Comment</key>
<string>Download a neighboring region when visualizing a pathfinding navmesh (default val 99 means do not download neighbors).</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>U32</string>
<key>Value</key>
<integer>99</integer>
</map>
<key>PathfindingNavMeshClear</key>
<map>
<key>Comment</key>
<string>Background color when displaying pathfinding navmesh.</string>
<key>Persist</key>
<integer>0</integer>
<key>Type</key>
<string>Color4</string>
<key>Value</key>
<array>
<real>0</real>
<real>0</real>
<real>0</real>
<real>1.0</real>
</array>
</map>
<key>PathfindingWalkable</key>
<map>
<key>Comment</key>
<string>Color of walkable objects when displaying pathfinding navmesh object types.</string>
<key>Persist</key>
<integer>0</integer>
<key>Type</key>
<string>Color4</string>
<key>Value</key>
<array>
<real>0.45490196078431372549019607843137</real>
<real>0.93333333333333333333333333333333</real>
<real>0.38823529411764705882352941176471</real>
<real>1.0</real>
</array>
</map>
<key>PathfindingObstacle</key>
<map>
<key>Comment</key>
<string>Color of static obstacle objects when displaying pathfinding navmesh object types.</string>
<key>Persist</key>
<integer>0</integer>
<key>Type</key>
<string>Color4</string>
<key>Value</key>
<array>
<real>1.0</real>
<real>0.0</real>
<real>0.0</real>
<real>1.0</real>
</array>
</map>
<key>PathfindingMaterial</key>
<map>
<key>Comment</key>
<string>Color of material volumes when displaying pathfinding navmesh object types.</string>
<key>Persist</key>
<integer>0</integer>
<key>Type</key>
<string>Color4</string>
<key>Value</key>
<array>
<real>0.5</real>
<real>0.0</real>
<real>1.0</real>
<real>0.3</real>
</array>
</map>
<key>PathfindingExclusion</key>
<map>
<key>Comment</key>
<string>Color of exclusion volumes when displaying pathfinding navmesh object types.</string>
<key>Persist</key>
<integer>0</integer>
<key>Type</key>
<string>Color4</string>
<key>Value</key>
<array>
<real>1.0</real>
<real>1.0</real>
<real>0.0</real>
<real>0.3</real>
</array>
</map>
<key>PathfindingConnectedEdge</key>
<map>
<key>Comment</key>
<string>Color of a connected (crossable) edge when displaying pathfinding navmesh.</string>
<key>Persist</key>
<integer>0</integer>
<key>Type</key>
<string>Color4</string>
<key>Value</key>
<array>
<real>0.86</real>
<real>0.86</real>
<real>0.86</real>
<real>1.0</real>
</array>
</map>
<key>PathfindingBoundaryEdge</key>
<map>
<key>Comment</key>
<string>Color of a boundary (non-crossable) edge when displaying pathfinding navmesh.</string>
<key>Persist</key>
<integer>0</integer>
<key>Type</key>
<string>Color4</string>
<key>Value</key>
<array>
<real>1.0</real>
<real>0.0</real>
<real>0.0</real>
<real>1.0</real>
</array>
</map>
<key>PathfindingHeatColorBase</key>
<map>
<key>Comment</key>
<string>Color of the least walkable value when displaying the pathfinding navmesh as a heatmap.</string>
<key>Persist</key>
<integer>0</integer>
<key>Type</key>
<string>Color4</string>
<key>Value</key>
<array>
<real>1.0</real>
<real>0.0</real>
<real>0.0</real>
<real>1.0</real>
</array>
</map>
<key>PathfindingHeatColorMax</key>
<map>
<key>Comment</key>
<string>Color of the most walkable value when displaying the pathfinding navmesh as a heatmap.</string>
<key>Persist</key>
<integer>0</integer>
<key>Type</key>
<string>Color4</string>
<key>Value</key>
<array>
<real>1.0</real>
<real>1.0</real>
<real>1.0</real>
<real>1.0</real>
</array>
</map>
<key>PathfindingFaceColor</key>
<map>
<key>Comment</key>
<string>Color of the faces when displaying the default view of the pathfinding navmesh.</string>
<key>Persist</key>
<integer>0</integer>
<key>Type</key>
<string>Color4</string>
<key>Value</key>
<array>
<real>1.0</real>
<real>1.0</real>
<real>1.0</real>
<real>1.0</real>
</array>
</map>
<key>PathfindingTestPathValidEndColor</key>
<map>
<key>Comment</key>
<string>Color of the pathfinding test-pathing tool end-point when the path is valid.</string>
<key>Persist</key>
<integer>0</integer>
<key>Type</key>
<string>Color4</string>
<key>Value</key>
<array>
<real>0.78</real>
<real>0.47</real>
<real>0.0</real>
<real>1.0</real>
</array>
</map>
<key>PathfindingTestPathInvalidEndColor</key>
<map>
<key>Comment</key>
<string>Color of the pathfinding test-pathing tool end-point when the path is invalid.</string>
<key>Persist</key>
<integer>0</integer>
<key>Type</key>
<string>Color4</string>
<key>Value</key>
<array>
<real>1.0</real>
<real>0.0</real>
<real>1.0</real>
<real>1.0</real>
</array>
</map>
<key>PathfindingTestPathColor</key>
<map>
<key>Comment</key>
<string>Color of the pathfinding test-path when the path is valid.</string>
<key>Persist</key>
<integer>0</integer>
<key>Type</key>
<string>Color4</string>
<key>Value</key>
<array>
<real>1.0</real>
<real>0.59</real>
<real>0.0</real>
<real>0.9</real>
</array>
</map>
<key>PathfindingAmbiance</key>
<map>
<key>Comment</key>
<string>Ambiance of lit pathfinding navmesh displays.</string>
<key>Persist</key>
<integer>0</integer>
<key>Type</key>
<string>F32</string>
<key>Value</key>
<real>0.5</real>
</map>
<key>PathfindingXRayTint</key>
<map>
<key>Comment</key>
<string>Amount to darken/lighten x-ray lines in pathfinding display.</string>
<key>Persist</key>
<integer>0</integer>
<key>Type</key>
<string>F32</string>
<key>Value</key>
<real>0.8</real>
</map>
<key>PathfindingXRayOpacity</key>
<map>
<key>Comment</key>
<string>Opacity of xray lines in pathfinding display.</string>
<key>Persist</key>
<integer>0</integer>
<key>Type</key>
<string>F32</string>
<key>Value</key>
<real>0.25</real>
</map>
<key>PathfindingXRayWireframe</key>
<map>
<key>Comment</key>
<string>Render pathfinding navmesh xray as a wireframe.</string>
<key>Persist</key>
<integer>0</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>PathfindingLineWidth</key>
<map>
<key>Comment</key>
<string>Width of volume outlines in pathfinding navmesh display.</string>
<key>Persist</key>
<integer>0</integer>
<key>Type</key>
<string>F32</string>
<key>Value</key>
<real>2.0</real>
</map>
<key>PathfindingLineOffset</key>
<map>
<key>Comment</key>
<string>Depth offset of volume outlines in pathfinding display.</string>
<key>Persist</key>
<integer>0</integer>
<key>Type</key>
<string>F32</string>
<key>Value</key>
<real>2.3</real>
</map>
<key>PathfindingWaterColor</key>
<map>
<key>Comment</key>
<string>Color of water plane when displaying pathfinding navmesh.</string>
<key>Persist</key>
<integer>0</integer>
<key>Type</key>
<string>Color4</string>
<key>Value</key>
<array>
<real>0.0</real>
<real>0.0</real>
<real>1.0</real>
<real>1.0</real>
</array>
</map> <key>GroupMembersSortOrder</key>
<map>
<key>Comment</key>
<string>The order by which group members will be sorted (name|donated|online)</string>
@ -17104,6 +17443,17 @@ Change of this parameter will affect the layout of buttons in notification toast
<key>Value</key>
<integer>1</integer>
</map>
<key>FSWindlightInterpolateTime</key>
<map>
<key>Comment</key>
<string>Timespan for interpolating between Windlight settings</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>F32</string>
<key>Value</key>
<real>3.0</real>
</map>
<key>FSUseV1Menus</key>
<map>
@ -17816,6 +18166,105 @@ Change of this parameter will affect the layout of buttons in notification toast
<key>Value</key>
<string />
</map>
<key>FSMaxMeshRequestsPerSecond</key>
<map>
<key>Comment</key>
<string>The maximum number of mesh requests per second.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>U32</string>
<key>Value</key>
<integer>100</integer>
</map>
<key>FSMeshRequestTimeout</key>
<map>
<key>Comment</key>
<string>The timeout in seconds for a mesh header or LOD data request after that the request will be sent again.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>F32</string>
<key>Value</key>
<integer>10.0</integer>
</map>
<key>ExodusFlickrLastTags</key>
<map>
<key>Comment</key>
<string>Pre-filled tags for Flickr uploads</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>String</string>
<key>Value</key>
<string>"Second Life"</string>
</map>
<key>ExodusFlickrLastRating</key>
<map>
<key>Comment</key>
<string>Last rating for Flickr upload. 1 = safe, 2 = moderate, 3 = restricted</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>S32</string>
<key>Value</key>
<integer>1</integer>
</map>
<key>ExodusFlickrShowPosition</key>
<map>
<key>Comment</key>
<string>Whether to tag a Flickr upload with the location at which it was taken.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>1</integer>
</map>
<key>ExodusFlickrIncludeSLURL</key>
<map>
<key>Comment</key>
<string>If showing the position of an image, whether an SLurl should be appended to the description.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>1</integer>
</map>
<key>FSReleaseCandidateChannelId</key>
<map>
<key>Comment</key>
<string>Defines the string that identifies a simulator release candidate channel in the simulator version string.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>String</string>
<key>Value</key>
<string>RC</string>
</map>
<key>FSStatusbarShowSimulatorVersion</key>
<map>
<key>Comment</key>
<string>If enabled, the simulator version is included in the V1-like statusbar.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>FSShowServerVersionChangeNotice</key>
<map>
<key>Comment</key>
<string>Shows a notice if the simulator version is different after a region crossing or teleport.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>1</integer>
</map>
</map>
</llsd>

View File

@ -274,5 +274,18 @@
<key>Value</key>
<integer>1</integer>
</map>
<key>FSDisplaySavedOutfitsCap</key>
<map>
<key>Comment</key>
<string>Display only so many saved outfits in edit appearance. 0 to disable.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>U32</string>
<key>Value</key>
<integer>0</integer>
</map>
</map>
</llsd>

View File

@ -330,39 +330,6 @@
<!-- End of back compatibility settings -->
<!-- Firestorm settings -->
<key>KittyFlickrToken</key>
<map>
<key>Comment</key>
<string>Token used to authenticate with Flickr</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>String</string>
<key>Value</key>
<string></string>
</map>
<key>KittyFlickrUsername</key>
<map>
<key>Comment</key>
<string>Username associated with Flickr account</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>String</string>
<key>Value</key>
<string></string>
</map>
<key>KittyFlickrNSID</key>
<map>
<key>Comment</key>
<string>NSID associated with Flickr account</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>String</string>
<key>Value</key>
<string></string>
</map>
<key>DebugLookAt</key>
<map>
<key>Comment</key>
@ -552,5 +519,75 @@
</array>
</map>
<!-- End of Firestorm settings -->
<!-- Settings imported from Exodus -->
<key>ExodusFlickrToken</key>
<map>
<key>Comment</key>
<string>Flickr OAuth Token</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>String</string>
<key>Value</key>
<string></string>
</map>
<key>ExodusFlickrTokenSecret</key>
<map>
<key>Comment</key>
<string>Flickr OAuth Token Secret</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>String</string>
<key>Value</key>
<string></string>
</map>
<key>ExodusFlickrUsername</key>
<map>
<key>Comment</key>
<string>Flickr Username</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>String</string>
<key>Value</key>
<string></string>
</map>
<key>ExodusFlickrNSID</key>
<map>
<key>Comment</key>
<string>Flickr User ID</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>String</string>
<key>Value</key>
<string></string>
</map>
<key>ExodusFlickrUsername</key>
<map>
<key>Comment</key>
<string>Flickr Username</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>String</string>
<key>Value</key>
<string></string>
</map>
<key>ExodusFlickrFullName</key>
<map>
<key>Comment</key>
<string>Flickr Username</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>String</string>
<key>Value</key>
<string></string>
</map>
<!-- End of settings imported from Exodus -->
</map>
</llsd>

View File

@ -0,0 +1,37 @@
/**
* @file pathfindingF.glsl
*
* $LicenseInfo:firstyear=2007&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2007, Linden Research, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;
#else
#define frag_color gl_FragColor
#endif
VARYING vec4 vertex_color;
void main()
{
frag_color = vertex_color;
}

View File

@ -0,0 +1,42 @@
/**
* @file pathfindingV.glsl
*
* $LicenseInfo:firstyear=2007&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2007, Linden Research, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
uniform mat4 modelview_projection_matrix;
ATTRIBUTE vec3 position;
ATTRIBUTE vec4 diffuse_color;
VARYING vec4 vertex_color;
uniform float tint;
uniform float alpha_scale;
void main()
{
gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0);
vertex_color = vec4(diffuse_color.rgb * tint, diffuse_color.a*alpha_scale);
}

View File

@ -0,0 +1,54 @@
/**
* @file pathfindingV.glsl
*
* $LicenseInfo:firstyear=2007&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2007, Linden Research, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
uniform mat4 modelview_projection_matrix;
ATTRIBUTE vec3 position;
ATTRIBUTE vec4 diffuse_color;
ATTRIBUTE vec3 normal;
VARYING vec4 vertex_color;
uniform float tint;
uniform float ambiance;
uniform float alpha_scale;
void main()
{
gl_Position = modelview_projection_matrix * vec4(position.xyz, 1.0);
vec3 l1 = vec3(-0.75, 1, 1.0)*0.5;
vec3 l2 = vec3(0.5, -0.6, 0.4)*0.25;
vec3 l3 = vec3(0.5, -0.8, 0.3)*0.5;
float lit = max(dot(normal, l1), 0.0);
lit += max(dot(normal, l2), 0.0);
lit += max(dot(normal, l3), 0.0);
lit = clamp(lit, ambiance, 1.0);
vertex_color = vec4(diffuse_color.rgb * tint * lit, diffuse_color.a*alpha_scale);
}

View File

@ -35,6 +35,9 @@ ATTRIBUTE vec2 texcoord0;
VARYING vec4 vertex_color;
VARYING vec2 vary_texcoord0;
// <FS:ND> FIRE-3661; Uniform variable for color.
uniform vec4 color;
// </FS:ND>
vec4 calcLighting(vec3 pos, vec3 norm, vec4 color, vec4 baseCol);
void calcAtmospherics(vec3 inPositionEye);
@ -50,8 +53,12 @@ void main()
calcAtmospherics(pos.xyz);
vec4 color = calcLighting(pos.xyz, norm, vec4(1,1,1,1), vec4(0.));
vertex_color = color;
// <FS:ND> USe color passed by uniform instead of hardcoded value
// vec4 color = calcLighting(pos.xyz, norm, vec4(1,1,1,1), vec4(0.));
// vertex_color = color;
vertex_color = calcLighting(pos.xyz, norm, color, vec4(0.));
// </FS:ND>
}

View File

@ -1,141 +1,141 @@
<llsd>
<map>
<key>ambient</key>
<array>
<real>1.4699999094009399</real>
<real>1.4699999094009399</real>
<real>1.4699999094009399</real>
<real>0.48999997973442078</real>
</array>
<key>blue_density</key>
<array>
<real>0.099999994039535522</real>
<real>0.037499997764825821</real>
<real>0.067499987781047821</real>
<real>0.049999997019767761</real>
</array>
<key>blue_horizon</key>
<array>
<real>0.15130999684333801</real>
<real>0.30000001192092896</real>
<real>0.35131001472473145</real>
<real>1</real>
</array>
<key>cloud_color</key>
<array>
<real>0.22999998927116394</real>
<real>0.22999998927116394</real>
<real>0.22999998927116394</real>
<real>0.22999998927116394</real>
</array>
<key>cloud_pos_density1</key>
<array>
<real>0.88419097661972046</real>
<real>0.53047597408294678</real>
<real>0.52999997138977051</real>
<real>1</real>
</array>
<key>cloud_pos_density2</key>
<array>
<real>0.2800000011920929</real>
<real>0.19999998807907104</real>
<real>0.31999999284744263</real>
<real>1</real>
</array>
<key>cloud_scale</key>
<array>
<real>0.0099999997764825821</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>cloud_scroll_rate</key>
<array>
<real>0</real>
<real>15.329999446868896</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.00022000000171829015</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>distance_multiplier</key>
<array>
<real>16.200000762939453</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>east_angle</key>
<real>6.2831854820251465</real>
<key>enable_cloud_scroll</key>
<array>
<boolean>1</boolean>
<boolean>1</boolean>
</array>
<key>gamma</key>
<array>
<real>1.4199999570846558</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>glow</key>
<array>
<real>18.599998474121094</real>
<real>0.0012815999798476696</real>
<real>0</real>
<real>1</real>
</array>
<key>haze_density</key>
<array>
<real>0</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>haze_horizon</key>
<array>
<real>1</real>
<real>0.21744099259376526</real>
<real>0.21744099259376526</real>
<real>1</real>
</array>
<key>lightnorm</key>
<array>
<real>-1.7484555314695172e-007</real>
<real>0</real>
<real>1</real>
<real>0</real>
</array>
<key>max_y</key>
<array>
<real>403</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>preset_num</key>
<integer>2</integer>
<key>star_brightness</key>
<real>0</real>
<key>sun_angle</key>
<real>0</real>
<key>sunlight_color</key>
<array>
<real>0</real>
<real>0</real>
<real>0</real>
<real>0</real>
</array>
</map>
</llsd>
<llsd>
<map>
<key>ambient</key>
<array>
<real>1.4699999094009399</real>
<real>1.4699999094009399</real>
<real>1.4699999094009399</real>
<real>0.48999997973442078</real>
</array>
<key>blue_density</key>
<array>
<real>0.099999994039535522</real>
<real>0.037499997764825821</real>
<real>0.067499987781047821</real>
<real>0.049999997019767761</real>
</array>
<key>blue_horizon</key>
<array>
<real>0.15130999684333801</real>
<real>0.30000001192092896</real>
<real>0.35131001472473145</real>
<real>1</real>
</array>
<key>cloud_color</key>
<array>
<real>0.22999998927116394</real>
<real>0.22999998927116394</real>
<real>0.22999998927116394</real>
<real>0.22999998927116394</real>
</array>
<key>cloud_pos_density1</key>
<array>
<real>0.88419097661972046</real>
<real>0.53047597408294678</real>
<real>0.52999997138977051</real>
<real>1</real>
</array>
<key>cloud_pos_density2</key>
<array>
<real>0.2800000011920929</real>
<real>0.19999998807907104</real>
<real>0.31999999284744263</real>
<real>1</real>
</array>
<key>cloud_scale</key>
<array>
<real>0.0099999997764825821</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>cloud_scroll_rate</key>
<array>
<real>0</real>
<real>15.329999446868896</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.00022000000171829015</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>distance_multiplier</key>
<array>
<real>16.200000762939453</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>east_angle</key>
<real>6.2831854820251465</real>
<key>enable_cloud_scroll</key>
<array>
<boolean>1</boolean>
<boolean>1</boolean>
</array>
<key>gamma</key>
<array>
<real>1.4199999570846558</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>glow</key>
<array>
<real>18.599998474121094</real>
<real>0.0012815999798476696</real>
<real>0</real>
<real>1</real>
</array>
<key>haze_density</key>
<array>
<real>0</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>haze_horizon</key>
<array>
<real>1</real>
<real>0.21744099259376526</real>
<real>0.21744099259376526</real>
<real>1</real>
</array>
<key>lightnorm</key>
<array>
<real>-1.7484555314695172e-007</real>
<real>0</real>
<real>1</real>
<real>0</real>
</array>
<key>max_y</key>
<array>
<real>403</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>preset_num</key>
<integer>2</integer>
<key>star_brightness</key>
<real>0</real>
<key>sun_angle</key>
<real>0</real>
<key>sunlight_color</key>
<array>
<real>0</real>
<real>0</real>
<real>0</real>
<real>0</real>
</array>
</map>
</llsd>

View File

@ -1,141 +1,141 @@
<llsd>
<map>
<key>ambient</key>
<array>
<real>1.4699999094009399</real>
<real>1.4699999094009399</real>
<real>1.4699999094009399</real>
<real>0.48999997973442078</real>
</array>
<key>blue_density</key>
<array>
<real>0.14000000059604645</real>
<real>0.14000000059604645</real>
<real>0.14000000059604645</real>
<real>0.070000000298023224</real>
</array>
<key>blue_horizon</key>
<array>
<real>0.83809572458267212</real>
<real>1.0735483169555664</real>
<real>1.2799999713897705</real>
<real>0.63999998569488525</real>
</array>
<key>cloud_color</key>
<array>
<real>0.12862999737262726</real>
<real>0.12862999737262726</real>
<real>0.12862999737262726</real>
<real>1</real>
</array>
<key>cloud_pos_density1</key>
<array>
<real>0.70999997854232788</real>
<real>0.53047597408294678</real>
<real>0.4270470142364502</real>
<real>1</real>
</array>
<key>cloud_pos_density2</key>
<array>
<real>0.38419300317764282</real>
<real>0.5</real>
<real>0.125</real>
<real>1</real>
</array>
<key>cloud_scale</key>
<array>
<real>0.72999995946884155</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>cloud_scroll_rate</key>
<array>
<real>10</real>
<real>10</real>
</array>
<key>cloud_shadow</key>
<array>
<real>0.2199999988079071</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>11.40000057220459</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.6899999380111694</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>glow</key>
<array>
<real>6.4079799652099609</real>
<real>0.0012815999798476696</real>
<real>-0.39999997615814209</real>
<real>1</real>
</array>
<key>haze_density</key>
<array>
<real>1.4900000095367432</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>haze_horizon</key>
<array>
<real>0</real>
<real>0.21744099259376526</real>
<real>0.21744099259376526</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>805</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>preset_num</key>
<integer>2</integer>
<key>star_brightness</key>
<real>1.5699999332427979</real>
<key>sun_angle</key>
<real>0</real>
<key>sunlight_color</key>
<array>
<real>3</real>
<real>3</real>
<real>3</real>
<real>1</real>
</array>
</map>
</llsd>
<llsd>
<map>
<key>ambient</key>
<array>
<real>1.4699999094009399</real>
<real>1.4699999094009399</real>
<real>1.4699999094009399</real>
<real>0.48999997973442078</real>
</array>
<key>blue_density</key>
<array>
<real>0.14000000059604645</real>
<real>0.14000000059604645</real>
<real>0.14000000059604645</real>
<real>0.070000000298023224</real>
</array>
<key>blue_horizon</key>
<array>
<real>0.83809572458267212</real>
<real>1.0735483169555664</real>
<real>1.2799999713897705</real>
<real>0.63999998569488525</real>
</array>
<key>cloud_color</key>
<array>
<real>0.12862999737262726</real>
<real>0.12862999737262726</real>
<real>0.12862999737262726</real>
<real>1</real>
</array>
<key>cloud_pos_density1</key>
<array>
<real>0.70999997854232788</real>
<real>0.53047597408294678</real>
<real>0.4270470142364502</real>
<real>1</real>
</array>
<key>cloud_pos_density2</key>
<array>
<real>0.38419300317764282</real>
<real>0.5</real>
<real>0.125</real>
<real>1</real>
</array>
<key>cloud_scale</key>
<array>
<real>0.72999995946884155</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>cloud_scroll_rate</key>
<array>
<real>10</real>
<real>10</real>
</array>
<key>cloud_shadow</key>
<array>
<real>0.2199999988079071</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>11.40000057220459</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.6899999380111694</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>glow</key>
<array>
<real>6.4079799652099609</real>
<real>0.0012815999798476696</real>
<real>-0.39999997615814209</real>
<real>1</real>
</array>
<key>haze_density</key>
<array>
<real>1.4900000095367432</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>haze_horizon</key>
<array>
<real>0</real>
<real>0.21744099259376526</real>
<real>0.21744099259376526</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>805</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>preset_num</key>
<integer>2</integer>
<key>star_brightness</key>
<real>1.5699999332427979</real>
<key>sun_angle</key>
<real>0</real>
<key>sunlight_color</key>
<array>
<real>3</real>
<real>3</real>
<real>3</real>
<real>1</real>
</array>
</map>
</llsd>

View File

@ -1,141 +1,141 @@
<llsd>
<map>
<key>ambient</key>
<array>
<real>1.8300000429153442</real>
<real>1.8300000429153442</real>
<real>1.8300000429153442</real>
<real>0.61000001430511475</real>
</array>
<key>blue_density</key>
<array>
<real>0.21899415552616119</real>
<real>0.40148928761482239</real>
<real>0.68000000715255737</real>
<real>0.34000000357627869</real>
</array>
<key>blue_horizon</key>
<array>
<real>0</real>
<real>0.10838708281517029</real>
<real>0.14000000059604645</real>
<real>0.070000000298023224</real>
</array>
<key>cloud_color</key>
<array>
<real>0</real>
<real>0</real>
<real>0</real>
<real>0</real>
</array>
<key>cloud_pos_density1</key>
<array>
<real>0.14000000059604645</real>
<real>0.62000000476837158</real>
<real>0.99999999999999767</real>
<real>1</real>
</array>
<key>cloud_pos_density2</key>
<array>
<real>0.48999997973442078</real>
<real>0.19999998807907104</real>
<real>0.125</real>
<real>1</real>
</array>
<key>cloud_scale</key>
<array>
<real>0.43999999761581421</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>cloud_scroll_rate</key>
<array>
<real>10.199999853917745</real>
<real>10.010999722693327</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.00015999999595806003</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>distance_multiplier</key>
<array>
<real>10.800000190734863</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>east_angle</key>
<real>0</real>
<key>enable_cloud_scroll</key>
<array>
<boolean>1</boolean>
<boolean>1</boolean>
</array>
<key>gamma</key>
<array>
<real>0.94999998807907104</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>glow</key>
<array>
<real>4.9999999403953552</real>
<real>0.0010000000616982377</real>
<real>-0.47999998693999579</real>
<real>1</real>
</array>
<key>haze_density</key>
<array>
<real>0.94999998807907104</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>haze_horizon</key>
<array>
<real>0.25999999046325684</real>
<real>0.19915600121021271</real>
<real>0.19915600121021271</real>
<real>1</real>
</array>
<key>lightnorm</key>
<array>
<real>0</real>
<real>0.96692299842834473</real>
<real>-0.25506836175918579</real>
<real>0</real>
</array>
<key>max_y</key>
<array>
<real>1128</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>preset_num</key>
<integer>28</integer>
<key>star_brightness</key>
<real>0</real>
<key>sun_angle</key>
<real>1.8287147283554077</real>
<key>sunlight_color</key>
<array>
<real>0.65999996662139893</real>
<real>0.78157895803451538</real>
<real>0.89999997615814209</real>
<real>0.29999998211860657</real>
</array>
</map>
</llsd>
<llsd>
<map>
<key>ambient</key>
<array>
<real>1.8300000429153442</real>
<real>1.8300000429153442</real>
<real>1.8300000429153442</real>
<real>0.61000001430511475</real>
</array>
<key>blue_density</key>
<array>
<real>0.21899415552616119</real>
<real>0.40148928761482239</real>
<real>0.68000000715255737</real>
<real>0.34000000357627869</real>
</array>
<key>blue_horizon</key>
<array>
<real>0</real>
<real>0.10838708281517029</real>
<real>0.14000000059604645</real>
<real>0.070000000298023224</real>
</array>
<key>cloud_color</key>
<array>
<real>0</real>
<real>0</real>
<real>0</real>
<real>0</real>
</array>
<key>cloud_pos_density1</key>
<array>
<real>0.14000000059604645</real>
<real>0.62000000476837158</real>
<real>0.99999999999999767</real>
<real>1</real>
</array>
<key>cloud_pos_density2</key>
<array>
<real>0.48999997973442078</real>
<real>0.19999998807907104</real>
<real>0.125</real>
<real>1</real>
</array>
<key>cloud_scale</key>
<array>
<real>0.43999999761581421</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>cloud_scroll_rate</key>
<array>
<real>10.199999853917745</real>
<real>10.010999722693327</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.00015999999595806003</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>distance_multiplier</key>
<array>
<real>10.800000190734863</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>east_angle</key>
<real>0</real>
<key>enable_cloud_scroll</key>
<array>
<boolean>1</boolean>
<boolean>1</boolean>
</array>
<key>gamma</key>
<array>
<real>0.94999998807907104</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>glow</key>
<array>
<real>4.9999999403953552</real>
<real>0.0010000000616982377</real>
<real>-0.47999998693999579</real>
<real>1</real>
</array>
<key>haze_density</key>
<array>
<real>0.94999998807907104</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>haze_horizon</key>
<array>
<real>0.25999999046325684</real>
<real>0.19915600121021271</real>
<real>0.19915600121021271</real>
<real>1</real>
</array>
<key>lightnorm</key>
<array>
<real>0</real>
<real>0.96692299842834473</real>
<real>-0.25506836175918579</real>
<real>0</real>
</array>
<key>max_y</key>
<array>
<real>1128</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>preset_num</key>
<integer>28</integer>
<key>star_brightness</key>
<real>0</real>
<key>sun_angle</key>
<real>1.8287147283554077</real>
<key>sunlight_color</key>
<array>
<real>0.65999996662139893</real>
<real>0.78157895803451538</real>
<real>0.89999997615814209</real>
<real>0.29999998211860657</real>
</array>
</map>
</llsd>

View File

@ -1,141 +1,141 @@
<llsd>
<map>
<key>ambient</key>
<array>
<real>1.0799999237060547</real>
<real>1.0799999237060547</real>
<real>1.0799999237060547</real>
<real>0.35999998450279236</real>
</array>
<key>blue_density</key>
<array>
<real>0.11593805998563766</real>
<real>0.21255312860012054</real>
<real>0.74000000953674316</real>
<real>0.74000000953674316</real>
</array>
<key>blue_horizon</key>
<array>
<real>0.52645158767700195</real>
<real>0.52645158767700195</real>
<real>0.8399999737739563</real>
<real>0.8399999737739563</real>
</array>
<key>cloud_color</key>
<array>
<real>0.68000000715255737</real>
<real>0.32800003886222839</real>
<real>0.32800003886222839</real>
<real>0.68000000715255737</real>
</array>
<key>cloud_pos_density1</key>
<array>
<real>0.90999996662139893</real>
<real>0.45999997854232788</real>
<real>0.40999999642372131</real>
<real>1</real>
</array>
<key>cloud_pos_density2</key>
<array>
<real>0.63999998569488525</real>
<real>0.38999998569488525</real>
<real>0</real>
<real>1</real>
</array>
<key>cloud_scale</key>
<array>
<real>0.36999997496604919</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>cloud_scroll_rate</key>
<array>
<real>10.050000190734863</real>
<real>9.9200000762939453</real>
</array>
<key>cloud_shadow</key>
<array>
<real>0.19999998807907104</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>density_multiplier</key>
<array>
<real>0.00011999999696854502</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>distance_multiplier</key>
<array>
<real>1</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>east_angle</key>
<real>0</real>
<key>enable_cloud_scroll</key>
<array>
<boolean>1</boolean>
<boolean>1</boolean>
</array>
<key>gamma</key>
<array>
<real>0.93999999761581421</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>glow</key>
<array>
<real>6.1999988555908203</real>
<real>0.0010000000474974513</real>
<real>-0.55000001192092896</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.19999998807907104</real>
<real>0.19915600121021271</real>
<real>0.19915600121021271</real>
<real>1</real>
</array>
<key>lightnorm</key>
<array>
<real>0</real>
<real>0.77450281381607056</real>
<real>-0.63257044553756714</real>
<real>0</real>
</array>
<key>max_y</key>
<array>
<real>913</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>preset_num</key>
<integer>22</integer>
<key>star_brightness</key>
<real>0.039999999105930328</real>
<key>sun_angle</key>
<real>2.2556638717651367</real>
<key>sunlight_color</key>
<array>
<real>1.2899999618530273</real>
<real>0.88457131385803223</real>
<real>0.51599997282028198</real>
<real>0.42999997735023499</real>
</array>
</map>
</llsd>
<llsd>
<map>
<key>ambient</key>
<array>
<real>1.0799999237060547</real>
<real>1.0799999237060547</real>
<real>1.0799999237060547</real>
<real>0.35999998450279236</real>
</array>
<key>blue_density</key>
<array>
<real>0.11593805998563766</real>
<real>0.21255312860012054</real>
<real>0.74000000953674316</real>
<real>0.74000000953674316</real>
</array>
<key>blue_horizon</key>
<array>
<real>0.52645158767700195</real>
<real>0.52645158767700195</real>
<real>0.8399999737739563</real>
<real>0.8399999737739563</real>
</array>
<key>cloud_color</key>
<array>
<real>0.68000000715255737</real>
<real>0.32800003886222839</real>
<real>0.32800003886222839</real>
<real>0.68000000715255737</real>
</array>
<key>cloud_pos_density1</key>
<array>
<real>0.90999996662139893</real>
<real>0.45999997854232788</real>
<real>0.40999999642372131</real>
<real>1</real>
</array>
<key>cloud_pos_density2</key>
<array>
<real>0.63999998569488525</real>
<real>0.38999998569488525</real>
<real>0</real>
<real>1</real>
</array>
<key>cloud_scale</key>
<array>
<real>0.36999997496604919</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>cloud_scroll_rate</key>
<array>
<real>10.050000190734863</real>
<real>9.9200000762939453</real>
</array>
<key>cloud_shadow</key>
<array>
<real>0.19999998807907104</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>density_multiplier</key>
<array>
<real>0.00011999999696854502</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>distance_multiplier</key>
<array>
<real>1</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>east_angle</key>
<real>0</real>
<key>enable_cloud_scroll</key>
<array>
<boolean>1</boolean>
<boolean>1</boolean>
</array>
<key>gamma</key>
<array>
<real>0.93999999761581421</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>glow</key>
<array>
<real>6.1999988555908203</real>
<real>0.0010000000474974513</real>
<real>-0.55000001192092896</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.19999998807907104</real>
<real>0.19915600121021271</real>
<real>0.19915600121021271</real>
<real>1</real>
</array>
<key>lightnorm</key>
<array>
<real>0</real>
<real>0.77450281381607056</real>
<real>-0.63257044553756714</real>
<real>0</real>
</array>
<key>max_y</key>
<array>
<real>913</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>preset_num</key>
<integer>22</integer>
<key>star_brightness</key>
<real>0.039999999105930328</real>
<key>sun_angle</key>
<real>2.2556638717651367</real>
<key>sunlight_color</key>
<array>
<real>1.2899999618530273</real>
<real>0.88457131385803223</real>
<real>0.51599997282028198</real>
<real>0.42999997735023499</real>
</array>
</map>
</llsd>

View File

@ -1,141 +1,141 @@
<llsd>
<map>
<key>ambient</key>
<array>
<real>0.29999998211860657</real>
<real>0.29999998211860657</real>
<real>0.29999998211860657</real>
<real>0.099999994039535522</real>
</array>
<key>blue_density</key>
<array>
<real>0.07937999814748764</real>
<real>0.22679997980594635</real>
<real>1.6200000047683716</real>
<real>0.81000000238418579</real>
</array>
<key>blue_horizon</key>
<array>
<real>0.16684222221374512</real>
<real>0.33368346095085144</real>
<real>0.57999998331069946</real>
<real>0.28999999165534973</real>
</array>
<key>cloud_color</key>
<array>
<real>0.56000000238418579</real>
<real>0.56000000238418579</real>
<real>0.56000000238418579</real>
<real>0.56000000238418579</real>
</array>
<key>cloud_pos_density1</key>
<array>
<real>2.8148899078369141</real>
<real>0.78999996185302734</real>
<real>0.59999996423721313</real>
<real>1</real>
</array>
<key>cloud_pos_density2</key>
<array>
<real>5.9584097862243652</real>
<real>0.85999995470046997</real>
<real>0.059999998658895493</real>
<real>1</real>
</array>
<key>cloud_scale</key>
<array>
<real>0.32999998331069946</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>cloud_scroll_rate</key>
<array>
<real>11.679999351501465</real>
<real>10.359999656677246</real>
</array>
<key>cloud_shadow</key>
<array>
<real>0.11999999731779099</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>0.60000002384185791</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.3500000238418579</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>glow</key>
<array>
<real>8.8000011444091797</real>
<real>0.0010000000474974513</real>
<real>-0.74999994039535522</real>
<real>1</real>
</array>
<key>haze_density</key>
<array>
<real>0.029999999329447746</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>haze_horizon</key>
<array>
<real>0.32999998331069946</real>
<real>0.19915600121021271</real>
<real>0.19915600121021271</real>
<real>1</real>
</array>
<key>lightnorm</key>
<array>
<real>0</real>
<real>1</real>
<real>-4.3711388286737929e-008</real>
<real>0</real>
</array>
<key>max_y</key>
<array>
<real>1181</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>preset_num</key>
<integer>24</integer>
<key>star_brightness</key>
<real>0.11999999731779099</real>
<key>sun_angle</key>
<real>1.5707963705062866</real>
<key>sunlight_color</key>
<array>
<real>1.3499999046325684</real>
<real>1.0799999237060547</real>
<real>1.0799999237060547</real>
<real>0.44999998807907104</real>
</array>
</map>
</llsd>
<llsd>
<map>
<key>ambient</key>
<array>
<real>0.29999998211860657</real>
<real>0.29999998211860657</real>
<real>0.29999998211860657</real>
<real>0.099999994039535522</real>
</array>
<key>blue_density</key>
<array>
<real>0.07937999814748764</real>
<real>0.22679997980594635</real>
<real>1.6200000047683716</real>
<real>0.81000000238418579</real>
</array>
<key>blue_horizon</key>
<array>
<real>0.16684222221374512</real>
<real>0.33368346095085144</real>
<real>0.57999998331069946</real>
<real>0.28999999165534973</real>
</array>
<key>cloud_color</key>
<array>
<real>0.56000000238418579</real>
<real>0.56000000238418579</real>
<real>0.56000000238418579</real>
<real>0.56000000238418579</real>
</array>
<key>cloud_pos_density1</key>
<array>
<real>2.8148899078369141</real>
<real>0.78999996185302734</real>
<real>0.59999996423721313</real>
<real>1</real>
</array>
<key>cloud_pos_density2</key>
<array>
<real>5.9584097862243652</real>
<real>0.85999995470046997</real>
<real>0.059999998658895493</real>
<real>1</real>
</array>
<key>cloud_scale</key>
<array>
<real>0.32999998331069946</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>cloud_scroll_rate</key>
<array>
<real>11.679999351501465</real>
<real>10.359999656677246</real>
</array>
<key>cloud_shadow</key>
<array>
<real>0.11999999731779099</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>0.60000002384185791</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.3500000238418579</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>glow</key>
<array>
<real>8.8000011444091797</real>
<real>0.0010000000474974513</real>
<real>-0.74999994039535522</real>
<real>1</real>
</array>
<key>haze_density</key>
<array>
<real>0.029999999329447746</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>haze_horizon</key>
<array>
<real>0.32999998331069946</real>
<real>0.19915600121021271</real>
<real>0.19915600121021271</real>
<real>1</real>
</array>
<key>lightnorm</key>
<array>
<real>0</real>
<real>1</real>
<real>-4.3711388286737929e-008</real>
<real>0</real>
</array>
<key>max_y</key>
<array>
<real>1181</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>preset_num</key>
<integer>24</integer>
<key>star_brightness</key>
<real>0.11999999731779099</real>
<key>sun_angle</key>
<real>1.5707963705062866</real>
<key>sunlight_color</key>
<array>
<real>1.3499999046325684</real>
<real>1.0799999237060547</real>
<real>1.0799999237060547</real>
<real>0.44999998807907104</real>
</array>
</map>
</llsd>

View File

@ -0,0 +1,141 @@
<llsd>
<map>
<key>ambient</key>
<array>
<real>0</real>
<real>0</real>
<real>0</real>
<real>0</real>
</array>
<key>blue_density</key>
<array>
<real>0</real>
<real>0</real>
<real>0</real>
<real>0</real>
</array>
<key>blue_horizon</key>
<array>
<real>0</real>
<real>0</real>
<real>0</real>
<real>0</real>
</array>
<key>cloud_color</key>
<array>
<real>0</real>
<real>0</real>
<real>0</real>
<real>0</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.41999998688697815</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>cloud_scroll_rate</key>
<array>
<real>11.539999961853027</real>
<real>10.01099967956543</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.00042999998549930751</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>distance_multiplier</key>
<array>
<real>8.1000003814697266</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>east_angle</key>
<real>0</real>
<key>enable_cloud_scroll</key>
<array>
<boolean>1</boolean>
<boolean>1</boolean>
</array>
<key>gamma</key>
<array>
<real>1</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>glow</key>
<array>
<real>20</real>
<real>0.0010000000474974513</real>
<real>-0</real>
<real>1</real>
</array>
<key>haze_density</key>
<array>
<real>0.079999998211860657</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.89100658893585205</real>
<real>0.45399042963981628</real>
<real>0</real>
</array>
<key>max_y</key>
<array>
<real>718.70001220703125</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>preset_num</key>
<integer>23</integer>
<key>star_brightness</key>
<real>0</real>
<key>sun_angle</key>
<real>1.0995575189590454</real>
<key>sunlight_color</key>
<array>
<real>0</real>
<real>0</real>
<real>0</real>
<real>0</real>
</array>
</map>
</llsd>

View File

@ -0,0 +1,141 @@
<llsd>
<map>
<key>ambient</key>
<array>
<real>1.9499999284744263</real>
<real>1.9499999284744263</real>
<real>1.9499999284744263</real>
<real>0.64999997615814209</real>
</array>
<key>blue_density</key>
<array>
<real>0</real>
<real>0</real>
<real>0</real>
<real>0</real>
</array>
<key>blue_horizon</key>
<array>
<real>0</real>
<real>0</real>
<real>0</real>
<real>0</real>
</array>
<key>cloud_color</key>
<array>
<real>0</real>
<real>0</real>
<real>0</real>
<real>0</real>
</array>
<key>cloud_pos_density1</key>
<array>
<real>1.6884100437164307</real>
<real>0.52609699964523315</real>
<real>0.99999999999999289</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.4199999868869746</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>cloud_scroll_rate</key>
<array>
<real>10.069999694824219</real>
<real>11.050000190734863</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.00089999998454004526</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>distance_multiplier</key>
<array>
<real>0.80000001192093606</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>east_angle</key>
<real>4.7123889923095703</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.47999998927116394</real>
<real>1</real>
</array>
<key>haze_density</key>
<array>
<real>0.029999999329447746</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.99144464731216431</real>
<real>0.13052797317504883</real>
<real>-1.182285913614578e-008</real>
<real>0</real>
</array>
<key>max_y</key>
<array>
<real>4000</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>preset_num</key>
<integer>22</integer>
<key>star_brightness</key>
<real>0</real>
<key>sun_angle</key>
<real>3.0106911659240723</real>
<key>sunlight_color</key>
<array>
<real>0</real>
<real>0</real>
<real>0</real>
<real>0</real>
</array>
</map>
</llsd>

View File

@ -0,0 +1,141 @@
<llsd>
<map>
<key>ambient</key>
<array>
<real>3</real>
<real>3</real>
<real>3</real>
<real>1</real>
</array>
<key>blue_density</key>
<array>
<real>0</real>
<real>0</real>
<real>0</real>
<real>0</real>
</array>
<key>blue_horizon</key>
<array>
<real>0</real>
<real>0</real>
<real>0</real>
<real>0</real>
</array>
<key>cloud_color</key>
<array>
<real>0</real>
<real>0</real>
<real>0</real>
<real>0</real>
</array>
<key>cloud_pos_density1</key>
<array>
<real>1.6884100437164307</real>
<real>0.52609699964523315</real>
<real>0.99999999999999289</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.4199999868869746</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>cloud_scroll_rate</key>
<array>
<real>10.069999694824219</real>
<real>11.050000190734863</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.00089999998454004526</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>distance_multiplier</key>
<array>
<real>0.80000001192093606</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>east_angle</key>
<real>4.7123889923095703</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.47999998927116394</real>
<real>1</real>
</array>
<key>haze_density</key>
<array>
<real>0.029999999329447746</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.99144464731216431</real>
<real>0.13052797317504883</real>
<real>-1.182285913614578e-008</real>
<real>0</real>
</array>
<key>max_y</key>
<array>
<real>4000</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>preset_num</key>
<integer>22</integer>
<key>star_brightness</key>
<real>0</real>
<key>sun_angle</key>
<real>3.0106911659240723</real>
<key>sunlight_color</key>
<array>
<real>0</real>
<real>0</real>
<real>0</real>
<real>0</real>
</array>
</map>
</llsd>

View File

@ -1,141 +1,141 @@
<llsd>
<map>
<key>ambient</key>
<array>
<real>2.0099997520446777</real>
<real>1.9199999570846558</real>
<real>1.8899999856948853</real>
<real>2.0099997520446777</real>
</array>
<key>blue_density</key>
<array>
<real>0.63999998569488525</real>
<real>1.1799999475479126</real>
<real>2</real>
<real>2</real>
</array>
<key>blue_horizon</key>
<array>
<real>0.23999999463558197</real>
<real>0.23999999463558197</real>
<real>0.31999999284744263</real>
<real>0.31999999284744263</real>
</array>
<key>cloud_color</key>
<array>
<real>0.39050509865536398</real>
<real>0.39050509865536398</real>
<real>0.39050509865536398</real>
<real>0.39050509865536398</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.6884100437164307</real>
<real>0.52609699964523315</real>
<real>0.125</real>
<real>1</real>
</array>
<key>cloud_scale</key>
<array>
<real>0.41999998254906856</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>cloud_scroll_rate</key>
<array>
<real>10.199999735331062</real>
<real>10.010999579794088</real>
</array>
<key>cloud_shadow</key>
<array>
<real>0.12999999523162842</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>density_multiplier</key>
<array>
<real>0.00017999998391111764</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>distance_multiplier</key>
<array>
<real>2</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.1499999761581421</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>glow</key>
<array>
<real>4.9999998807907104</real>
<real>0.0010000000478643939</real>
<real>-0.47999998436731417</real>
<real>1</real>
</array>
<key>haze_density</key>
<array>
<real>0.64999997615814209</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>haze_horizon</key>
<array>
<real>0.08999999612569809</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>188</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</real>
<key>sunlight_color</key>
<array>
<real>2.5799999237060547</real>
<real>2.5799999237060547</real>
<real>2.5799999237060547</real>
<real>2.5799999237060547</real>
</array>
</map>
</llsd>
<llsd>
<map>
<key>ambient</key>
<array>
<real>2.0099997520446777</real>
<real>1.9199999570846558</real>
<real>1.8899999856948853</real>
<real>2.0099997520446777</real>
</array>
<key>blue_density</key>
<array>
<real>0.63999998569488525</real>
<real>1.1799999475479126</real>
<real>2</real>
<real>2</real>
</array>
<key>blue_horizon</key>
<array>
<real>0.23999999463558197</real>
<real>0.23999999463558197</real>
<real>0.31999999284744263</real>
<real>0.31999999284744263</real>
</array>
<key>cloud_color</key>
<array>
<real>0.39050509865536398</real>
<real>0.39050509865536398</real>
<real>0.39050509865536398</real>
<real>0.39050509865536398</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.6884100437164307</real>
<real>0.52609699964523315</real>
<real>0.125</real>
<real>1</real>
</array>
<key>cloud_scale</key>
<array>
<real>0.41999998254906856</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>cloud_scroll_rate</key>
<array>
<real>10.199999735331062</real>
<real>10.010999579794088</real>
</array>
<key>cloud_shadow</key>
<array>
<real>0.12999999523162842</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>density_multiplier</key>
<array>
<real>0.00017999998391111764</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>distance_multiplier</key>
<array>
<real>2</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.1499999761581421</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>glow</key>
<array>
<real>4.9999998807907104</real>
<real>0.0010000000478643939</real>
<real>-0.47999998436731417</real>
<real>1</real>
</array>
<key>haze_density</key>
<array>
<real>0.64999997615814209</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>haze_horizon</key>
<array>
<real>0.08999999612569809</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>188</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</real>
<key>sunlight_color</key>
<array>
<real>2.5799999237060547</real>
<real>2.5799999237060547</real>
<real>2.5799999237060547</real>
<real>2.5799999237060547</real>
</array>
</map>
</llsd>

View File

@ -1,141 +1,141 @@
<llsd>
<map>
<key>ambient</key>
<array>
<real>0.71999996900558472</real>
<real>0.71999996900558472</real>
<real>0.71999996900558472</real>
<real>0.23999999463558197</real>
</array>
<key>blue_density</key>
<array>
<real>0</real>
<real>0</real>
<real>0</real>
<real>0</real>
</array>
<key>blue_horizon</key>
<array>
<real>0</real>
<real>0</real>
<real>0.43999999761581421</real>
<real>0.2199999988079071</real>
</array>
<key>cloud_color</key>
<array>
<real>0.14000000059604645</real>
<real>0.14000000059604645</real>
<real>0.14000000059604645</real>
<real>0.14000000059604645</real>
</array>
<key>cloud_pos_density1</key>
<array>
<real>0.74000000953674316</real>
<real>0.93999999761581421</real>
<real>0.20999999344348907</real>
<real>1</real>
</array>
<key>cloud_pos_density2</key>
<array>
<real>0.65999996662139893</real>
<real>0.52999997138977051</real>
<real>0.0099999997764825821</real>
<real>1</real>
</array>
<key>cloud_scale</key>
<array>
<real>0.070000000298023224</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>cloud_scroll_rate</key>
<array>
<real>18</real>
<real>20</real>
</array>
<key>cloud_shadow</key>
<array>
<real>0.34000000357627869</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>density_multiplier</key>
<array>
<real>0.00018000000272877514</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>distance_multiplier</key>
<array>
<real>6.7000002861022949</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>east_angle</key>
<real>3.5185837745666504</real>
<key>enable_cloud_scroll</key>
<array>
<boolean>1</boolean>
<boolean>1</boolean>
</array>
<key>gamma</key>
<array>
<real>1.0399999618530273</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>glow</key>
<array>
<real>17.399999618530273</real>
<real>0.0010000000474974513</real>
<real>-0.64999997615814209</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.17000000178813934</real>
<real>0.19915600121021271</real>
<real>0.19915600121021271</real>
<real>1</real>
</array>
<key>lightnorm</key>
<array>
<real>0.36812454462051392</real>
<real>1.7484555314695172e-007</real>
<real>-0.92977648973464966</real>
<real>0</real>
</array>
<key>max_y</key>
<array>
<real>263</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>preset_num</key>
<integer>24</integer>
<key>star_brightness</key>
<real>1.0399999618530273</real>
<key>sun_angle</key>
<real>6.2831854820251465</real>
<key>sunlight_color</key>
<array>
<real>1.5899999141693115</real>
<real>1.5899999141693115</real>
<real>1.5899999141693115</real>
<real>1.5899999141693115</real>
</array>
</map>
</llsd>
<llsd>
<map>
<key>ambient</key>
<array>
<real>0.71999996900558472</real>
<real>0.71999996900558472</real>
<real>0.71999996900558472</real>
<real>0.23999999463558197</real>
</array>
<key>blue_density</key>
<array>
<real>0</real>
<real>0</real>
<real>0</real>
<real>0</real>
</array>
<key>blue_horizon</key>
<array>
<real>0</real>
<real>0</real>
<real>0.43999999761581421</real>
<real>0.2199999988079071</real>
</array>
<key>cloud_color</key>
<array>
<real>0.14000000059604645</real>
<real>0.14000000059604645</real>
<real>0.14000000059604645</real>
<real>0.14000000059604645</real>
</array>
<key>cloud_pos_density1</key>
<array>
<real>0.74000000953674316</real>
<real>0.93999999761581421</real>
<real>0.20999999344348907</real>
<real>1</real>
</array>
<key>cloud_pos_density2</key>
<array>
<real>0.65999996662139893</real>
<real>0.52999997138977051</real>
<real>0.0099999997764825821</real>
<real>1</real>
</array>
<key>cloud_scale</key>
<array>
<real>0.070000000298023224</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>cloud_scroll_rate</key>
<array>
<real>18</real>
<real>20</real>
</array>
<key>cloud_shadow</key>
<array>
<real>0.34000000357627869</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>density_multiplier</key>
<array>
<real>0.00018000000272877514</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>distance_multiplier</key>
<array>
<real>6.7000002861022949</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>east_angle</key>
<real>3.5185837745666504</real>
<key>enable_cloud_scroll</key>
<array>
<boolean>1</boolean>
<boolean>1</boolean>
</array>
<key>gamma</key>
<array>
<real>1.0399999618530273</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>glow</key>
<array>
<real>17.399999618530273</real>
<real>0.0010000000474974513</real>
<real>-0.64999997615814209</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.17000000178813934</real>
<real>0.19915600121021271</real>
<real>0.19915600121021271</real>
<real>1</real>
</array>
<key>lightnorm</key>
<array>
<real>0.36812454462051392</real>
<real>1.7484555314695172e-007</real>
<real>-0.92977648973464966</real>
<real>0</real>
</array>
<key>max_y</key>
<array>
<real>263</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>preset_num</key>
<integer>24</integer>
<key>star_brightness</key>
<real>1.0399999618530273</real>
<key>sun_angle</key>
<real>6.2831854820251465</real>
<key>sunlight_color</key>
<array>
<real>1.5899999141693115</real>
<real>1.5899999141693115</real>
<real>1.5899999141693115</real>
<real>1.5899999141693115</real>
</array>
</map>
</llsd>

View File

@ -1,141 +1,141 @@
<llsd>
<map>
<key>ambient</key>
<array>
<real>2.0099997520446777</real>
<real>1.9199999570846558</real>
<real>2.0099997520446777</real>
<real>2.0099997520446777</real>
</array>
<key>blue_density</key>
<array>
<real>0.63999998569488525</real>
<real>1.1799999475479126</real>
<real>2</real>
<real>2</real>
</array>
<key>blue_horizon</key>
<array>
<real>0.23999999463558197</real>
<real>0.23999999463558197</real>
<real>0.31999999284744263</real>
<real>0.31999999284744263</real>
</array>
<key>cloud_color</key>
<array>
<real>0.12862999737262726</real>
<real>0.12862999737262726</real>
<real>0.12862999737262726</real>
<real>1</real>
</array>
<key>cloud_pos_density1</key>
<array>
<real>0.88419097661972046</real>
<real>0.53047597408294678</real>
<real>0.4270470142364502</real>
<real>1</real>
</array>
<key>cloud_pos_density2</key>
<array>
<real>0.38419300317764282</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</real>
<real>10</real>
</array>
<key>cloud_shadow</key>
<array>
<real>0.12999999523162842</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>2</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>east_angle</key>
<real>1.0053097009658813</real>
<key>enable_cloud_scroll</key>
<array>
<boolean>1</boolean>
<boolean>1</boolean>
</array>
<key>gamma</key>
<array>
<real>1.0799999237060547</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>glow</key>
<array>
<real>5</real>
<real>0.0012815999798476696</real>
<real>-0.49999997019767761</real>
<real>1</real>
</array>
<key>haze_density</key>
<array>
<real>0.64999997615814209</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>haze_horizon</key>
<array>
<real>0.08999999612569809</real>
<real>0.21744099259376526</real>
<real>0.21744099259376526</real>
<real>1</real>
</array>
<key>lightnorm</key>
<array>
<real>-0.84432792663574219</real>
<real>0</real>
<real>0.53582674264907837</real>
<real>0</real>
</array>
<key>max_y</key>
<array>
<real>188</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>preset_num</key>
<integer>2</integer>
<key>star_brightness</key>
<real>0</real>
<key>sun_angle</key>
<real>0</real>
<key>sunlight_color</key>
<array>
<real>2.5799999237060547</real>
<real>2.5799999237060547</real>
<real>2.5799999237060547</real>
<real>2.5799999237060547</real>
</array>
</map>
</llsd>
<llsd>
<map>
<key>ambient</key>
<array>
<real>2.0099997520446777</real>
<real>1.9199999570846558</real>
<real>2.0099997520446777</real>
<real>2.0099997520446777</real>
</array>
<key>blue_density</key>
<array>
<real>0.63999998569488525</real>
<real>1.1799999475479126</real>
<real>2</real>
<real>2</real>
</array>
<key>blue_horizon</key>
<array>
<real>0.23999999463558197</real>
<real>0.23999999463558197</real>
<real>0.31999999284744263</real>
<real>0.31999999284744263</real>
</array>
<key>cloud_color</key>
<array>
<real>0.12862999737262726</real>
<real>0.12862999737262726</real>
<real>0.12862999737262726</real>
<real>1</real>
</array>
<key>cloud_pos_density1</key>
<array>
<real>0.88419097661972046</real>
<real>0.53047597408294678</real>
<real>0.4270470142364502</real>
<real>1</real>
</array>
<key>cloud_pos_density2</key>
<array>
<real>0.38419300317764282</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</real>
<real>10</real>
</array>
<key>cloud_shadow</key>
<array>
<real>0.12999999523162842</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>2</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>east_angle</key>
<real>1.0053097009658813</real>
<key>enable_cloud_scroll</key>
<array>
<boolean>1</boolean>
<boolean>1</boolean>
</array>
<key>gamma</key>
<array>
<real>1.0799999237060547</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>glow</key>
<array>
<real>5</real>
<real>0.0012815999798476696</real>
<real>-0.49999997019767761</real>
<real>1</real>
</array>
<key>haze_density</key>
<array>
<real>0.64999997615814209</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>haze_horizon</key>
<array>
<real>0.08999999612569809</real>
<real>0.21744099259376526</real>
<real>0.21744099259376526</real>
<real>1</real>
</array>
<key>lightnorm</key>
<array>
<real>-0.84432792663574219</real>
<real>0</real>
<real>0.53582674264907837</real>
<real>0</real>
</array>
<key>max_y</key>
<array>
<real>188</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>preset_num</key>
<integer>2</integer>
<key>star_brightness</key>
<real>0</real>
<key>sun_angle</key>
<real>0</real>
<key>sunlight_color</key>
<array>
<real>2.5799999237060547</real>
<real>2.5799999237060547</real>
<real>2.5799999237060547</real>
<real>2.5799999237060547</real>
</array>
</map>
</llsd>

View File

@ -1,141 +1,141 @@
<llsd>
<map>
<key>ambient</key>
<array>
<real>0.80999994277954102</real>
<real>0.6044776439666748</real>
<real>0.6044776439666748</real>
<real>0.26999998092651367</real>
</array>
<key>blue_density</key>
<array>
<real>0.63999998569488525</real>
<real>1.1799999475479126</real>
<real>2</real>
<real>2</real>
</array>
<key>blue_horizon</key>
<array>
<real>0.23999999463558197</real>
<real>0.23999999463558197</real>
<real>0.31999999284744263</real>
<real>0.31999999284744263</real>
</array>
<key>cloud_color</key>
<array>
<real>0.12862999737262726</real>
<real>0.12862999737262726</real>
<real>0.12862999737262726</real>
<real>1</real>
</array>
<key>cloud_pos_density1</key>
<array>
<real>0.88419097661972046</real>
<real>0.53047597408294678</real>
<real>0.4270470142364502</real>
<real>1</real>
</array>
<key>cloud_pos_density2</key>
<array>
<real>0.38419300317764282</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</real>
<real>10</real>
</array>
<key>cloud_shadow</key>
<array>
<real>0.12999999523162842</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>2</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>east_angle</key>
<real>1.0053097009658813</real>
<key>enable_cloud_scroll</key>
<array>
<boolean>1</boolean>
<boolean>1</boolean>
</array>
<key>gamma</key>
<array>
<real>1.0799999237060547</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>glow</key>
<array>
<real>5</real>
<real>0.0012815999798476696</real>
<real>-0.49999997019767761</real>
<real>1</real>
</array>
<key>haze_density</key>
<array>
<real>0.64999997615814209</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>haze_horizon</key>
<array>
<real>0.08999999612569809</real>
<real>0.21744099259376526</real>
<real>0.21744099259376526</real>
<real>1</real>
</array>
<key>lightnorm</key>
<array>
<real>-0.84432792663574219</real>
<real>0</real>
<real>0.53582674264907837</real>
<real>0</real>
</array>
<key>max_y</key>
<array>
<real>188</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>preset_num</key>
<integer>2</integer>
<key>star_brightness</key>
<real>0</real>
<key>sun_angle</key>
<real>0</real>
<key>sunlight_color</key>
<array>
<real>2.5799999237060547</real>
<real>2.5799999237060547</real>
<real>2.5799999237060547</real>
<real>2.5799999237060547</real>
</array>
</map>
</llsd>
<llsd>
<map>
<key>ambient</key>
<array>
<real>0.80999994277954102</real>
<real>0.6044776439666748</real>
<real>0.6044776439666748</real>
<real>0.26999998092651367</real>
</array>
<key>blue_density</key>
<array>
<real>0.63999998569488525</real>
<real>1.1799999475479126</real>
<real>2</real>
<real>2</real>
</array>
<key>blue_horizon</key>
<array>
<real>0.23999999463558197</real>
<real>0.23999999463558197</real>
<real>0.31999999284744263</real>
<real>0.31999999284744263</real>
</array>
<key>cloud_color</key>
<array>
<real>0.12862999737262726</real>
<real>0.12862999737262726</real>
<real>0.12862999737262726</real>
<real>1</real>
</array>
<key>cloud_pos_density1</key>
<array>
<real>0.88419097661972046</real>
<real>0.53047597408294678</real>
<real>0.4270470142364502</real>
<real>1</real>
</array>
<key>cloud_pos_density2</key>
<array>
<real>0.38419300317764282</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</real>
<real>10</real>
</array>
<key>cloud_shadow</key>
<array>
<real>0.12999999523162842</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>2</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>east_angle</key>
<real>1.0053097009658813</real>
<key>enable_cloud_scroll</key>
<array>
<boolean>1</boolean>
<boolean>1</boolean>
</array>
<key>gamma</key>
<array>
<real>1.0799999237060547</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>glow</key>
<array>
<real>5</real>
<real>0.0012815999798476696</real>
<real>-0.49999997019767761</real>
<real>1</real>
</array>
<key>haze_density</key>
<array>
<real>0.64999997615814209</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>haze_horizon</key>
<array>
<real>0.08999999612569809</real>
<real>0.21744099259376526</real>
<real>0.21744099259376526</real>
<real>1</real>
</array>
<key>lightnorm</key>
<array>
<real>-0.84432792663574219</real>
<real>0</real>
<real>0.53582674264907837</real>
<real>0</real>
</array>
<key>max_y</key>
<array>
<real>188</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>preset_num</key>
<integer>2</integer>
<key>star_brightness</key>
<real>0</real>
<key>sun_angle</key>
<real>0</real>
<key>sunlight_color</key>
<array>
<real>2.5799999237060547</real>
<real>2.5799999237060547</real>
<real>2.5799999237060547</real>
<real>2.5799999237060547</real>
</array>
</map>
</llsd>

View File

@ -1,141 +1,141 @@
<llsd>
<map>
<key>ambient</key>
<array>
<real>0.71999996900558472</real>
<real>0.53731358051300049</real>
<real>0.53731358051300049</real>
<real>0.23999999463558197</real>
</array>
<key>blue_density</key>
<array>
<real>0.47999998927116394</real>
<real>1.1799999475479126</real>
<real>2</real>
<real>2</real>
</array>
<key>blue_horizon</key>
<array>
<real>0.23999999463558197</real>
<real>0.23999999463558197</real>
<real>0.31999999284744263</real>
<real>0.31999999284744263</real>
</array>
<key>cloud_color</key>
<array>
<real>0.12862999737262726</real>
<real>0.12862999737262726</real>
<real>0.12862999737262726</real>
<real>1</real>
</array>
<key>cloud_pos_density1</key>
<array>
<real>0.88419097661972046</real>
<real>0.53047597408294678</real>
<real>0.4270470142364502</real>
<real>1</real>
</array>
<key>cloud_pos_density2</key>
<array>
<real>0.38419300317764282</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</real>
<real>10</real>
</array>
<key>cloud_shadow</key>
<array>
<real>0.12999999523162842</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>2</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.2200000286102295</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>glow</key>
<array>
<real>4.8000001907348633</real>
<real>0.0012815999798476696</real>
<real>-0.44999998807907104</real>
<real>1</real>
</array>
<key>haze_density</key>
<array>
<real>1</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>haze_horizon</key>
<array>
<real>0.08999999612569809</real>
<real>0.21744099259376526</real>
<real>0.21744099259376526</real>
<real>1</real>
</array>
<key>lightnorm</key>
<array>
<real>0</real>
<real>0.32094338536262512</real>
<real>-0.94709837436676025</real>
<real>0</real>
</array>
<key>max_y</key>
<array>
<real>188</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>preset_num</key>
<integer>2</integer>
<key>star_brightness</key>
<real>0</real>
<key>sun_angle</key>
<real>2.8148672580718994</real>
<key>sunlight_color</key>
<array>
<real>2.5799999237060547</real>
<real>2.5799999237060547</real>
<real>2.5799999237060547</real>
<real>2.5799999237060547</real>
</array>
</map>
</llsd>
<llsd>
<map>
<key>ambient</key>
<array>
<real>0.71999996900558472</real>
<real>0.53731358051300049</real>
<real>0.53731358051300049</real>
<real>0.23999999463558197</real>
</array>
<key>blue_density</key>
<array>
<real>0.47999998927116394</real>
<real>1.1799999475479126</real>
<real>2</real>
<real>2</real>
</array>
<key>blue_horizon</key>
<array>
<real>0.23999999463558197</real>
<real>0.23999999463558197</real>
<real>0.31999999284744263</real>
<real>0.31999999284744263</real>
</array>
<key>cloud_color</key>
<array>
<real>0.12862999737262726</real>
<real>0.12862999737262726</real>
<real>0.12862999737262726</real>
<real>1</real>
</array>
<key>cloud_pos_density1</key>
<array>
<real>0.88419097661972046</real>
<real>0.53047597408294678</real>
<real>0.4270470142364502</real>
<real>1</real>
</array>
<key>cloud_pos_density2</key>
<array>
<real>0.38419300317764282</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</real>
<real>10</real>
</array>
<key>cloud_shadow</key>
<array>
<real>0.12999999523162842</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>2</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.2200000286102295</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>glow</key>
<array>
<real>4.8000001907348633</real>
<real>0.0012815999798476696</real>
<real>-0.44999998807907104</real>
<real>1</real>
</array>
<key>haze_density</key>
<array>
<real>1</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>haze_horizon</key>
<array>
<real>0.08999999612569809</real>
<real>0.21744099259376526</real>
<real>0.21744099259376526</real>
<real>1</real>
</array>
<key>lightnorm</key>
<array>
<real>0</real>
<real>0.32094338536262512</real>
<real>-0.94709837436676025</real>
<real>0</real>
</array>
<key>max_y</key>
<array>
<real>188</real>
<real>0</real>
<real>0</real>
<real>1</real>
</array>
<key>preset_num</key>
<integer>2</integer>
<key>star_brightness</key>
<real>0</real>
<key>sun_angle</key>
<real>2.8148672580718994</real>
<key>sunlight_color</key>
<array>
<real>2.5799999237060547</real>
<real>2.5799999237060547</real>
<real>2.5799999237060547</real>
<real>2.5799999237060547</real>
</array>
</map>
</llsd>

Some files were not shown because too many files have changed in this diff Show More