This commit is contained in:
Inusaito Sayori
2013-12-04 14:05:46 -05:00
324 changed files with 14401 additions and 1349 deletions

View File

@@ -38,6 +38,7 @@ include(LLXML)
#include(LScript)
include(Linking)
include(NDOF)
include(NVAPI)
include(StateMachine)
include(TemplateCheck)
include(UI)
@@ -1140,7 +1141,6 @@ if (DARWIN)
${VIEWER_BRANDING_ID}.icns
macview.r
gpu_table.txt
Info-${VIEWER_BRANDING_NAME_CAMELCASE}.plist
SecondLife.nib/
# CMake doesn't seem to support Xcode language variants well just yet
English.lproj/InfoPlist.strings
@@ -1433,13 +1433,7 @@ if (!DISABLE_TEMPLATE_CHECK)
check_message_template(${VIEWER_BINARY_NAME})
endif (!DISABLE_TEMPLATE_CHECK)
# We package by default on Linux so we can run from newview/packaged.
if (LINUX)
set(PACKAGE_DEFAULT ON)
else (LINUX)
set(PACKAGE_DEFAULT OFF)
endif (LINUX)
set(PACKAGE ${PACKAGE_DEFAULT} CACHE BOOL
set(PACKAGE OFF CACHE BOOL
"Add a package target that builds an installer package.")
if (WINDOWS)
@@ -1598,6 +1592,7 @@ target_link_libraries(${VIEWER_BINARY_NAME}
${LLMATH_LIBRARIES}
${LLCOMMON_LIBRARIES}
${NDOF_LIBRARY}
${NVAPI_LIBRARY}
${viewer_LIBRARIES}
${Boost_CONTEXT_LIBRARY}
${Boost_FILESYSTEM_LIBRARY}
@@ -1711,7 +1706,7 @@ if (DARWIN)
MACOSX_BUNDLE_BUNDLE_NAME "${VIEWER_BRANDING_NAME}"
MACOSX_BUNDLE_SHORT_VERSION_STRING "${viewer_VERSION}"
MACOSX_BUNDLE_BUNDLE_VERSION "${viewer_VERSION}"
MACOSX_BUNDLE_COPYRIGHT "Copyright 2010 Balseraph Software Group"
MACOSX_BUNDLE_COPYRIGHT "Copyright 2013 Siana Gearz"
)
add_custom_command(
@@ -1760,32 +1755,10 @@ if (DARWIN)
--grid=${GRID}
--login_channel=${VIEWER_LOGIN_CHANNEL}
--source=${CMAKE_CURRENT_SOURCE_DIR}
--touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/.${product}.touched
--touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/.${Product}.touched
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
)
# Viewer-Development doesn't have this duplicate of the above command, here..
# this may be a botched merge, but Mac seems to be picky, so I'm leaving it ~Liru
add_custom_command(
TARGET package POST_BUILD
COMMAND ${PYTHON_EXECUTABLE}
ARGS
${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
--artwork=${ARTWORK_DIR}
--branding_id=${VIEWER_BRANDING_ID}
--build=${CMAKE_CURRENT_BINARY_DIR}
--buildtype=${CMAKE_BUILD_TYPE}
--channel=${VIEWER_CHANNEL}
--configuration=${CMAKE_CFG_INTDIR}
--dest=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${product}.app
--grid=${GRID}
--login_channel=${VIEWER_LOGIN_CHANNEL}
--source=${CMAKE_CURRENT_SOURCE_DIR}
--touch=${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/.${product}.touched
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
)
endif (PACKAGE)
endif (DARWIN)
@@ -1813,7 +1786,7 @@ if (PACKAGE)
list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_BINARY_DIR}/media_plugins/quicktime/${CMAKE_CFG_INTDIR}")
list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_BINARY_DIR}/media_plugins/webkit/${CMAKE_CFG_INTDIR}")
set(VIEWER_SYMBOL_FILE "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/secondlife-symbols-darwin.tar.bz2")
set(VIEWER_EXE_GLOBS "'Singularity' SLPlugin")
set(VIEWER_EXE_GLOBS "'${VIEWER_BRANDING_NAME}' SLPlugin")
set(VIEWER_LIB_GLOB "*.dylib")
endif (DARWIN)
if (LINUX)

View File

@@ -1,7 +0,0 @@
/* Localized versions of Info.plist keys */
CFBundleName = "Singularity";
CFBundleShortVersionString = "Singularity Viewer 1.7.0.0";
CFBundleGetInfoString = "Singularity Viewer 1.7.0.0, Copyright 2012 Siana Gearz";

View File

@@ -0,0 +1,6 @@
/* Localized versions of Info.plist keys */
CFBundleName = "${VIEWER_CHANNEL_ONE_WORD}";
CFBundleShortVersionString = "${VIEWER_CHANNEL} Viewer ${vMAJOR}.${vMINOR}.${vPATCH}.${vBUILD}";
CFBundleGetInfoString = "${VIEWER_CHANNEL} Viewer ${vMAJOR}.${vMINOR}.${vPATCH}.${vBUILD}, Copyright 2012 Siana Gearz";

View File

@@ -1,39 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>Singularity</string>
<key>CFBundleIconFile</key>
<string>singularity.icns</string>
<key>CFBundleIdentifier</key>
<string>org.singularityviewer.singularity</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>Singularity</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>Second Life URL</string>
<key>CFBundleURLSchemes</key>
<array>
<string>secondlife</string>
</array>
<key>LSIsAppleDefaultForScheme</key>
<true/>
</dict>
</array>
<key>CFBundleVersion</key>
<string>1.0.0.0</string>
<key>CSResourcesFileMapped</key>
<true/>
</dict>
</plist>

View File

@@ -2,7 +2,7 @@
<array>
<map>
<key>default_grids_version</key><string>21</string>
<key>default_grids_version</key><string>22</string>
</map>
<!-- Second Life -->
@@ -20,6 +20,7 @@
<key>render_compat</key><boolean>1</boolean>
<key>inventory_links</key><boolean>1</boolean>
<key>auto_update</key><boolean>0</boolean>
<key>locked</key><boolean>1</boolean>
</map>
<map>

View File

@@ -13785,6 +13785,17 @@ This should be as low as possible, but too low may break functionality</string>
<key>Value</key>
<integer>1</integer>
</map>
<key>RevokePermsOnStopAnimation</key>
<map>
<key>Comment</key>
<string>Clear animation permssions when choosing "Stop Animating Me"</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>1</integer>
</map>
<key>RotateRight</key>
<map>
<key>Comment</key>
@@ -17780,6 +17791,17 @@ This should be as low as possible, but too low may break functionality</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>CrashReportID</key>
<map>
<key>Comment</key>
<string>ID of the last crash report sent. Zero indicates that no crash report has been sent. Non-zero value can be useful infermation for developers to track a specific issue</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>S32</string>
<key>Value</key>
<integer>0</integer>
</map>
</map>
</llsd>

View File

@@ -23,7 +23,7 @@
* $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_texture_rectangle : enable
#define INDEXED 1
#define NON_INDEXED 2

View File

@@ -23,7 +23,7 @@
* $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_texture_rectangle : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -23,7 +23,7 @@
* $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_texture_rectangle : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -23,7 +23,7 @@
* $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_texture_rectangle : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -23,7 +23,7 @@
* $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_texture_rectangle : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -23,7 +23,7 @@
* $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_texture_rectangle : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -22,8 +22,6 @@
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -23,8 +23,8 @@
* $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
#extension GL_ARB_shader_texture_lod : enable
//#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_shader_texture_lod : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;
@@ -34,7 +34,7 @@ out vec4 frag_color;
#define FXAA_PC 1
//#define FXAA_GLSL_130 1
#define FXAA_QUALITY__PRESET 12
#define FXAA_QUALITY_M_PRESET 12
/*============================================================================
@@ -67,7 +67,7 @@ Example,
#define FXAA_PC 1
#define FXAA_HLSL_5 1
#define FXAA_QUALITY__PRESET 12
#define FXAA_QUALITY_M_PRESET 12
Or,
@@ -366,7 +366,7 @@ A. Or use FXAA_GREEN_AS_LUMA.
/*============================================================================
FXAA CONSOLE PS3 - TUNING KNOBS
============================================================================*/
#ifndef FXAA_CONSOLE__PS3_EDGE_SHARPNESS
#ifndef FXAA_CONSOLE_M_PS3_EDGE_SHARPNESS
//
// Consoles the sharpness of edges on PS3 only.
// Non-PS3 tuning is done with shader input.
@@ -380,17 +380,17 @@ A. Or use FXAA_GREEN_AS_LUMA.
// 2.0 is really soft (good for vector graphics inputs)
//
#if 1
#define FXAA_CONSOLE__PS3_EDGE_SHARPNESS 8.0
#define FXAA_CONSOLE_M_PS3_EDGE_SHARPNESS 8.0
#endif
#if 0
#define FXAA_CONSOLE__PS3_EDGE_SHARPNESS 4.0
#define FXAA_CONSOLE_M_PS3_EDGE_SHARPNESS 4.0
#endif
#if 0
#define FXAA_CONSOLE__PS3_EDGE_SHARPNESS 2.0
#define FXAA_CONSOLE_M_PS3_EDGE_SHARPNESS 2.0
#endif
#endif
/*--------------------------------------------------------------------------*/
#ifndef FXAA_CONSOLE__PS3_EDGE_THRESHOLD
#ifndef FXAA_CONSOLE_M_PS3_EDGE_THRESHOLD
//
// Only effects PS3.
// Non-PS3 tuning is done with shader input.
@@ -408,9 +408,9 @@ A. Or use FXAA_GREEN_AS_LUMA.
// 0.25 leaves more aliasing, and is sharper
//
#if 1
#define FXAA_CONSOLE__PS3_EDGE_THRESHOLD 0.125
#define FXAA_CONSOLE_M_PS3_EDGE_THRESHOLD 0.125
#else
#define FXAA_CONSOLE__PS3_EDGE_THRESHOLD 0.25
#define FXAA_CONSOLE_M_PS3_EDGE_THRESHOLD 0.25
#endif
#endif
@@ -419,7 +419,7 @@ A. Or use FXAA_GREEN_AS_LUMA.
------------------------------------------------------------------------------
NOTE the other tuning knobs are now in the shader function inputs!
============================================================================*/
#ifndef FXAA_QUALITY__PRESET
#ifndef FXAA_QUALITY_M_PRESET
//
// Choose the quality preset.
// This needs to be compiled into the shader as it effects code.
@@ -440,7 +440,7 @@ NOTE the other tuning knobs are now in the shader function inputs!
// _ = the lowest digit is directly related to performance
// _ = the highest digit is directly related to style
//
#define FXAA_QUALITY__PRESET 12
#define FXAA_QUALITY_M_PRESET 12
#endif
@@ -453,198 +453,198 @@ NOTE the other tuning knobs are now in the shader function inputs!
/*============================================================================
FXAA QUALITY - MEDIUM DITHER PRESETS
============================================================================*/
#if (FXAA_QUALITY__PRESET == 10)
#define FXAA_QUALITY__PS 3
#define FXAA_QUALITY__P0 1.5
#define FXAA_QUALITY__P1 3.0
#define FXAA_QUALITY__P2 12.0
#if (FXAA_QUALITY_M_PRESET == 10)
#define FXAA_QUALITY_M_PS 3
#define FXAA_QUALITY_M_P0 1.5
#define FXAA_QUALITY_M_P1 3.0
#define FXAA_QUALITY_M_P2 12.0
#endif
/*--------------------------------------------------------------------------*/
#if (FXAA_QUALITY__PRESET == 11)
#define FXAA_QUALITY__PS 4
#define FXAA_QUALITY__P0 1.0
#define FXAA_QUALITY__P1 1.5
#define FXAA_QUALITY__P2 3.0
#define FXAA_QUALITY__P3 12.0
#if (FXAA_QUALITY_M_PRESET == 11)
#define FXAA_QUALITY_M_PS 4
#define FXAA_QUALITY_M_P0 1.0
#define FXAA_QUALITY_M_P1 1.5
#define FXAA_QUALITY_M_P2 3.0
#define FXAA_QUALITY_M_P3 12.0
#endif
/*--------------------------------------------------------------------------*/
#if (FXAA_QUALITY__PRESET == 12)
#define FXAA_QUALITY__PS 5
#define FXAA_QUALITY__P0 1.0
#define FXAA_QUALITY__P1 1.5
#define FXAA_QUALITY__P2 2.0
#define FXAA_QUALITY__P3 4.0
#define FXAA_QUALITY__P4 12.0
#if (FXAA_QUALITY_M_PRESET == 12)
#define FXAA_QUALITY_M_PS 5
#define FXAA_QUALITY_M_P0 1.0
#define FXAA_QUALITY_M_P1 1.5
#define FXAA_QUALITY_M_P2 2.0
#define FXAA_QUALITY_M_P3 4.0
#define FXAA_QUALITY_M_P4 12.0
#endif
/*--------------------------------------------------------------------------*/
#if (FXAA_QUALITY__PRESET == 13)
#define FXAA_QUALITY__PS 6
#define FXAA_QUALITY__P0 1.0
#define FXAA_QUALITY__P1 1.5
#define FXAA_QUALITY__P2 2.0
#define FXAA_QUALITY__P3 2.0
#define FXAA_QUALITY__P4 4.0
#define FXAA_QUALITY__P5 12.0
#if (FXAA_QUALITY_M_PRESET == 13)
#define FXAA_QUALITY_M_PS 6
#define FXAA_QUALITY_M_P0 1.0
#define FXAA_QUALITY_M_P1 1.5
#define FXAA_QUALITY_M_P2 2.0
#define FXAA_QUALITY_M_P3 2.0
#define FXAA_QUALITY_M_P4 4.0
#define FXAA_QUALITY_M_P5 12.0
#endif
/*--------------------------------------------------------------------------*/
#if (FXAA_QUALITY__PRESET == 14)
#define FXAA_QUALITY__PS 7
#define FXAA_QUALITY__P0 1.0
#define FXAA_QUALITY__P1 1.5
#define FXAA_QUALITY__P2 2.0
#define FXAA_QUALITY__P3 2.0
#define FXAA_QUALITY__P4 2.0
#define FXAA_QUALITY__P5 4.0
#define FXAA_QUALITY__P6 12.0
#if (FXAA_QUALITY_M_PRESET == 14)
#define FXAA_QUALITY_M_PS 7
#define FXAA_QUALITY_M_P0 1.0
#define FXAA_QUALITY_M_P1 1.5
#define FXAA_QUALITY_M_P2 2.0
#define FXAA_QUALITY_M_P3 2.0
#define FXAA_QUALITY_M_P4 2.0
#define FXAA_QUALITY_M_P5 4.0
#define FXAA_QUALITY_M_P6 12.0
#endif
/*--------------------------------------------------------------------------*/
#if (FXAA_QUALITY__PRESET == 15)
#define FXAA_QUALITY__PS 8
#define FXAA_QUALITY__P0 1.0
#define FXAA_QUALITY__P1 1.5
#define FXAA_QUALITY__P2 2.0
#define FXAA_QUALITY__P3 2.0
#define FXAA_QUALITY__P4 2.0
#define FXAA_QUALITY__P5 2.0
#define FXAA_QUALITY__P6 4.0
#define FXAA_QUALITY__P7 12.0
#if (FXAA_QUALITY_M_PRESET == 15)
#define FXAA_QUALITY_M_PS 8
#define FXAA_QUALITY_M_P0 1.0
#define FXAA_QUALITY_M_P1 1.5
#define FXAA_QUALITY_M_P2 2.0
#define FXAA_QUALITY_M_P3 2.0
#define FXAA_QUALITY_M_P4 2.0
#define FXAA_QUALITY_M_P5 2.0
#define FXAA_QUALITY_M_P6 4.0
#define FXAA_QUALITY_M_P7 12.0
#endif
/*============================================================================
FXAA QUALITY - LOW DITHER PRESETS
============================================================================*/
#if (FXAA_QUALITY__PRESET == 20)
#define FXAA_QUALITY__PS 3
#define FXAA_QUALITY__P0 1.5
#define FXAA_QUALITY__P1 2.0
#define FXAA_QUALITY__P2 8.0
#if (FXAA_QUALITY_M_PRESET == 20)
#define FXAA_QUALITY_M_PS 3
#define FXAA_QUALITY_M_P0 1.5
#define FXAA_QUALITY_M_P1 2.0
#define FXAA_QUALITY_M_P2 8.0
#endif
/*--------------------------------------------------------------------------*/
#if (FXAA_QUALITY__PRESET == 21)
#define FXAA_QUALITY__PS 4
#define FXAA_QUALITY__P0 1.0
#define FXAA_QUALITY__P1 1.5
#define FXAA_QUALITY__P2 2.0
#define FXAA_QUALITY__P3 8.0
#if (FXAA_QUALITY_M_PRESET == 21)
#define FXAA_QUALITY_M_PS 4
#define FXAA_QUALITY_M_P0 1.0
#define FXAA_QUALITY_M_P1 1.5
#define FXAA_QUALITY_M_P2 2.0
#define FXAA_QUALITY_M_P3 8.0
#endif
/*--------------------------------------------------------------------------*/
#if (FXAA_QUALITY__PRESET == 22)
#define FXAA_QUALITY__PS 5
#define FXAA_QUALITY__P0 1.0
#define FXAA_QUALITY__P1 1.5
#define FXAA_QUALITY__P2 2.0
#define FXAA_QUALITY__P3 2.0
#define FXAA_QUALITY__P4 8.0
#if (FXAA_QUALITY_M_PRESET == 22)
#define FXAA_QUALITY_M_PS 5
#define FXAA_QUALITY_M_P0 1.0
#define FXAA_QUALITY_M_P1 1.5
#define FXAA_QUALITY_M_P2 2.0
#define FXAA_QUALITY_M_P3 2.0
#define FXAA_QUALITY_M_P4 8.0
#endif
/*--------------------------------------------------------------------------*/
#if (FXAA_QUALITY__PRESET == 23)
#define FXAA_QUALITY__PS 6
#define FXAA_QUALITY__P0 1.0
#define FXAA_QUALITY__P1 1.5
#define FXAA_QUALITY__P2 2.0
#define FXAA_QUALITY__P3 2.0
#define FXAA_QUALITY__P4 2.0
#define FXAA_QUALITY__P5 8.0
#if (FXAA_QUALITY_M_PRESET == 23)
#define FXAA_QUALITY_M_PS 6
#define FXAA_QUALITY_M_P0 1.0
#define FXAA_QUALITY_M_P1 1.5
#define FXAA_QUALITY_M_P2 2.0
#define FXAA_QUALITY_M_P3 2.0
#define FXAA_QUALITY_M_P4 2.0
#define FXAA_QUALITY_M_P5 8.0
#endif
/*--------------------------------------------------------------------------*/
#if (FXAA_QUALITY__PRESET == 24)
#define FXAA_QUALITY__PS 7
#define FXAA_QUALITY__P0 1.0
#define FXAA_QUALITY__P1 1.5
#define FXAA_QUALITY__P2 2.0
#define FXAA_QUALITY__P3 2.0
#define FXAA_QUALITY__P4 2.0
#define FXAA_QUALITY__P5 3.0
#define FXAA_QUALITY__P6 8.0
#if (FXAA_QUALITY_M_PRESET == 24)
#define FXAA_QUALITY_M_PS 7
#define FXAA_QUALITY_M_P0 1.0
#define FXAA_QUALITY_M_P1 1.5
#define FXAA_QUALITY_M_P2 2.0
#define FXAA_QUALITY_M_P3 2.0
#define FXAA_QUALITY_M_P4 2.0
#define FXAA_QUALITY_M_P5 3.0
#define FXAA_QUALITY_M_P6 8.0
#endif
/*--------------------------------------------------------------------------*/
#if (FXAA_QUALITY__PRESET == 25)
#define FXAA_QUALITY__PS 8
#define FXAA_QUALITY__P0 1.0
#define FXAA_QUALITY__P1 1.5
#define FXAA_QUALITY__P2 2.0
#define FXAA_QUALITY__P3 2.0
#define FXAA_QUALITY__P4 2.0
#define FXAA_QUALITY__P5 2.0
#define FXAA_QUALITY__P6 4.0
#define FXAA_QUALITY__P7 8.0
#if (FXAA_QUALITY_M_PRESET == 25)
#define FXAA_QUALITY_M_PS 8
#define FXAA_QUALITY_M_P0 1.0
#define FXAA_QUALITY_M_P1 1.5
#define FXAA_QUALITY_M_P2 2.0
#define FXAA_QUALITY_M_P3 2.0
#define FXAA_QUALITY_M_P4 2.0
#define FXAA_QUALITY_M_P5 2.0
#define FXAA_QUALITY_M_P6 4.0
#define FXAA_QUALITY_M_P7 8.0
#endif
/*--------------------------------------------------------------------------*/
#if (FXAA_QUALITY__PRESET == 26)
#define FXAA_QUALITY__PS 9
#define FXAA_QUALITY__P0 1.0
#define FXAA_QUALITY__P1 1.5
#define FXAA_QUALITY__P2 2.0
#define FXAA_QUALITY__P3 2.0
#define FXAA_QUALITY__P4 2.0
#define FXAA_QUALITY__P5 2.0
#define FXAA_QUALITY__P6 2.0
#define FXAA_QUALITY__P7 4.0
#define FXAA_QUALITY__P8 8.0
#if (FXAA_QUALITY_M_PRESET == 26)
#define FXAA_QUALITY_M_PS 9
#define FXAA_QUALITY_M_P0 1.0
#define FXAA_QUALITY_M_P1 1.5
#define FXAA_QUALITY_M_P2 2.0
#define FXAA_QUALITY_M_P3 2.0
#define FXAA_QUALITY_M_P4 2.0
#define FXAA_QUALITY_M_P5 2.0
#define FXAA_QUALITY_M_P6 2.0
#define FXAA_QUALITY_M_P7 4.0
#define FXAA_QUALITY_M_P8 8.0
#endif
/*--------------------------------------------------------------------------*/
#if (FXAA_QUALITY__PRESET == 27)
#define FXAA_QUALITY__PS 10
#define FXAA_QUALITY__P0 1.0
#define FXAA_QUALITY__P1 1.5
#define FXAA_QUALITY__P2 2.0
#define FXAA_QUALITY__P3 2.0
#define FXAA_QUALITY__P4 2.0
#define FXAA_QUALITY__P5 2.0
#define FXAA_QUALITY__P6 2.0
#define FXAA_QUALITY__P7 2.0
#define FXAA_QUALITY__P8 4.0
#define FXAA_QUALITY__P9 8.0
#if (FXAA_QUALITY_M_PRESET == 27)
#define FXAA_QUALITY_M_PS 10
#define FXAA_QUALITY_M_P0 1.0
#define FXAA_QUALITY_M_P1 1.5
#define FXAA_QUALITY_M_P2 2.0
#define FXAA_QUALITY_M_P3 2.0
#define FXAA_QUALITY_M_P4 2.0
#define FXAA_QUALITY_M_P5 2.0
#define FXAA_QUALITY_M_P6 2.0
#define FXAA_QUALITY_M_P7 2.0
#define FXAA_QUALITY_M_P8 4.0
#define FXAA_QUALITY_M_P9 8.0
#endif
/*--------------------------------------------------------------------------*/
#if (FXAA_QUALITY__PRESET == 28)
#define FXAA_QUALITY__PS 11
#define FXAA_QUALITY__P0 1.0
#define FXAA_QUALITY__P1 1.5
#define FXAA_QUALITY__P2 2.0
#define FXAA_QUALITY__P3 2.0
#define FXAA_QUALITY__P4 2.0
#define FXAA_QUALITY__P5 2.0
#define FXAA_QUALITY__P6 2.0
#define FXAA_QUALITY__P7 2.0
#define FXAA_QUALITY__P8 2.0
#define FXAA_QUALITY__P9 4.0
#define FXAA_QUALITY__P10 8.0
#if (FXAA_QUALITY_M_PRESET == 28)
#define FXAA_QUALITY_M_PS 11
#define FXAA_QUALITY_M_P0 1.0
#define FXAA_QUALITY_M_P1 1.5
#define FXAA_QUALITY_M_P2 2.0
#define FXAA_QUALITY_M_P3 2.0
#define FXAA_QUALITY_M_P4 2.0
#define FXAA_QUALITY_M_P5 2.0
#define FXAA_QUALITY_M_P6 2.0
#define FXAA_QUALITY_M_P7 2.0
#define FXAA_QUALITY_M_P8 2.0
#define FXAA_QUALITY_M_P9 4.0
#define FXAA_QUALITY_M_P10 8.0
#endif
/*--------------------------------------------------------------------------*/
#if (FXAA_QUALITY__PRESET == 29)
#define FXAA_QUALITY__PS 12
#define FXAA_QUALITY__P0 1.0
#define FXAA_QUALITY__P1 1.5
#define FXAA_QUALITY__P2 2.0
#define FXAA_QUALITY__P3 2.0
#define FXAA_QUALITY__P4 2.0
#define FXAA_QUALITY__P5 2.0
#define FXAA_QUALITY__P6 2.0
#define FXAA_QUALITY__P7 2.0
#define FXAA_QUALITY__P8 2.0
#define FXAA_QUALITY__P9 2.0
#define FXAA_QUALITY__P10 4.0
#define FXAA_QUALITY__P11 8.0
#if (FXAA_QUALITY_M_PRESET == 29)
#define FXAA_QUALITY_M_PS 12
#define FXAA_QUALITY_M_P0 1.0
#define FXAA_QUALITY_M_P1 1.5
#define FXAA_QUALITY_M_P2 2.0
#define FXAA_QUALITY_M_P3 2.0
#define FXAA_QUALITY_M_P4 2.0
#define FXAA_QUALITY_M_P5 2.0
#define FXAA_QUALITY_M_P6 2.0
#define FXAA_QUALITY_M_P7 2.0
#define FXAA_QUALITY_M_P8 2.0
#define FXAA_QUALITY_M_P9 2.0
#define FXAA_QUALITY_M_P10 4.0
#define FXAA_QUALITY_M_P11 8.0
#endif
/*============================================================================
FXAA QUALITY - EXTREME QUALITY
============================================================================*/
#if (FXAA_QUALITY__PRESET == 39)
#define FXAA_QUALITY__PS 12
#define FXAA_QUALITY__P0 1.0
#define FXAA_QUALITY__P1 1.0
#define FXAA_QUALITY__P2 1.0
#define FXAA_QUALITY__P3 1.0
#define FXAA_QUALITY__P4 1.0
#define FXAA_QUALITY__P5 1.5
#define FXAA_QUALITY__P6 2.0
#define FXAA_QUALITY__P7 2.0
#define FXAA_QUALITY__P8 2.0
#define FXAA_QUALITY__P9 2.0
#define FXAA_QUALITY__P10 4.0
#define FXAA_QUALITY__P11 8.0
#if (FXAA_QUALITY_M_PRESET == 39)
#define FXAA_QUALITY_M_PS 12
#define FXAA_QUALITY_M_P0 1.0
#define FXAA_QUALITY_M_P1 1.0
#define FXAA_QUALITY_M_P2 1.0
#define FXAA_QUALITY_M_P3 1.0
#define FXAA_QUALITY_M_P4 1.0
#define FXAA_QUALITY_M_P5 1.5
#define FXAA_QUALITY_M_P6 2.0
#define FXAA_QUALITY_M_P7 2.0
#define FXAA_QUALITY_M_P8 2.0
#define FXAA_QUALITY_M_P9 2.0
#define FXAA_QUALITY_M_P10 4.0
#define FXAA_QUALITY_M_P11 8.0
#endif
@@ -869,7 +869,7 @@ FxaaFloat4 FxaaPixelShader(
// This used to be the FXAA_CONSOLE__EDGE_SHARPNESS define.
// It is here now to allow easier tuning.
// This does not effect PS3, as this needs to be compiled in.
// Use FXAA_CONSOLE__PS3_EDGE_SHARPNESS for PS3.
// Use FXAA_CONSOLE_M_PS3_EDGE_SHARPNESS for PS3.
// Due to the PS3 being ALU bound,
// there are only three safe values here: 2 and 4 and 8.
// These options use the shaders ability to a free *|/ by 2|4|8.
@@ -883,7 +883,7 @@ FxaaFloat4 FxaaPixelShader(
// This used to be the FXAA_CONSOLE__EDGE_THRESHOLD define.
// It is here now to allow easier tuning.
// This does not effect PS3, as this needs to be compiled in.
// Use FXAA_CONSOLE__PS3_EDGE_THRESHOLD for PS3.
// Use FXAA_CONSOLE_M_PS3_EDGE_THRESHOLD for PS3.
// Due to the PS3 being ALU bound,
// there are only two safe values here: 1/4 and 1/8.
// These options use the shaders ability to a free *|/ by 2|4|8.
@@ -1041,11 +1041,11 @@ FxaaFloat4 FxaaPixelShader(
if( horzSpan) posB.y += lengthSign * 0.5;
/*--------------------------------------------------------------------------*/
FxaaFloat2 posN;
posN.x = posB.x - offNP.x * FXAA_QUALITY__P0;
posN.y = posB.y - offNP.y * FXAA_QUALITY__P0;
posN.x = posB.x - offNP.x * FXAA_QUALITY_M_P0;
posN.y = posB.y - offNP.y * FXAA_QUALITY_M_P0;
FxaaFloat2 posP;
posP.x = posB.x + offNP.x * FXAA_QUALITY__P0;
posP.y = posB.y + offNP.y * FXAA_QUALITY__P0;
posP.x = posB.x + offNP.x * FXAA_QUALITY_M_P0;
posP.y = posB.y + offNP.y * FXAA_QUALITY_M_P0;
FxaaFloat subpixD = ((-2.0)*subpixC) + 3.0;
FxaaFloat lumaEndN = FxaaLuma(FxaaTexTop(tex, posN));
FxaaFloat subpixE = subpixC * subpixC;
@@ -1061,11 +1061,11 @@ FxaaFloat4 FxaaPixelShader(
lumaEndP -= lumaNN * 0.5;
FxaaBool doneN = abs(lumaEndN) >= gradientScaled;
FxaaBool doneP = abs(lumaEndP) >= gradientScaled;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P1;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P1;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_M_P1;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_M_P1;
FxaaBool doneNP = (!doneN) || (!doneP);
if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P1;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P1;
if(!doneP) posP.x += offNP.x * FXAA_QUALITY_M_P1;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY_M_P1;
/*--------------------------------------------------------------------------*/
if(doneNP) {
if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));
@@ -1074,13 +1074,13 @@ FxaaFloat4 FxaaPixelShader(
if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
doneN = abs(lumaEndN) >= gradientScaled;
doneP = abs(lumaEndP) >= gradientScaled;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P2;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P2;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_M_P2;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_M_P2;
doneNP = (!doneN) || (!doneP);
if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P2;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P2;
if(!doneP) posP.x += offNP.x * FXAA_QUALITY_M_P2;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY_M_P2;
/*--------------------------------------------------------------------------*/
#if (FXAA_QUALITY__PS > 3)
#if (FXAA_QUALITY_M_PS > 3)
if(doneNP) {
if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));
if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));
@@ -1088,13 +1088,13 @@ FxaaFloat4 FxaaPixelShader(
if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
doneN = abs(lumaEndN) >= gradientScaled;
doneP = abs(lumaEndP) >= gradientScaled;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P3;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P3;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_M_P3;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_M_P3;
doneNP = (!doneN) || (!doneP);
if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P3;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P3;
if(!doneP) posP.x += offNP.x * FXAA_QUALITY_M_P3;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY_M_P3;
/*--------------------------------------------------------------------------*/
#if (FXAA_QUALITY__PS > 4)
#if (FXAA_QUALITY_M_PS > 4)
if(doneNP) {
if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));
if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));
@@ -1102,13 +1102,13 @@ FxaaFloat4 FxaaPixelShader(
if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
doneN = abs(lumaEndN) >= gradientScaled;
doneP = abs(lumaEndP) >= gradientScaled;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P4;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P4;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_M_P4;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_M_P4;
doneNP = (!doneN) || (!doneP);
if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P4;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P4;
if(!doneP) posP.x += offNP.x * FXAA_QUALITY_M_P4;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY_M_P4;
/*--------------------------------------------------------------------------*/
#if (FXAA_QUALITY__PS > 5)
#if (FXAA_QUALITY_M_PS > 5)
if(doneNP) {
if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));
if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));
@@ -1116,13 +1116,13 @@ FxaaFloat4 FxaaPixelShader(
if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
doneN = abs(lumaEndN) >= gradientScaled;
doneP = abs(lumaEndP) >= gradientScaled;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P5;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P5;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_M_P5;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_M_P5;
doneNP = (!doneN) || (!doneP);
if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P5;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P5;
if(!doneP) posP.x += offNP.x * FXAA_QUALITY_M_P5;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY_M_P5;
/*--------------------------------------------------------------------------*/
#if (FXAA_QUALITY__PS > 6)
#if (FXAA_QUALITY_M_PS > 6)
if(doneNP) {
if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));
if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));
@@ -1130,13 +1130,13 @@ FxaaFloat4 FxaaPixelShader(
if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
doneN = abs(lumaEndN) >= gradientScaled;
doneP = abs(lumaEndP) >= gradientScaled;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P6;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P6;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_M_P6;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_M_P6;
doneNP = (!doneN) || (!doneP);
if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P6;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P6;
if(!doneP) posP.x += offNP.x * FXAA_QUALITY_M_P6;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY_M_P6;
/*--------------------------------------------------------------------------*/
#if (FXAA_QUALITY__PS > 7)
#if (FXAA_QUALITY_M_PS > 7)
if(doneNP) {
if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));
if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));
@@ -1144,13 +1144,13 @@ FxaaFloat4 FxaaPixelShader(
if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
doneN = abs(lumaEndN) >= gradientScaled;
doneP = abs(lumaEndP) >= gradientScaled;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P7;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P7;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_M_P7;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_M_P7;
doneNP = (!doneN) || (!doneP);
if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P7;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P7;
if(!doneP) posP.x += offNP.x * FXAA_QUALITY_M_P7;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY_M_P7;
/*--------------------------------------------------------------------------*/
#if (FXAA_QUALITY__PS > 8)
#if (FXAA_QUALITY_M_PS > 8)
if(doneNP) {
if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));
if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));
@@ -1158,13 +1158,13 @@ FxaaFloat4 FxaaPixelShader(
if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
doneN = abs(lumaEndN) >= gradientScaled;
doneP = abs(lumaEndP) >= gradientScaled;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P8;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P8;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_M_P8;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_M_P8;
doneNP = (!doneN) || (!doneP);
if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P8;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P8;
if(!doneP) posP.x += offNP.x * FXAA_QUALITY_M_P8;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY_M_P8;
/*--------------------------------------------------------------------------*/
#if (FXAA_QUALITY__PS > 9)
#if (FXAA_QUALITY_M_PS > 9)
if(doneNP) {
if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));
if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));
@@ -1172,13 +1172,13 @@ FxaaFloat4 FxaaPixelShader(
if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
doneN = abs(lumaEndN) >= gradientScaled;
doneP = abs(lumaEndP) >= gradientScaled;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P9;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P9;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_M_P9;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_M_P9;
doneNP = (!doneN) || (!doneP);
if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P9;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P9;
if(!doneP) posP.x += offNP.x * FXAA_QUALITY_M_P9;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY_M_P9;
/*--------------------------------------------------------------------------*/
#if (FXAA_QUALITY__PS > 10)
#if (FXAA_QUALITY_M_PS > 10)
if(doneNP) {
if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));
if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));
@@ -1186,13 +1186,13 @@ FxaaFloat4 FxaaPixelShader(
if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
doneN = abs(lumaEndN) >= gradientScaled;
doneP = abs(lumaEndP) >= gradientScaled;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P10;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P10;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_M_P10;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_M_P10;
doneNP = (!doneN) || (!doneP);
if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P10;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P10;
if(!doneP) posP.x += offNP.x * FXAA_QUALITY_M_P10;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY_M_P10;
/*--------------------------------------------------------------------------*/
#if (FXAA_QUALITY__PS > 11)
#if (FXAA_QUALITY_M_PS > 11)
if(doneNP) {
if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));
if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));
@@ -1200,13 +1200,13 @@ FxaaFloat4 FxaaPixelShader(
if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
doneN = abs(lumaEndN) >= gradientScaled;
doneP = abs(lumaEndP) >= gradientScaled;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P11;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P11;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_M_P11;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_M_P11;
doneNP = (!doneN) || (!doneP);
if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P11;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P11;
if(!doneP) posP.x += offNP.x * FXAA_QUALITY_M_P11;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY_M_P11;
/*--------------------------------------------------------------------------*/
#if (FXAA_QUALITY__PS > 12)
#if (FXAA_QUALITY_M_PS > 12)
if(doneNP) {
if(!doneN) lumaEndN = FxaaLuma(FxaaTexTop(tex, posN.xy));
if(!doneP) lumaEndP = FxaaLuma(FxaaTexTop(tex, posP.xy));
@@ -1214,11 +1214,11 @@ FxaaFloat4 FxaaPixelShader(
if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
doneN = abs(lumaEndN) >= gradientScaled;
doneP = abs(lumaEndP) >= gradientScaled;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P12;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P12;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY_M_P12;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY_M_P12;
doneNP = (!doneN) || (!doneP);
if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P12;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P12;
if(!doneP) posP.x += offNP.x * FXAA_QUALITY_M_P12;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY_M_P12;
/*--------------------------------------------------------------------------*/
}
#endif
@@ -1291,9 +1291,9 @@ FxaaFloat4 FxaaPixelShader(
------------------------------------------------------------------------------
Instead of using this on PC, I'd suggest just using FXAA Quality with
#define FXAA_QUALITY__PRESET 10
#define FXAA_QUALITY_M_PRESET 10
Or
#define FXAA_QUALITY__PRESET 20
#define FXAA_QUALITY_M_PRESET 20
Either are higher qualilty and almost as fast as this on modern PC GPUs.
============================================================================*/
#if (FXAA_PC_CONSOLE == 1)
@@ -1704,7 +1704,7 @@ half4 FxaaPixelShader(
// (5)
half4 dir1_pos;
dir1_pos.xy = normalize(dir.xyz).xz;
half dirAbsMinTimesC = min(abs(dir1_pos.x), abs(dir1_pos.y)) * half(FXAA_CONSOLE__PS3_EDGE_SHARPNESS);
half dirAbsMinTimesC = min(abs(dir1_pos.x), abs(dir1_pos.y)) * half(FXAA_CONSOLE_M_PS3_EDGE_SHARPNESS);
/*--------------------------------------------------------------------------*/
// (6)
half4 dir2_pos;
@@ -2019,7 +2019,7 @@ half4 FxaaPixelShader(
// (6)
half4 dir1_pos;
dir1_pos.xy = normalize(dir).xz;
half dirAbsMinTimes8 = min(abs(dir1_pos.x), abs(dir1_pos.y)) * half(FXAA_CONSOLE__PS3_EDGE_SHARPNESS);
half dirAbsMinTimes8 = min(abs(dir1_pos.x), abs(dir1_pos.y)) * half(FXAA_CONSOLE_M_PS3_EDGE_SHARPNESS);
/*--------------------------------------------------------------------------*/
// (7)
half4 dir2_pos;
@@ -2061,7 +2061,7 @@ half4 FxaaPixelShader(
temp2N = h4tex2Dlod(tex, half4(temp2N.xy, 0.0, 0.0));
half4 rgby2;
rgby2.xy = dir2_pos.zw + dir2_pos.xy * fxaaConsoleRcpFrameOpt2.zw;
half lumaRangeM = (lumaMaxM - lumaMinM) / FXAA_CONSOLE__PS3_EDGE_THRESHOLD;
half lumaRangeM = (lumaMaxM - lumaMinM) / FXAA_CONSOLE_M_PS3_EDGE_THRESHOLD;
/*--------------------------------------------------------------------------*/
// (12)
rgby2 = h4tex2Dlod(tex, half4(rgby2.xy, 0.0, 0.0));

View File

@@ -23,7 +23,7 @@
* $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_texture_rectangle : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -31,8 +31,8 @@ out vec4 frag_color;
//class 1 -- no shadows
#extension GL_ARB_texture_rectangle : enable
#extension GL_ARB_shader_texture_lod : enable
//#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_shader_texture_lod : enable
uniform sampler2DRect diffuseRect;
uniform sampler2DRect specularRect;

View File

@@ -23,7 +23,7 @@
* $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_texture_rectangle : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -23,7 +23,7 @@
* $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_texture_rectangle : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -23,7 +23,7 @@
* $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_texture_rectangle : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -23,7 +23,7 @@
* $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_texture_rectangle : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -23,7 +23,7 @@
* $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_texture_rectangle : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -23,8 +23,8 @@
* $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
#extension GL_ARB_shader_texture_lod : enable
//#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_shader_texture_lod : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -23,8 +23,8 @@
* $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
#extension GL_ARB_shader_texture_lod : enable
//#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_shader_texture_lod : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -25,7 +25,7 @@
//class 1, no shadow, no SSAO, should never be called
#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_texture_rectangle : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -23,7 +23,7 @@
*/
#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_texture_rectangle : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -151,7 +151,7 @@ void main()
vec4 fb = texture2D(screenTex, distort);
frag_data[0] = vec4(linear_to_srgb(fb.rgb), 1.0); // diffuse
frag_data[0] = vec4(/*linear_to_srgb*/(fb.rgb), 1.0); // diffuse
frag_data[1] = vec4(0.5,0.5,0.5, 0.95); // speccolor*spec, spec
frag_data[2] = vec4(encode_normal(wavef), 0.0, 0.0); // normalxyz, displace
}

View File

@@ -23,7 +23,7 @@
* $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_texture_rectangle : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_data[3];

View File

@@ -5,7 +5,7 @@
* $License$
*/
#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_texture_rectangle : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -5,7 +5,7 @@
* $License$
*/
#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_texture_rectangle : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -5,7 +5,7 @@
* $License$
*/
#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_texture_rectangle : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -5,7 +5,7 @@
* $License$
*/
#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_texture_rectangle : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -1,4 +1,4 @@
#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_texture_rectangle : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -23,7 +23,7 @@
* $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_texture_rectangle : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -5,7 +5,7 @@
* $License$
*/
#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_texture_rectangle : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -23,7 +23,7 @@
* $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_texture_rectangle : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -29,7 +29,7 @@ out vec4 frag_color;
#define frag_color gl_FragColor
#endif
#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_texture_rectangle : enable
uniform sampler2D glowMap;
uniform sampler2DRect screenMap;

View File

@@ -23,7 +23,7 @@
* $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_texture_rectangle : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -23,7 +23,7 @@
* $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_texture_rectangle : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -23,8 +23,8 @@
* $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
#extension GL_ARB_shader_texture_lod : enable
//#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_shader_texture_lod : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -23,7 +23,7 @@
* $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_texture_rectangle : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -23,8 +23,8 @@
* $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
#extension GL_ARB_shader_texture_lod : enable
//#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_shader_texture_lod : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -23,7 +23,7 @@
* $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_texture_rectangle : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -22,7 +22,7 @@
* $/LicenseInfo$
*/
#extension GL_ARB_texture_rectangle : enable
//#extension GL_ARB_texture_rectangle : enable
#ifdef DEFINE_GL_FRAGCOLOR
out vec4 frag_color;

View File

@@ -1,4 +1,4 @@
version 27
version 28
// NOTE: This is mostly identical to featuretable_mac.txt with a few differences
// Should be combined into one table
@@ -301,7 +301,7 @@ RenderObjectBump 0 0
list OpenGLPre15
RenderVBOEnable 1 0
list Intel
list IntelPre30
RenderAnisotropic 1 0
// Avoid some Intel crashes on Linux
RenderCubeMap 0 0

View File

@@ -301,7 +301,11 @@ Intel Eaglelake .*Intel.*Eaglelake.* 0 1
Intel Graphics Media HD .*Intel.*Graphics Media.*HD.* 0 1
Intel HD Graphics 2000 .*Intel.*HD Graphics 2000.* 1 1
Intel HD Graphics 3000 .*Intel.*HD Graphics 3000.* 2 1
Intel HD Graphics 3000 .*Intel.*Sandybridge.* 2 1
Intel HD Graphics 4000 .*Intel.*HD Graphics 4000.* 2 1
Intel HD Graphics 4000 .*Intel.*Ivybridge.* 2 1
Intel HD Graphics 5000 .*Intel.*HD Graphics 5.* 2 1
Intel HD Graphics 5000 .*Intel.*Haswell.* 2 1
Intel HD Graphics .*Intel.*HD Graphics.* 2 1
Intel Mobile 4 Series .*Intel.*Mobile.* 4 Series.* 0 1
Intel Media Graphics HD .*Intel.*Media Graphics HD.* 0 1
@@ -312,6 +316,7 @@ Intel HD Graphics 2000 .*Intel.*HD2000.* 1 1
Intel HD Graphics 3000 .*Intel.*HD3000.* 2 1
Matrox .*Matrox.* 0 0
Mesa .*Mesa.* 0 0
Gallium .*Gallium.* 1 1
NVIDIA 205 .*NVIDIA .*GeForce 205.* 2 1
NVIDIA 210 .*NVIDIA .*GeForce 210.* 2 1
NVIDIA 310M .*NVIDIA .*GeForce 310M.* 1 1
@@ -407,6 +412,12 @@ NVIDIA GTX 670 .*NVIDIA .*GTX *67.* 3 1
NVIDIA GTX 680M .*NVIDIA .*GTX *680M.* 3 1
NVIDIA GTX 680 .*NVIDIA .*GTX *68.* 3 1
NVIDIA GTX 690 .*NVIDIA .*GTX *69.* 3 1
NVIDIA GTX 750 .*NVIDIA .*GTX *75.* 3 1
NVIDIA GTX 760 .*NVIDIA .*GTX *76.* 3 1
NVIDIA GTX 770 .*NVIDIA .*GTX *77.* 3 1
NVIDIA GTX 780 .*NVIDIA .*GTX *78.* 3 1
NVIDIA GTX TITAN .*NVIDIA .*GTX *TITAN.* 3 1
NVIDIA GT 7xxM .*NVIDIA .*GT *7.* 3 1
NVIDIA C51 .*NVIDIA .*C51.* 0 1
NVIDIA G72 .*NVIDIA .*G72.* 1 1
NVIDIA G73 .*NVIDIA .*G73.* 1 1

View File

@@ -16,6 +16,7 @@
#include "lltrans.h"
#include "llviewercontrol.h"
#include "llweb.h"
#include "aialert.h"
// ********************************************************************
// Global Variables
@@ -56,6 +57,7 @@ HippoGridInfo::HippoGridInfo(const std::string& gridName) :
mRenderCompat(true),
mInvLinks(false),
mAutoUpdate(false),
mLocked(false),
mMaxAgentGroups(-1),
mCurrencySymbol("OS$"),
mCurrencyText("OS Dollars"),
@@ -157,18 +159,34 @@ void HippoGridInfo::setGridNick(std::string gridNick)
}
}
void HippoGridInfo::useHttps()
{
// If the Login URI starts with "http:", replace that with "https:".
if (mLoginUri.substr(0, 5) == "http:")
{
mLoginUri = "https:" + mLoginUri.substr(5);
}
}
void HippoGridInfo::setLoginUri(const std::string& loginUri)
{
std::string uri = loginUri;
mLoginUri = sanitizeUri(uri);
if (utf8str_tolower(LLURI(uri).hostName()) == "login.agni.lindenlab.com")
mLoginUri = sanitizeUri(loginUri);
if (utf8str_tolower(LLURI(mLoginUri).hostName()) == "login.agni.lindenlab.com")
{
mIsInProductionGrid = true;
useHttps();
setPlatform(PLATFORM_SECONDLIFE);
}
if (utf8str_tolower(LLURI(uri).hostName()) == "login.avination.com" ||
utf8str_tolower(LLURI(uri).hostName()) == "login.avination.net")
if (utf8str_tolower(LLURI(mLoginUri).hostName()) == "login.aditi.lindenlab.com")
{
useHttps();
setPlatform(PLATFORM_SECONDLIFE);
}
if (utf8str_tolower(LLURI(mLoginUri).hostName()) == "login.avination.com" ||
utf8str_tolower(LLURI(mLoginUri).hostName()) == "login.avination.net")
{
mIsInAvination = true;
useHttps();
}
}
@@ -179,8 +197,7 @@ void HippoGridInfo::setLoginPage(const std::string& loginPage)
void HippoGridInfo::setHelperUri(const std::string& helperUri)
{
std::string uri = helperUri;
mHelperUri = sanitizeUri(uri);
mHelperUri = sanitizeUri(helperUri);
}
void HippoGridInfo::setWebSite(const std::string& website)
@@ -398,15 +415,13 @@ void HippoGridInfo::onXmlCharacterData(void* userData, const XML_Char* s, int le
case XML_LOGINURI:
{
std::string loginuri(s, len);
self->mLoginUri = sanitizeUri( loginuri );
self->setLoginUri(std::string(s, len));
break;
}
case XML_HELPERURI:
{
std::string helperuri(s, len);
self->mHelperUri = sanitizeUri( helperuri );
self->setHelperUri(std::string(s, len));
break;
}
@@ -437,24 +452,45 @@ void HippoGridInfo::onXmlCharacterData(void* userData, const XML_Char* s, int le
}
}
bool HippoGridInfo::retrieveGridInfo()
// Throws AIAlert::ErrorCode with the http status as 'code' (HTTP_OK on XML parse error).
void HippoGridInfo::getGridInfo()
{
if (mLoginUri == "") return false;
// If last character in uri is not "/"
std::string uri = mLoginUri;
if (uri.compare(uri.length()-1, 1, "/") != 0)
if (mLoginUri.empty())
{
uri += '/';
// By passing 0 we automatically get GridInfoErrorInstruction appended.
THROW_ALERTC(0, "GridInfoErrorNoLoginURI");
}
// Make sure the uri ends on a '/'.
std::string uri = mLoginUri;
if (uri.compare(uri.length() - 1, 1, "/") != 0)
{
uri += '/';
}
std::string reply;
int result = LLHTTPClient::blockingGetRaw(uri + "get_grid_info", reply);
if (result != 200) return false;
if (result != HTTP_OK)
{
char const* xml_desc;
switch (result)
{
case HTTP_NOT_FOUND:
xml_desc = "GridInfoErrorNotFound";
break;
case HTTP_METHOD_NOT_ALLOWED:
xml_desc = "GridInfoErrorNotAllowed";
break;
default:
xml_desc = "AIError";
break;
}
// LLHTTPClient::blockingGetRaw puts any error message in the reply.
THROW_ALERTC(result, xml_desc, AIArgs("[ERROR]", reply));
}
llinfos << "Received: " << reply << llendl;
bool success = true;
XML_Parser parser = XML_ParserCreate(0);
XML_SetUserData(parser, this);
XML_SetElementHandler(parser, onXmlElementStart, onXmlElementEnd);
@@ -462,15 +498,11 @@ bool HippoGridInfo::retrieveGridInfo()
mXmlState = XML_VOID;
if (!XML_Parse(parser, reply.data(), reply.size(), TRUE))
{
llwarns << "XML Parse Error: " << XML_ErrorString(XML_GetErrorCode(parser)) << llendl;
success = false;
THROW_ALERTC(HTTP_OK, "GridInfoParseError", AIArgs("[XML_ERROR]", XML_ErrorString(XML_GetErrorCode(parser))));
}
XML_ParserFree(parser);
return success;
}
std::string HippoGridInfo::getUploadFee() const
{
std::string fee;
@@ -558,22 +590,40 @@ const char* HippoGridInfo::getPlatformString(Platform platform)
}
// static
std::string HippoGridInfo::sanitizeUri(std::string &uri)
std::string HippoGridInfo::sanitizeUri(std::string const& uri_in)
{
// if (uri.empty()) {
// return "";
// }
std::string uri = uri_in;
// // If last character in uri is not "/"
// // NOTE: This wrongly assumes that all URIs should end with "/"!
// if (uri.compare(uri.length()-1, 1, "/") != 0) {
// return uri + '/';
// }
// Strip any leading and trailing spaces.
LLStringUtil::trim(uri);
// Only use https when it was entered.
bool use_https = uri.substr(0, 6) == "https:";
// Strip off attempts to use some prefix that is just wrong.
// We accept the following:
// "" (nothing)
// "http:" or "https:", optionally followed by one or more '/'.
std::string::size_type pos = uri.find_first_not_of("htps");
if (pos != std::string::npos && pos < 6 && uri[pos] == ':')
{
do { ++pos; } while(uri[pos] == '/');
uri = uri.substr(pos);
}
// Add (back) the prefix.
if (use_https)
{
uri = "https://" + uri;
}
else
{
uri = "http://" + uri;
}
return uri;
}
void HippoGridInfo::initFallback()
{
FALLBACK_GRIDINFO.setPlatform(PLATFORM_OPENSIM);
@@ -607,11 +657,6 @@ bool HippoGridInfo::getAutoUpdate()
return mAutoUpdate;
}
void HippoGridInfo::setAutoUpdate(bool b)
{
mAutoUpdate = b;
}
bool HippoGridInfo::getUPCSupported()
{
if(isSecondLife())
@@ -967,7 +1012,8 @@ void HippoGridManager::parseData(LLSD &gridInfo, bool mergeIfNewer)
if (gridMap.has("search")) grid->setSearchUrl(gridMap["search"]);
if (gridMap.has("render_compat")) grid->setRenderCompat(gridMap["render_compat"]);
if (gridMap.has("inventory_links")) grid->setSupportsInvLinks(gridMap["inventory_links"]);
if (gridMap.has("auto_update")) grid->setAutoUpdate(gridMap["auto_update"]);
if (gridMap.has("auto_update")) grid->mAutoUpdate = gridMap["auto_update"];
if (gridMap.has("locked")) grid->mLocked = gridMap["locked"];
if (newGrid) addGrid(grid);
}
}
@@ -1004,6 +1050,7 @@ void HippoGridManager::saveFile()
gridInfo[i]["render_compat"] = grid->isRenderCompat();
gridInfo[i]["inventory_links"] = grid->supportsInvLinks();
gridInfo[i]["auto_update"] = grid->getAutoUpdate();
gridInfo[i]["locked"] = grid->getLocked();
}
// write client grid info file

View File

@@ -22,6 +22,7 @@ class LLSD;
class HippoGridInfo
{
friend class HippoGridManager;
public:
enum Platform {
PLATFORM_OTHER = 0,
@@ -96,9 +97,9 @@ public:
bool supportsInvLinks();
void setSupportsInvLinks(bool b);
bool getAutoUpdate();
void setAutoUpdate(bool b);
bool getLocked() { return mLocked; }
bool retrieveGridInfo();
void getGridInfo();
static const char* getPlatformString(Platform platform);
static std::string sanitizeGridNick(const std::string &gridnick);
@@ -124,6 +125,7 @@ private:
bool mRenderCompat;
bool mInvLinks;
bool mAutoUpdate;
bool mLocked;
bool mUPCSupported;
int mMaxAgentGroups;
@@ -142,7 +144,8 @@ private:
};
XmlState mXmlState;
static std::string sanitizeUri(std::string &uri);
static std::string sanitizeUri(std::string const& uri_in);
void useHttps(void);
void formatFee(std::string &fee, int cost, bool showFree) const;
static void onXmlElementStart(void* userData, const XML_Char* name, const XML_Char** atts);

View File

@@ -42,7 +42,7 @@
#include "lluictrlfactory.h"
#include "llviewerwindow.h"
#include "llnotificationsutil.h"
#include "llhttpstatuscodes.h"
// ********************************************************************
@@ -61,6 +61,7 @@ class HippoPanelGridsImpl : public HippoPanelGrids
enum State { NORMAL, ADD_NEW, ADD_COPY };
State mState;
std::string mCurGrid;
bool mIsEditable;
void loadCurGrid();
bool saveCurGrid();
@@ -78,6 +79,8 @@ class HippoPanelGridsImpl : public HippoPanelGrids
static void onClickGridInfo(void *data);
static void onClickHelpRenderCompat(void *data);
static void onClickAdvanced(void *data);
void enableEditing(bool);
};
@@ -103,7 +106,7 @@ HippoPanelGrids *HippoPanelGrids::create()
HippoPanelGridsImpl::HippoPanelGridsImpl() :
mState(NORMAL)
mState(NORMAL), mIsEditable(true)
{
LLUICtrlFactory::getInstance()->buildPanel(this, "panel_preferences_grids.xml");
}
@@ -152,7 +155,7 @@ BOOL HippoPanelGridsImpl::postBuild()
childSetCommitCallback("grid_selector", onSelectGrid, this);
childSetCommitCallback("platform", onSelectPlatform, this);
// !!!### server_choice_combo->setFocusLostCallback(onServerComboLostFocus);
reset();
@@ -194,27 +197,10 @@ void HippoPanelGridsImpl::refresh()
childSetTextArg("default_grid", "[DEFAULT]", (defaultGrid != "")? defaultGrid: " ");
childSetEnabled("btn_delete", (selectIndex >= 0));
childSetEnabled("btn_delete", (selectIndex >= 0) && mIsEditable );
childSetEnabled("btn_copy", (mState == NORMAL) && (selectIndex >= 0));
childSetEnabled("btn_default", (mState == NORMAL) && (selectIndex > 0));
childSetEnabled("gridname", (mState == ADD_NEW) || (mState == ADD_COPY));
if (childGetValue("platform").asString() == "SecondLife") {
// disable platform selector, if logged into the grid edited and it is SL
// so object export restrictions cannot be circumvented by changing the platform
bool enablePlatform = (LLStartUp::getStartupState() < STATE_LOGIN_CLEANUP) ||
(mCurGrid != gHippoGridManager->getConnectedGrid()->getGridName());
childSetEnabled("platform", enablePlatform);
childSetEnabled("search", false);
childSetText("search", LLStringExplicit(""));
childSetEnabled("render_compat", false);
childSetValue("render_compat", false);
} else {
childSetEnabled("platform", true);
childSetEnabled("search", true);
childSetText("search", gHippoGridManager->getConnectedGrid()->getSearchUrl());
childSetEnabled("render_compat", true);
}
childSetEnabled("gridname", (mState == ADD_NEW) || (mState == ADD_COPY));
}
@@ -256,9 +242,11 @@ void HippoPanelGridsImpl::loadCurGrid()
childSetText("helperuri", gridInfo->getHelperUri());
childSetText("website", gridInfo->getWebSite());
childSetText("support", gridInfo->getSupportUrl());
childSetText("search", gridInfo->getSearchUrl());
childSetText("register", gridInfo->getRegisterUrl());
childSetText("password", gridInfo->getPasswordUrl());
childSetValue("render_compat", gridInfo->isRenderCompat());
enableEditing(!gridInfo->getLocked());
} else {
std::string empty = "";
LLComboBox *platform = getChild<LLComboBox>("platform");
@@ -269,10 +257,11 @@ void HippoPanelGridsImpl::loadCurGrid()
childSetText("helperuri", empty);
childSetText("website", empty);
childSetText("support", empty);
childSetText("search", empty);
childSetText("register", empty);
childSetText("password", empty);
childSetEnabled("render_compat", true);
childSetValue("render_compat", true);
enableEditing(true);
}
if (mState == ADD_NEW) {
@@ -281,6 +270,7 @@ void HippoPanelGridsImpl::loadCurGrid()
childSetText("loginuri", required);
} else if (mState == ADD_COPY) {
childSetText("gridname", std::string("<required>"));
enableEditing(true);
} else if (mState != NORMAL) {
llwarns << "Illegal state " << mState << '.' << llendl;
}
@@ -294,7 +284,7 @@ bool HippoPanelGridsImpl::saveCurGrid()
HippoGridInfo *gridInfo = 0;
gridInfo = gHippoGridManager->getGrid(mCurGrid);
//gridInfo->retrieveGridInfo();
//gridInfo->getGridInfo();
refresh();
std::string gridname = childGetValue("gridname");
@@ -333,9 +323,30 @@ bool HippoPanelGridsImpl::saveCurGrid()
mCurGrid = gridname;
gridInfo = new HippoGridInfo(gridname);
gHippoGridManager->addGrid(gridInfo);
gridInfo->retrieveGridInfo();
try
{
gridInfo->getGridInfo();
}
catch (AIAlert::ErrorCode const& error)
{
if (error.getCode() == HTTP_NOT_FOUND || error.getCode() == HTTP_METHOD_NOT_ALLOWED)
{
// Ignore this error; it might be a user entered entry for a grid that has no get_grid_info support.
llwarns << AIAlert::text(error) << llendl;
}
else if (error.getCode() == HTTP_OK)
{
// XML parse error.
AIAlert::add("GridInfoError", error);
}
else
{
// Append GridInfoErrorInstruction to error message.
AIAlert::add("GridInfoError", AIAlert::Error(AIAlert::Prefix(), AIAlert::not_modal, error, "GridInfoErrorInstruction"));
}
}
}
if (!gridInfo) {
llwarns << "Grid not found, ignoring changes." << llendl;
return true;
@@ -394,7 +405,10 @@ void HippoPanelGridsImpl::retrieveGridInfo()
}
grid->setLoginUri(loginuri);
if (grid->retrieveGridInfo()) {
try
{
grid->getGridInfo();
if (grid->getPlatform() != HippoGridInfo::PLATFORM_OTHER)
getChild<LLComboBox>("platform")->setCurrentByIndex(grid->getPlatform());
if (grid->getGridName() != "") childSetText("gridname", grid->getGridName());
@@ -407,10 +421,20 @@ void HippoPanelGridsImpl::retrieveGridInfo()
if (grid->getPasswordUrl() != "") childSetText("password", grid->getPasswordUrl());
if (grid->getSearchUrl() != "") childSetText("search", grid->getSearchUrl());
if (grid->getGridMessage() != "") childSetText("gridmessage", grid->getGridMessage());
} else {
LLNotificationsUtil::add("GridInfoError");
}
catch(AIAlert::ErrorCode const& error)
{
if (error.getCode() == HTTP_METHOD_NOT_ALLOWED || error.getCode() == HTTP_OK)
{
AIAlert::add("GridInfoError", error);
}
else
{
// Append GridInfoErrorInstruction to error message.
AIAlert::add("GridInfoError", AIAlert::Error(AIAlert::Prefix(), AIAlert::not_modal, error, "GridInfoErrorInstruction"));
}
}
if (cleanupGrid) delete grid;
}
@@ -472,8 +496,10 @@ void HippoPanelGridsImpl::onClickDefault(void *data)
{
HippoPanelGridsImpl *self = (HippoPanelGridsImpl*)data;
if (self->mState == NORMAL) {
self->saveCurGrid();
gHippoGridManager->setDefaultGrid(self->mCurGrid);
if (self->saveCurGrid())
{
gHippoGridManager->setDefaultGrid(self->mCurGrid);
}
self->refresh();
}
}
@@ -538,3 +564,31 @@ void HippoPanelGridsImpl::onClickHelpRenderCompat(void *data)
{
LLNotificationsUtil::add("HelpRenderCompat");
}
void HippoPanelGridsImpl::enableEditing(bool b)
{
static const char * elements [] = {
"platform",
"gridname",
"loginuri",
"loginpage",
"helperuri",
"website",
"support",
"register",
"password",
"search",
"btn_delete",
"btn_gridinfo",
"render_compat",
"gridmessage",
0
};
for(int i = 0; elements[i]; ++i ) {
this->childSetEnabled(elements[i], b);
}
mIsEditable = b;
}

View File

@@ -77,7 +77,9 @@ fi
export SDL_VIDEO_X11_DGAMOUSE=0
## - Works around a problem with misconfigured 64-bit systems not finding GL
export LIBGL_DRIVERS_PATH="${LIBGL_DRIVERS_PATH}":/usr/lib64/dri:/usr/lib32/dri:/usr/lib/dri
# This is less needed nowadays; don't uncomment this unless LibGL can't find your
# drivers automatically.
#export LIBGL_DRIVERS_PATH="${LIBGL_DRIVERS_PATH}":/usr/lib64/dri:/usr/lib32/dri:/usr/lib/dri
## - The 'scim' GTK IM module widely crashes the viewer. Avoid it.
if [ "$GTK_IM_MODULE" = "scim" ]; then

View File

@@ -84,6 +84,7 @@
#include "llworld.h"
#include "llworldmap.h"
#include "llworldmapmessage.h"
#include "../lscript/lscript_byteformat.h"
//Misc non-standard includes
#include "llurldispatcher.h"
@@ -3061,7 +3062,7 @@ LLQuaternion LLAgent::getHeadRotation()
return rot;
}
void LLAgent::sendAnimationRequests(LLDynamicArray<LLUUID> &anim_ids, EAnimRequest request)
void LLAgent::sendAnimationRequests(const std::vector<LLUUID> &anim_ids, EAnimRequest request)
{
if (gAgentID.isNull())
{
@@ -3076,7 +3077,7 @@ void LLAgent::sendAnimationRequests(LLDynamicArray<LLUUID> &anim_ids, EAnimReque
msg->addUUIDFast(_PREHASH_AgentID, getID());
msg->addUUIDFast(_PREHASH_SessionID, getSessionID());
for (S32 i = 0; i < anim_ids.count(); i++)
for (U32 i = 0; i < anim_ids.size(); i++)
{
if (anim_ids[i].isNull())
{
@@ -3118,6 +3119,55 @@ void LLAgent::sendAnimationRequest(const LLUUID &anim_id, EAnimRequest request)
sendReliableMessage();
}
// Send a message to the region to stop the NULL animation state
// This will reset animation state overrides for the agent.
void LLAgent::sendAnimationStateReset()
{
if (gAgentID.isNull() || !mRegionp)
{
return;
}
LLMessageSystem* msg = gMessageSystem;
msg->newMessageFast(_PREHASH_AgentAnimation);
msg->nextBlockFast(_PREHASH_AgentData);
msg->addUUIDFast(_PREHASH_AgentID, getID());
msg->addUUIDFast(_PREHASH_SessionID, getSessionID());
msg->nextBlockFast(_PREHASH_AnimationList);
msg->addUUIDFast(_PREHASH_AnimID, LLUUID::null );
msg->addBOOLFast(_PREHASH_StartAnim, FALSE);
msg->nextBlockFast(_PREHASH_PhysicalAvatarEventList);
msg->addBinaryDataFast(_PREHASH_TypeData, NULL, 0);
sendReliableMessage();
}
// Send a message to the region to revoke sepecified permissions on ALL scripts in the region
// If the target is an object in the region, permissions in scripts on that object are cleared.
// If it is the region ID, all scripts clear the permissions for this agent
void LLAgent::sendRevokePermissions(const LLUUID & target, U32 permissions)
{
// Currently only the bits for SCRIPT_PERMISSION_TRIGGER_ANIMATION and SCRIPT_PERMISSION_OVERRIDE_ANIMATIONS
// are supported by the server. Sending any other bits will cause the message to be dropped without changing permissions
if (gAgentID.notNull() && gMessageSystem)
{
LLMessageSystem* msg = gMessageSystem;
msg->newMessageFast(_PREHASH_RevokePermissions);
msg->nextBlockFast(_PREHASH_AgentData);
msg->addUUIDFast(_PREHASH_AgentID, getID()); // Must be our ID
msg->addUUIDFast(_PREHASH_SessionID, getSessionID());
msg->nextBlockFast(_PREHASH_Data);
msg->addUUIDFast(_PREHASH_ObjectID, target); // Must be in the region
msg->addU32Fast(_PREHASH_ObjectPermissions, permissions);
sendReliableMessage();
}
}
// [RLVa:KB] - Checked: 2011-05-11 (RLVa-1.3.0i) | Added: RLVa-1.3.0i
void LLAgent::setAlwaysRun()
{
@@ -4338,6 +4388,8 @@ void LLAgent::stopCurrentAnimations()
// avatar, propagating this change back to the server.
if (isAgentAvatarValid())
{
std::vector<LLUUID> anim_ids;
for ( LLVOAvatar::AnimIterator anim_it =
gAgentAvatarp->mPlayingAnimations.begin();
anim_it != gAgentAvatarp->mPlayingAnimations.end();
@@ -4355,7 +4407,24 @@ void LLAgent::stopCurrentAnimations()
// stop this animation locally
gAgentAvatarp->stopMotion(anim_it->first, TRUE);
// ...and tell the server to tell everyone.
sendAnimationRequest(anim_it->first, ANIM_REQUEST_STOP);
anim_ids.push_back(anim_it->first);
}
}
sendAnimationRequests(anim_ids, ANIM_REQUEST_STOP);
// Tell the region to clear any animation state overrides
sendAnimationStateReset();
// Revoke all animation permissions
if (mRegionp &&
gSavedSettings.getBOOL("RevokePermsOnStopAnimation"))
{
U32 permissions = LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_TRIGGER_ANIMATION] | LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_OVERRIDE_ANIMATIONS];
sendRevokePermissions(mRegionp->getRegionID(), permissions);
if (gAgentAvatarp->isSitting())
{ // Also stand up, since auto-granted sit animation permission has been revoked
gAgent.standUp();
}
}

View File

@@ -464,8 +464,11 @@ public:
void stopCurrentAnimations();
void requestStopMotion(LLMotion* motion);
void onAnimStop(const LLUUID& id);
void sendAnimationRequests(LLDynamicArray<LLUUID> &anim_ids, EAnimRequest request);
void sendAnimationRequests(const std::vector<LLUUID> &anim_ids, EAnimRequest request);
void sendAnimationRequest(const LLUUID &anim_id, EAnimRequest request);
void sendAnimationStateReset();
void sendRevokePermissions(const LLUUID & target, U32 permissions);
void endAnimationUpdateUI();
void unpauseAnimation() { mPauseRequest = NULL; }
BOOL getCustomAnim() const { return mCustomAnim; }

View File

@@ -40,7 +40,8 @@
#include "llappviewerwin32.h"
#include "llwindowwin32.cpp" // *FIX: for setting gIconResource.
#include "llwindowwin32.h" // *FIX: for setting gIconResource.
#include "llgl.h"
#include "res/resource.h" // *FIX: for setting gIconResource.
#include <fcntl.h> //_O_APPEND
@@ -52,6 +53,11 @@
#include "llviewercontrol.h"
#include "lldxhardware.h"
#include "nvapi/nvapi.h"
#include "nvapi/NvApiDriverSettings.h"
#include <stdlib.h>
#include "llweb.h"
#include "llsecondlifeurls.h"
@@ -79,6 +85,19 @@ extern "C" {
const std::string LLAppViewerWin32::sWindowClass = "Second Life";
/*
This function is used to print to the command line a text message
describing the nvapi error and quits
*/
void nvapi_error(NvAPI_Status status)
{
NvAPI_ShortString szDesc = {0};
NvAPI_GetErrorMessage(status, szDesc);
llwarns << szDesc << llendl;
//should always trigger when asserts are enabled
//llassert(status == NVAPI_OK);
}
// Create app mutex creates a unique global windows object.
// If the object can be created it returns true, otherwise
@@ -101,6 +120,79 @@ bool create_app_mutex()
return result;
}
void ll_nvapi_init(NvDRSSessionHandle hSession)
{
// (2) load all the system settings into the session
NvAPI_Status status = NvAPI_DRS_LoadSettings(hSession);
if (status != NVAPI_OK)
{
nvapi_error(status);
return;
}
NvAPI_UnicodeString profile_name;
//std::string app_name = LLTrans::getString("APP_NAME");
std::string app_name("Second Life"); // <alchemy/>
llutf16string w_app_name = utf8str_to_utf16str(app_name);
wsprintf(profile_name, L"%s", w_app_name.c_str());
status = NvAPI_DRS_SetCurrentGlobalProfile(hSession, profile_name);
if (status != NVAPI_OK)
{
nvapi_error(status);
return;
}
// (3) Obtain the current profile.
NvDRSProfileHandle hProfile = 0;
status = NvAPI_DRS_GetCurrentGlobalProfile(hSession, &hProfile);
if (status != NVAPI_OK)
{
nvapi_error(status);
return;
}
// load settings for querying
status = NvAPI_DRS_LoadSettings(hSession);
if (status != NVAPI_OK)
{
nvapi_error(status);
return;
}
//get the preferred power management mode for Second Life
NVDRS_SETTING drsSetting = {0};
drsSetting.version = NVDRS_SETTING_VER;
status = NvAPI_DRS_GetSetting(hSession, hProfile, PREFERRED_PSTATE_ID, &drsSetting);
if (status == NVAPI_SETTING_NOT_FOUND)
{ //only override if the user hasn't specifically set this setting
// (4) Specify that we want the VSYNC disabled setting
// first we fill the NVDRS_SETTING struct, then we call the function
drsSetting.version = NVDRS_SETTING_VER;
drsSetting.settingId = PREFERRED_PSTATE_ID;
drsSetting.settingType = NVDRS_DWORD_TYPE;
drsSetting.u32CurrentValue = PREFERRED_PSTATE_PREFER_MAX;
status = NvAPI_DRS_SetSetting(hSession, hProfile, &drsSetting);
if (status != NVAPI_OK)
{
nvapi_error(status);
return;
}
// (5) Now we apply (or save) our changes to the system
status = NvAPI_DRS_SaveSettings(hSession);
if (status != NVAPI_OK)
{
nvapi_error(status);
return;
}
}
else if (status != NVAPI_OK)
{
nvapi_error(status);
return;
}
}
//#define DEBUGGING_SEH_FILTER 1
#if DEBUGGING_SEH_FILTER
# define WINMAIN DebuggingWinMain
@@ -157,6 +249,27 @@ int APIENTRY WINMAIN(HINSTANCE hInstance,
return -1;
}
NvAPI_Status status;
// Initialize NVAPI
status = NvAPI_Initialize();
NvDRSSessionHandle hSession = 0;
if (status == NVAPI_OK)
{
// Create the session handle to access driver settings
status = NvAPI_DRS_CreateSession(&hSession);
if (status != NVAPI_OK)
{
nvapi_error(status);
}
else
{
//override driver setting as needed
ll_nvapi_init(hSession);
}
}
// Have to wait until after logging is initialized to display LFH info
if (num_heaps > 0)
{
@@ -224,6 +337,15 @@ int APIENTRY WINMAIN(HINSTANCE hInstance,
LLAppViewer::sUpdaterInfo = NULL ;
}
// (NVAPI) (6) We clean up. This is analogous to doing a free()
if (hSession)
{
NvAPI_DRS_DestroySession(hSession);
hSession = 0;
}
return 0;
}

View File

@@ -68,6 +68,12 @@ public:
msg += ": " + content["message"].asString();
}
llinfos << msg << llendl;
if (content.has("report_id"))
{
gSavedSettings.setS32("CrashReportID", content["report_id"].asInteger());
}
}
virtual AIHTTPTimeoutPolicy const& getHTTPTimeoutPolicy(void) const

View File

@@ -626,6 +626,10 @@ void LLFeatureManager::applyBaseMasks()
{
maskFeatures("GeForceFX");
}
if (gGLManager.mIsIntel && gGLManager.mGLVersion<3.0f)
{
maskFeatures("IntelPre30");
}
if (gGLManager.mIsIntel)
{
maskFeatures("Intel");

View File

@@ -37,7 +37,7 @@
#include "llfloaterfriends.h"
#include "llsdutil_math.h"
#include "llagent.h"
#include "llavataractions.h"
#include "llavatarnamecache.h"

View File

@@ -1062,7 +1062,7 @@ void LLFolderViewItem::draw()
&& root_is_loading
&& mShowLoadStatus))
{
std::string load_string = " ( " + LLTrans::getString("LoadingData") + " ) ";
static std::string const load_string = " ( " + LLTrans::getString("LoadingData") + " ) ";
font->renderUTF8(load_string, 0, right_x, y, sSearchStatusColor,
LLFontGL::LEFT, LLFontGL::BOTTOM, LLFontGL::NORMAL, LLFontGL::NO_SHADOW,
S32_MAX, S32_MAX, &right_x, FALSE);

View File

@@ -88,6 +88,7 @@
//
const char* DEFAULT_DESC = "(No Description)";
const F32 DELAY_BEFORE_SHOW_TIP = 0.35f;
const F32 DELAY_BEFORE_REFRESH_TIP = 0.50f;
//
// Local globals
@@ -113,6 +114,9 @@ LLHoverView::LLHoverView(const std::string& name, const LLRect& rect)
mUseHover = TRUE;
mTyping = FALSE;
mHoverOffset.clearVec();
//<singu>
mLastTextHoverObject = NULL;
//</singu>
}
LLHoverView::~LLHoverView()
@@ -139,6 +143,9 @@ void LLHoverView::updateHover(LLTool* current_tool)
mStartHoverPickTimer = TRUE;
// Clear the existing text so that we do not briefly show the wrong data.
mText.clear();
//<singu>
mLastTextHoverObject = NULL;
//</singu>
}
if (mDoneHoverPick)
@@ -222,6 +229,18 @@ void LLHoverView::updateText()
LLViewerObject* hit_object = getLastHoverObject();
std::string line;
//<singu>
if (hit_object == mLastTextHoverObject &&
!(mLastTextHoverObjectTimer.getStarted() && mLastTextHoverObjectTimer.hasExpired()))
{
// mText is already up to date.
return;
}
mLastTextHoverObject = hit_object;
mLastTextHoverObjectTimer.stop();
bool retrieving_data = false;
//</singu>
mText.clear();
if ( hit_object )
{
@@ -403,6 +422,7 @@ void LLHoverView::updateText()
else
{
line.append(LLTrans::getString("RetrievingData"));
retrieving_data = true;
}
}
else
@@ -417,12 +437,14 @@ void LLHoverView::updateText()
else
{
line.append(LLTrans::getString("RetrievingData"));
retrieving_data = true;
}
}
}
else
{
line.append(LLTrans::getString("RetrievingData"));
retrieving_data = true;
}
mText.push_back(line);
@@ -514,6 +536,7 @@ void LLHoverView::updateText()
{
LLStringUtil::format_map_t args;
args["[MESSAGE]"] = LLTrans::getString("RetrievingData");
retrieving_data = true;
line.append(LLTrans::getString("TooltipForSaleMsg", args));
}
mText.push_back(line);
@@ -604,6 +627,7 @@ void LLHoverView::updateText()
else
{
line.append(LLTrans::getString("RetrievingData"));
retrieving_data = true;
}
}
else if(gCacheName->getFullName(owner, name))
@@ -616,11 +640,13 @@ void LLHoverView::updateText()
else
{
line.append(LLTrans::getString("RetrievingData"));
retrieving_data = true;
}
}
else
{
line.append(LLTrans::getString("RetrievingData"));
retrieving_data = true;
}
mText.push_back(line);
@@ -699,8 +725,15 @@ void LLHoverView::updateText()
mText.push_back(line);
}
}
}
//<singu>
if (retrieving_data)
{
// Keep doing this twice per second, until all data was retrieved.
mLastTextHoverObjectTimer.start(DELAY_BEFORE_REFRESH_TIP);
}
//</singu>
}
void LLHoverView::draw()
{

View File

@@ -105,6 +105,8 @@ protected:
// If not null and not dead, we're over an object.
LLPointer<LLViewerObject> mLastHoverObject;
LLViewerObject* mLastTextHoverObject; // Singu extension: the value of mLastHoverObject that corresponds to mText.
LLFrameTimer mLastTextHoverObjectTimer; // Singu extension: times how long ago the text was updated (while retrieving data).
LLPickInfo mLastPickInfo;
// If not LLVector3d::ZERO, we're over land.

View File

@@ -1414,7 +1414,7 @@ void LLMeshUploadThread::preStart()
AIMeshUpload::AIMeshUpload(LLMeshUploadThread::instance_list& data, LLVector3& scale, bool upload_textures, bool upload_skin, bool upload_joints, std::string const& upload_url, bool do_upload,
LLHandle<LLWholeModelFeeObserver> const& fee_observer, LLHandle<LLWholeModelUploadObserver> const& upload_observer) :
#ifdef CWDEBUG
#if defined(CWDEBUG) || defined(DEBUG_CURLIO)
AIStateMachine(false),
#endif
mMeshUpload(new AIStateMachineThread<LLMeshUploadThread>(CWD_ONLY(false))), mWholeModelUploadURL(upload_url)

View File

@@ -1038,8 +1038,10 @@ void LLPanelLogin::onSelectGrid(LLUICtrl *ctrl)
{
HippoGridInfo* info(new HippoGridInfo("")); // Start off with empty grid name, otherwise we don't know what to name
info->setLoginUri(grid);
if (info->retrieveGridInfo()) // There's info from this URI
try
{
info->getGridInfo();
grid = info->getGridName();
if (HippoGridInfo* nick_info = gHippoGridManager->getGrid(info->getGridNick())) // Grid of same nick exists
{
@@ -1051,8 +1053,23 @@ void LLPanelLogin::onSelectGrid(LLUICtrl *ctrl)
gHippoGridManager->addGrid(info); // deletes info if not needed (existing or no name)
}
}
else
catch(AIAlert::ErrorCode const& error)
{
// Inform the user of the problem, but only if something was entered that at least looks like a Login URI.
std::string::size_type pos1 = grid.find('.');
std::string::size_type pos2 = grid.find_last_of(".:");
if (grid.substr(0, 4) == "http" || (pos1 != std::string::npos && pos1 != pos2))
{
if (error.getCode() == HTTP_METHOD_NOT_ALLOWED || error.getCode() == HTTP_OK)
{
AIAlert::add("GridInfoError", error);
}
else
{
// Append GridInfoErrorInstruction to error message.
AIAlert::add("GridInfoError", AIAlert::Error(AIAlert::Prefix(), AIAlert::not_modal, error, "GridInfoErrorInstruction"));
}
}
delete info;
grid = gHippoGridManager->getCurrentGridName();
}

View File

@@ -45,7 +45,8 @@ typedef std::map<std::string, std::string> controller_map_t;
typedef std::map<std::string, F32> default_controller_map_t;
#define MIN_REQUIRED_PIXEL_AREA_AVATAR_PHYSICS_MOTION 0.f
#define TIME_ITERATION_STEP 0.1f
#define TIME_ITERATION_STEP 0.05f
#define MINIMUM_UPDATE_TIMESTEP 0.025f
inline F64 llsgn(const F64 a)
{
@@ -592,7 +593,7 @@ BOOL LLPhysicsMotion::onUpdate(F32 time)
const F32 time_delta = time - mLastTime;
// Don't update too frequently, to avoid precision errors from small time slices.
if (time_delta <= .01)
if (time_delta <= MINIMUM_UPDATE_TIMESTEP)
{
return FALSE;
}
@@ -889,4 +890,4 @@ void LLPhysicsMotion::reset()
mCharacter->setVisualParamWeight((*iter).mParam,(*iter).mParam->getDefaultWeight());
}
}
}
}

View File

@@ -45,6 +45,7 @@
#include "llagentcamera.h"
#include "llbutton.h"
#include "llviewercontrol.h"
#include "llviewerkeyboard.h"
#include "lldrawable.h"
#include "llhoverview.h"
#include "llhudmanager.h"
@@ -312,9 +313,15 @@ BOOL LLToolCamera::handleMouseUp(S32 x, S32 y, MASK mask)
return TRUE;
}
static bool right_hold_mouse_walk=false;
BOOL LLToolCamera::handleHover(S32 x, S32 y, MASK mask)
{
if(right_hold_mouse_walk)
{
agent_push_forward(KEYSTATE_LEVEL);
}
S32 dx = gViewerWindow->getCurrentMouseDX();
S32 dy = gViewerWindow->getCurrentMouseDY();
@@ -449,8 +456,36 @@ BOOL LLToolCamera::handleHover(S32 x, S32 y, MASK mask)
return TRUE;
}
BOOL LLToolCamera::handleRightMouseDown(S32 x, S32 y, MASK mask)
{
if(mMouseSteering)
{
agent_push_forward(KEYSTATE_DOWN);
right_hold_mouse_walk = true;
return TRUE;
}
else
{
return FALSE;
}
}
BOOL LLToolCamera::handleRightMouseUp(S32 x, S32 y, MASK mask)
{
if(mMouseSteering || right_hold_mouse_walk)
{
agent_push_forward(KEYSTATE_UP);
right_hold_mouse_walk = false;
return TRUE;
}
else
{
return FALSE;
}
}
void LLToolCamera::onMouseCaptureLost()
{
releaseMouse();
handleRightMouseUp(0,0,0);
}

View File

@@ -47,6 +47,8 @@ public:
virtual BOOL handleMouseDown(S32 x, S32 y, MASK mask);
virtual BOOL handleMouseUp(S32 x, S32 y, MASK mask);
virtual BOOL handleHover(S32 x, S32 y, MASK mask);
virtual BOOL handleRightMouseDown(S32 x, S32 y, MASK mask);
virtual BOOL handleRightMouseUp(S32 x, S32 y, MASK mask);
virtual void onMouseCaptureLost();

View File

@@ -298,6 +298,11 @@ LLUserAuth::UserAuthcode LLUserAuth::authResponse()
// if curl was ok, parse the download area.
CURLcode result = mResponder->result_code();
if (is_internal_http_error(mResponder->http_status()))
{
// result can be a meaningless CURLE_OK in the case of an internal error.
result = CURLE_FAILED_INIT; // Just some random error to get the default case below.
}
switch (result)
{
case CURLE_OK:

View File

@@ -725,6 +725,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot, boo
static LLCullResult result;
LLViewerCamera::sCurCameraID = LLViewerCamera::CAMERA_WORLD;
LLPipeline::sUnderWaterRender = LLViewerCamera::getInstance()->cameraUnderWater() ? TRUE : FALSE;
gPipeline.updateCull(*LLViewerCamera::getInstance(), result, water_clip);
stop_glerror();
@@ -949,7 +950,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot, boo
{
gGL.setColorMask(true, true);
if (LLPipeline::sRenderDeferred && !LLPipeline::sUnderWaterRender)
if (LLPipeline::sRenderDeferred)
{
gPipeline.mDeferredScreen.bindTarget();
glClearColor(1,0,1,1);
@@ -1035,7 +1036,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot, boo
}
gGL.setColorMask(true, false);
if (LLPipeline::sRenderDeferred && !LLPipeline::sUnderWaterRender)
if (LLPipeline::sRenderDeferred)
{
gPipeline.renderGeomDeferred(*LLViewerCamera::getInstance());
}
@@ -1071,7 +1072,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot, boo
if (to_texture)
{
if (LLPipeline::sRenderDeferred && !LLPipeline::sUnderWaterRender)
if (LLPipeline::sRenderDeferred)
{
gPipeline.mDeferredScreen.flush();
if(gPipeline.mDeferredScreen.getFBO())
@@ -1098,7 +1099,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot, boo
}
//gGL.flush();
if (LLPipeline::sRenderDeferred && !LLPipeline::sUnderWaterRender)
if (LLPipeline::sRenderDeferred)
{
gPipeline.renderDeferredLighting();
}

View File

@@ -94,4 +94,5 @@ protected:
extern LLViewerKeyboard gViewerKeyboard;
extern bool isCrouch;
void agent_push_forward(EKeystate s);
#endif // LL_LLVIEWERKEYBOARD_H

View File

@@ -4150,6 +4150,7 @@ void reset_view_final( BOOL proceed )
}
gAgentCamera.resetView(TRUE, TRUE);
gAgentCamera.setLookAt(LOOKAT_TARGET_CLEAR);
gSavedSettings.setBOOL("SinguMotionResetsCamera", true);
if(gAgentCamera.cameraCustomizeAvatar() && LLFloaterCustomize::instanceExists())
LLFloaterCustomize::getInstance()->close();

View File

@@ -1219,6 +1219,12 @@ S32 LLViewerTextureList::getMinVideoRamSetting()
// Returns max setting for TextureMemory (in MB)
S32 LLViewerTextureList::getMaxVideoRamSetting(bool get_recommended)
{
#if LL_LINUX
if (gGLManager.mIsIntel && gGLManager.mGLVersion >= 3.f && !gGLManager.mVRAM)
{
gGLManager.mVRAM = 512;
}
#endif
S32 max_texmem;
if (gGLManager.mVRAM != 0)
{

View File

@@ -60,6 +60,7 @@
#include "llaudioengine.h" // mute on minimize
#include "llassetstorage.h"
#include "llfontgl.h"
#include "llfontfreetype.h"
#include "llmousehandler.h"
#include "llrect.h"
#include "llsky.h"
@@ -2798,7 +2799,7 @@ BOOL LLViewerWindow::handleKey(KEY key, MASK mask)
case KEY_RIGHT:
case KEY_UP:
case KEY_DOWN:
if (mask & MASK_CONTROL)
if (mask == MASK_CONTROL)
break;
case KEY_PAGE_UP:
case KEY_PAGE_DOWN:
@@ -4231,7 +4232,7 @@ BOOL LLViewerWindow::mousePointOnLandGlobal(const S32 x, const S32 y, LLVector3d
LLVector3 probe_point_region;
// walk forwards to find the point
for (mouse_dir_scale = FIRST_PASS_STEP; mouse_dir_scale < gAgentCamera.mDrawDistance; mouse_dir_scale += FIRST_PASS_STEP)
for (mouse_dir_scale = FIRST_PASS_STEP; mouse_dir_scale < gAgentCamera.mDrawDistance * 4; mouse_dir_scale += FIRST_PASS_STEP)
{
LLVector3d mouse_direction_global_d;
mouse_direction_global_d.setVec(mouse_direction_global * mouse_dir_scale);

View File

@@ -116,6 +116,7 @@
#include "aifile.h"
#include "llavatarname.h"
#include "../lscript/lscript_byteformat.h"
#include "hippogridmanager.h"
@@ -6606,14 +6607,8 @@ void LLVOAvatar::getOffObject()
if (sit_object && !sit_object->permYouOwner() && gSavedSettings.getBOOL("RevokePermsOnStandUp"))
{
gMessageSystem->newMessageFast(_PREHASH_RevokePermissions);
gMessageSystem->nextBlockFast(_PREHASH_AgentData);
gMessageSystem->addUUIDFast(_PREHASH_AgentID, gAgent.getID());
gMessageSystem->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID());
gMessageSystem->nextBlockFast(_PREHASH_Data);
gMessageSystem->addUUIDFast(_PREHASH_ObjectID, sit_object->getID());
gMessageSystem->addU32Fast(_PREHASH_ObjectPermissions, 0xFFFFFFFF);
gAgent.sendReliableMessage();
U32 permissions = LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_TRIGGER_ANIMATION] | LSCRIPTRunTimePermissionBits[SCRIPT_PERMISSION_OVERRIDE_ANIMATIONS];
gAgent.sendRevokePermissions(sit_object->getID(), permissions);
}
}
}

View File

@@ -168,7 +168,7 @@ void XMLRPCResponder::completed_headers(U32 status, std::string const& reason, A
void XMLRPCResponder::completedRaw(U32 status, std::string const& reason, LLChannelDescriptors const& channels, buffer_ptr_t const& buffer)
{
if (mCode == CURLE_OK)
if (mCode == CURLE_OK && !is_internal_http_error(status))
{
mBufferSize = buffer->count(channels.in());
if (200 <= status && status < 400)

View File

@@ -138,8 +138,8 @@ TOOLMEDIAOPEN CURSOR "toolmediaopen.cur"
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,8,4,5433
PRODUCTVERSION 1,8,4,5433
FILEVERSION ${vMAJOR},${vMINOR},${vPATCH},${vBUILD}
PRODUCTVERSION ${vMAJOR},${vMINOR},${vPATCH},${vBUILD}
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -156,12 +156,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "Siana Gearz"
VALUE "FileDescription", "Singularity Viewer"
VALUE "FileVersion", "1.8.4.5433"
VALUE "FileVersion", "${vMAJOR}.${vMINOR}.${vPATCH}.${vBUILD}"
VALUE "InternalName", "Second Life"
VALUE "LegalCopyright", "Copyright © 2001-2010, Linden Research, Inc., Copyright 2010 Siana Gearz"
VALUE "OriginalFilename", "SingularityViewer.exe"
VALUE "ProductName", "Singularity Viewer"
VALUE "ProductVersion", "1.8.4.5433"
VALUE "ProductVersion", "${vMAJOR}.${vMINOR}.${vPATCH}.${vBUILD}"
END
END
BLOCK "VarFileInfo"

View File

@@ -138,8 +138,8 @@ TOOLMEDIAOPEN CURSOR "toolmediaopen.cur"
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,8,4,5433
PRODUCTVERSION 1,8,4,5433
FILEVERSION ${vMAJOR},${vMINOR},${vPATCH},${vBUILD}
PRODUCTVERSION ${vMAJOR},${vMINOR},${vPATCH},${vBUILD}
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -156,12 +156,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "Siana Gearz"
VALUE "FileDescription", "Singularity Viewer"
VALUE "FileVersion", "1.8.4.5433"
VALUE "FileVersion", "${vMAJOR}.${vMINOR}.${vPATCH}.${vBUILD}"
VALUE "InternalName", "Second Life"
VALUE "LegalCopyright", "Copyright © 2001-2010, Linden Research, Inc., Copyright 2010 Siana Gearz"
VALUE "OriginalFilename", "SingularityViewer.exe"
VALUE "ProductName", "Singularity Viewer"
VALUE "ProductVersion", "1.8.4.5433"
VALUE "ProductVersion", "${vMAJOR}.${vMINOR}.${vPATCH}.${vBUILD}"
END
END
BLOCK "VarFileInfo"

View File

@@ -2,13 +2,10 @@
<floater name="floater_about" title="Über Singularity">
<tab_container name="about_tab">
<panel label="Info" name="support_panel">
<button label="In Zwischenablage kopieren" name="copy_btn"/>
</panel>
</tab_container>
<panel label="Würdigung" name="credits_panel"/>
<panel label="Lizenzen" name="licenses_panel"/>
</tab_container>
<string name="you_are_at">Sie befinden sich in [POSITION]</string>
</floater>

View File

@@ -237,7 +237,7 @@ Um direkt zu kaufen, klicken Sie auf dem betreffenden Land in der Titelleiste au
<button tooltip="Zurücksetzen" name="reset_btn"/>
<button tool_tip="Zurücksetzen" name="reset_btn"/>
<web_browser name="market_browser" trusted_content="true"/>
<string name="loading_text">Wird geladen...</string>

View File

@@ -280,7 +280,7 @@ Um direkt zu kaufen, klicken Sie auf dem betreffenden Land in der Titelleiste au
<button tooltip="Zurücksetzen" name="reset_btn"/>
<button tool_tip="Zurücksetzen" name="reset_btn"/>
<web_browser name="market_browser" trusted_content="true"/>
<string name="loading_text">Wird geladen...</string>

View File

@@ -8,6 +8,6 @@
</menu>
<menu label="Hilfe" name="Help">
<menu_item_call label="Hilfe zu Snowglobe/Second Life" name="Second Life Help"/>
<menu_item_call label="Über Snowglobe..." name="About Second Life..."/>
<menu_item_call label="Über [APP_NAME]..." name="About Second Life..."/>
</menu>
</menu_bar>

View File

@@ -257,7 +257,7 @@
<menu_item_call label="Singularity Problem berichten..." name="Report Singularity Bug..."/>
<menu_item_call label="Neue Funktionalität nachfragen..." name="Request New Feature..."/>
</menu>
<menu_item_call label="Über Snowglobe..." name="About Second Life..."/>
<menu_item_call label="Über [APP_NAME]..." name="About Second Life..."/>
</menu>
<menu label="Singularity" name="Singularity">
<menu_item_call label="Alle Dialoge schließen" name="Close All Dialogs"/>

View File

@@ -1860,8 +1860,6 @@ Ein Grid mit dem gleichen Namen existiert bereits.</notification>
<notification name="GridInfoNoLoginUri">Eine Login URI wird ben&#xF6;tigt um die Grid Informationen ab zu rufen.</notification>
<notification name="GridInfoError">Grid Info kann nicht vom Server abgerufen werden.</notification>
<notification name="HelpRenderCompat">Bauten mit erweiterten Hohlr&#xE4;umen oder erweiterten Lochgr&#xF6;&#xDF;en werden auf anderen Viewern oft nicht korrekt gerendert. Bitte lassen Sie diese Option aktivuert, wenn Sie Ihren Bauten auch auf anderen Viewern korrekt anzeigen lassen wollen.</notification>
<notification name="ExportFailed">Fehlende Berechtigung zum Exportieren vom Objekt. Exportieren abgebrochen.</notification>

View File

@@ -9,6 +9,7 @@
<string name="hippo_label_week">week</string>
<string name="TeleportOfferMaturity">[NAME] is offering a TP to [DESTINATION]</string>
<string name="TeleportLureMaturity">[NAME]'s teleport lure is to [DESTINATION]</string>
<string name="GridInfoError">Grid Info kann nicht vom Server abgerufen werden:</string>
<!-- Default Args - these arguments will be replaced in all strings -->
<string name="SECOND_LIFE">Second Life</string>

View File

@@ -626,7 +626,7 @@ To buy direct, visit the land and click on the place name in the title bar.
<button bottom="-30" follows="top|left" height="25" label="" left="10" name="back_btn" width="25" image_overlay="go-previous.png"/>
<button bottom_delta="0" follows="top|left" height="25" label="" left_delta="27" name="forward_btn" width="25" image_overlay="go-next.png" />
<button bottom_delta="0" follows="top|left" height="25" label="" left_delta="27" name="reload_btn" width="25" image_overlay="view-refresh-5.png"/>
<button bottom_delta="0" follows="top|left" height="25" label="" tooltip="reset" left_delta="27" name="reset_btn" width="25" image_overlay="go-reload.png"/>
<button bottom_delta="0" follows="top|left" height="25" label="" tool_tip="reset" left_delta="27" name="reset_btn" width="25" image_overlay="go-reload.png"/>
<web_browser name="market_browser" trusted_content="true" bottom="25" follows="all" left="10" right="-10" top="-40"/>
<text bottom="5" follows="bottom|left" left="10" height="16" name="status_text"/>
<string name="loading_text">Loading...</string>

View File

@@ -749,7 +749,7 @@ To buy direct, visit the land and click on the place name in the title bar.
<button bottom="-30" follows="top|left" height="25" label="" left="10" name="back_btn" width="25" image_overlay="go-previous.png"/>
<button bottom_delta="0" follows="top|left" height="25" label="" left_delta="27" name="forward_btn" width="25" image_overlay="go-next.png" />
<button bottom_delta="0" follows="top|left" height="25" label="" left_delta="27" name="reload_btn" width="25" image_overlay="go-reload.png"/>
<button bottom_delta="0" follows="top|left" height="25" label="" tooltip="reset" left_delta="27" name="reset_btn" width="25" image_overlay="go-home.png"/>
<button bottom_delta="0" follows="top|left" height="25" label="" tool_tip="reset" left_delta="27" name="reset_btn" width="25" image_overlay="go-home.png"/>
<web_browser name="market_browser" trusted_content="true" bottom="25" follows="all" left="10" right="-10" top="-40"/>
<text bottom="5" follows="bottom|left" left="10" height="16" name="status_text"/>
<string name="loading_text">Loading...</string>

View File

@@ -60,7 +60,7 @@ Try saving image as 24 bit Targa (.tga).
<check_box bottom="37" control_name="TemporaryUpload" enabled="true"
follows="bottom|left" font="SansSerifSmall" height="16"
initial_value="false" label="Temporary (Free)"
left_delta="155" name="temp_check" width="280" tooltip="Sets the asset to be temporary, meaning its free, but in return, only good for a short time before it ceases to exist." />
left_delta="155" name="temp_check" width="280" tool_tip="Sets the asset to be temporary, meaning its free, but in return, only good for a short time before it ceases to exist." />
<button bottom="10" follows="bottom|right" height="20" label="Cancel" left="165"
name="cancel_btn" width="125" />
<button bottom="10" follows="bottom|left" height="20" label="Upload ([UPLOADFEE])"

View File

@@ -3,13 +3,13 @@
can_resize="true" enabled="true" follows="left|top" height="550" left="306"
min_height="271" min_width="290" mouse_opaque="true" name="script ed float"
rect_control="FloaterOpenObjectRect" title="Script: New Script" width="500" border_drop_shadow_visible="false" border_visible="false" bevel_style="none" border_style="line" border_thickness="0">
<button bottom="-545" enabled="true" follows="right|bottom" font="SansSerif"
halign="center" height="20" label="Reset" label_selected="Reset" left="362"
<button bottom="-538" enabled="true" follows="right|bottom" font="SansSerif"
halign="center" height="20" label="Reset" label_selected="Reset" left="358"
mouse_opaque="true" name="Reset" width="128" />
<check_box bottom="-545" enabled="false" follows="left|bottom" font="SansSerif"
<check_box bottom="-540" enabled="false" follows="left|bottom" font="SansSerif"
height="18" initial_value="true" label="Running" left="12"
mouse_opaque="true" name="running" radio_style="false" width="100" />
<check_box bottom="-545" enabled="false" follows="left|bottom" font="SansSerif"
<check_box bottom="-540" enabled="false" follows="left|bottom" font="SansSerif"
height="18" hidden="false" initial_value="true" label="Mono" left="82"
mouse_opaque="true" name="mono" radio_style="false" width="100" />
<panel bottom="-524" enabled="true" follows="left|top|right|bottom" height="506"

View File

@@ -1,46 +1,46 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater bottom="-197" can_close="true" can_drag_on_left="false" can_minimize="false"
can_resize="false" enabled="true" height="180" left="439" min_height="100"
can_resize="false" enabled="true" height="158" left="439" min_height="100"
min_width="100" mouse_opaque="true" name="Give Money"
rect_control="FloaterPayRectB" title="" width="300">
<button bottom="-74" enabled="true" font="SansSerif" halign="center" height="20"
<button bottom="-54" enabled="true" font="SansSerif" halign="center" height="20"
label="L$1" label_selected="L$1" left="108" mouse_opaque="true"
name="fastpay 1" scale_image="true" width="80" />
<button bottom="-74" enabled="true" font="SansSerif" halign="center" height="20"
<button bottom="-54" enabled="true" font="SansSerif" halign="center" height="20"
label="L$5" label_selected="L$5" left="203" mouse_opaque="true"
name="fastpay 5" scale_image="true" width="80" />
<button bottom="-98" enabled="true" font="SansSerif" halign="center" height="20"
<button bottom="-78" enabled="true" font="SansSerif" halign="center" height="20"
label="L$10" label_selected="L$10" left="108" mouse_opaque="true"
name="fastpay 10" scale_image="true" width="80" />
<button bottom="-98" enabled="true" font="SansSerif" halign="center" height="20"
<button bottom="-78" enabled="true" font="SansSerif" halign="center" height="20"
label="L$20" label_selected="L$20" left="203" mouse_opaque="true"
name="fastpay 20" scale_image="true" width="80" />
<button bottom="-162" enabled="false" font="SansSerif" halign="center" height="20"
<button bottom="-142" enabled="false" font="SansSerif" halign="center" height="20"
label="Pay" label_selected="Pay" left="140" mouse_opaque="true"
name="pay btn" scale_image="true" width="70" />
<button bottom="-162" enabled="true" font="SansSerif" halign="center" height="20"
<button bottom="-142" enabled="true" font="SansSerif" halign="center" height="20"
label="Cancel" label_selected="Cancel" left="213" mouse_opaque="true"
name="cancel btn" scale_image="true" width="70" />
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-25" drop_shadow_visible="true" enabled="true" follows="left|top"
font="SansSerif" h_pad="0" halign="left" height="18" left="8"
mouse_opaque="true" name="payee_label" v_pad="0" width="75">
name="payee_label" v_pad="0" width="75">
Pay resident:
</text>
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-25" drop_shadow_visible="true" enabled="true" follows="left|top"
font="SansSerif" h_pad="0" halign="left" height="18" left="85"
mouse_opaque="true" name="payee_name" v_pad="0" width="210">
name="payee_name" v_pad="0" width="210">
[NAME]
</text>
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-72" drop_shadow_visible="true" enabled="true" follows="left|top"
bottom="-52" drop_shadow_visible="true" enabled="true" follows="left|top"
font="SansSerif" h_pad="0" halign="right" height="18" left="5"
mouse_opaque="true" name="fastpay text" v_pad="0" width="95">
name="fastpay text" v_pad="0" width="95">
Fast Pay:
</text>
<text name="message text"
bottom="-130" left="12" height="18" width="60"
bottom="-110" left="12" height="18" width="60"
follows="left|top" font="SansSerif">
Message:
</text>
@@ -49,12 +49,12 @@
bevel_style="in" border_style="line" border_thickness="1"
follows="left|top|right" font="SansSerif" spell_check="true" />
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-162" drop_shadow_visible="true" enabled="true" follows="left|top"
bottom="-142" drop_shadow_visible="true" enabled="true" follows="left|top"
font="SansSerif" h_pad="0" halign="left" height="18" left="12"
mouse_opaque="true" name="amount text" v_pad="0" width="75">
name="amount text" v_pad="0" width="75">
Amount:
</text>
<line_editor bevel_style="in" border_style="line" border_thickness="1" bottom="-160"
<line_editor bevel_style="in" border_style="line" border_thickness="1" bottom="-140"
enabled="true" follows="left|top|right" font="SansSerif"
handle_edit_keys_directly="false" height="18" left="81" max_length="9"
mouse_opaque="true" name="amount" select_all_on_focus_received="false"

View File

@@ -1,48 +1,48 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater bottom="-521" can_close="true" can_drag_on_left="false" can_minimize="false"
can_resize="false" enabled="true" height="140" left="690" min_height="100"
can_resize="false" enabled="true" height="148" left="690" min_height="100"
min_width="100" mouse_opaque="true" name="Give Money"
rect_control="FloaterPayRectB" title="" width="300">
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-25" drop_shadow_visible="true" enabled="true" follows="left|top"
font="SansSerif" h_pad="0" halign="right" height="18" left="5"
mouse_opaque="true" name="payee_group" v_pad="0" width="75">
name="payee_group" v_pad="0" width="75">
Pay group:
</text>
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom_delta="0" drop_shadow_visible="true" enabled="true"
follows="left|top" font="SansSerif" h_pad="0" halign="right" height="18"
left="5" mouse_opaque="true" name="payee_resident" v_pad="0" width="75">
left="5" name="payee_resident" v_pad="0" width="75">
Pay resident:
</text>
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-25" drop_shadow_visible="true" enabled="true" follows="left|top"
font="SansSerif" h_pad="0" halign="left" height="18" left="85"
mouse_opaque="true" name="payee_name" v_pad="0" width="210">
name="payee_name" v_pad="0" width="210">
[NAME]
</text>
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-50" drop_shadow_visible="true" enabled="true" follows="left|top"
font="SansSerif" h_pad="0" halign="right" height="18" left="5"
mouse_opaque="true" name="object_name_label" v_pad="0" width="75">
name="object_name_label" v_pad="0" width="75">
Via object:
</text>
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-50" drop_shadow_visible="true" enabled="true" follows="left|top"
font="SansSerif" h_pad="0" halign="left" height="18" left="85"
mouse_opaque="true" name="object_name_text" v_pad="0" width="210">
name="object_name_text" v_pad="0" width="210">
...
</text>
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-72" drop_shadow_visible="true" enabled="true" follows="left|top"
font="SansSerif" h_pad="0" halign="right" height="18" left="5"
mouse_opaque="true" name="fastpay text" v_pad="0" width="75">
name="fastpay text" v_pad="0" width="75">
Fast Pay:
</text>
<text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
bottom="-130" drop_shadow_visible="true" enabled="true" follows="left|top"
font="SansSerif" h_pad="0" halign="right" height="18" left="5"
mouse_opaque="true" name="amount text" v_pad="0" width="75">
name="amount text" v_pad="0" width="75">
Amount:
</text>
<button bottom="-74" enabled="true" font="SansSerif" halign="center" height="20"

View File

@@ -25,7 +25,7 @@
mouse_opaque="true" name="Second Life Help" shortcut="F1" width="166">
<on_click function="ShowFloater" userdata="help f1" />
</menu_item_call>
<menu_item_call bottom="-48" enabled="true" height="19" label="About Singularity..." left="0"
<menu_item_call bottom="-48" enabled="true" height="19" label="About [APP_NAME]..." left="0"
mouse_opaque="true" name="About Second Life..." width="166">
<on_click function="ShowFloater" userdata="about" />
</menu_item_call>

View File

@@ -981,7 +981,7 @@
<on_click function="PromptShowURL" name="RequestFeature_url" userdata="WebLaunchSinguIssue,http://code.google.com/p/singularity-viewer/issues/entry?template=Feature%20request"/>
</menu_item_call>
</menu>
<menu_item_call bottom="-313" enabled="true" height="19" label="About Singularity..." left="0"
<menu_item_call bottom="-313" enabled="true" height="19" label="About [APP_NAME]..." left="0"
mouse_opaque="true" name="About Second Life..." width="166">
<on_click function="ShowFloater" userdata="about" />
</menu_item_call>

View File

@@ -5801,13 +5801,6 @@ A grid with the same nickname already exists.
A login URI is required to retrieve the grid info.
</notification>
<notification
icon="alertmodal.tga"
name="GridInfoError"
type="alertmodal">
Cannot retrieve grid info from server.
</notification>
<notification
icon="alertmodal.tga"
name="HelpRenderCompat"

View File

@@ -13,6 +13,15 @@
<string name="TeleportLureMaturity">
[NAME]'s teleport lure is to [DESTINATION]
</string>
<string name="GridInfoError">Cannot retrieve grid info from server:</string>
<!-- The following entry starts and ends with a ", this is to allow the newline at the beginning. It also requires to use \" for quotes within. -->
<string name="GridInfoErrorInstruction">"
Make sure you entered the correct Login URI. An example of a Login URI is: \"http://cool.grid.com:8002/\", this url can usually be found on the website of the grid."
</string>
<string name="GridInfoErrorNoLoginURI">A login URI is required to retrieve the Grid Info.</string>
<string name="GridInfoErrorNotFound">404 Page not found</string>
<string name="GridInfoErrorNotAllowed">This grid does not support retrieving 'Grid Info'</string>
<string name="GridInfoParseError">XML Parse Error: [XML_ERROR]</string>
<!-- Default Args - these arguments will be replaced in all strings -->
<string name="SECOND_LIFE">Second Life</string>
@@ -4369,9 +4378,11 @@ Try enclosing path to the editor with double quotes.
<string name="completed_from">Teleport completed from</string>
<!-- AIAlert messages -->
<!-- These two do not need translation ;) -->
<string name="AIError">"\"[ERROR]\""</string>
<string name="AIPrefix">"[PREFIX]: "</string>
<!-- AIFile exception alerts -->
<!-- AIFile exception alerts -->
<string name="AIFile_mkdir_Failed_to_create_DIRNAME">Failed to create folder [DIRNAME]: [ERROR]</string>
<string name="AIFile_rmdir_Failed_to_remove_DIRNAME">Failed to remove folder [DIRNAME]: [ERROR]</string>
<string name="AIFile_fopen_Failed_to_open_FILENAME">Failed to open file "[FILENAME]": [ERROR]</string>

View File

@@ -1,13 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floater_about" title="Acerca de Singularity Viewer">
<tab_container name="about_tab">
<panel label="Información" help_topic="about_support_tab" name="support_panel">
<button label="Copiar al portapapeles" name="copy_btn"/>
</panel>
<panel label="Créditos" help_topic="about_credits_tab" name="credits_panel"/>
<panel label="Licencias" name="licenses_panel"/>
</tab_container>
<string name="you_are_at">Estás en [POSITION]</string>
<tab_container name="about_tab">
<panel label="Información" name="support_panel">
<button label="Copiar al portapapeles" name="copy_btn"/>
</panel>
<panel label="Créditos" name="credits_panel"/>
<panel label="Licencias" name="licenses_panel"/>
</tab_container>
<string name="you_are_at">Estás en [POSITION]</string>
</floater>

View File

@@ -488,7 +488,7 @@ subasta. Para comprarlo directamente, visítalo y pulsa en el nombre del terreno
<button label="" name="back_btn"/>
<button label="" name="forward_btn"/>
<button label="" name="reload_btn"/>
<button label="" tooltip="restablecer" name="reset_btn"/>
<button label="" tool_tip="restablecer" name="reset_btn"/>
<web_browser name="market_browser"/>
<text name="status_text"/>
<string name="loading_text">Cargando...</string>

View File

@@ -135,7 +135,7 @@
<button label="Activar" name="activate_btn"/>
<text_editor name="voice_morphing_link">
Suscríbete ahora
</text>
</text_editor>
<scroll_list name="voice_effect_list" tool_tip="Graba una muestra de tu voz y pulsa en un efecto para ver cómo suena.">
<scroll_list.columns label="Nombre de la voz" name="name"/>
<scroll_list.columns label="Caduca" name="expires"/>

View File

@@ -8,6 +8,6 @@
</menu>
<menu name="Help" label="Ayuda" >
<menu_item_call name="Second Life Help" label="Ayuda de Second Life"/>
<menu_item_call name="About Second Life..." label="Acerca de Singularity..."/>
<menu_item_call name="About Second Life..." label="Acerca de [APP_NAME]..."/>
</menu>
</menu_bar>

View File

@@ -211,7 +211,7 @@
<menu_item_call label="Informar Fallos de Singularity..." name="Report Singularity Bug..."/>
<menu_item_call label="Solicitar Nueva Característica..." name="Request New Feature..."/>
</menu>
<menu_item_call label="Acerca de Singularity..." name="About Second Life..."/>
<menu_item_call label="Acerca de [APP_NAME]..." name="About Second Life..."/>
</menu>
<!-- ============================= -->
<menu label="Singularity" name="Singularity">

View File

@@ -3262,11 +3262,7 @@ Ya existe un grid con el mismo nombre.
<notification name="GridInfoNoLoginUri">
Se requiere un URI de inicio de sesión para recuperar la información del grid.
</notification>
<notification name="GridInfoError">
No se puede recuperar la información del grid desde el servidor.
</notification>
<notification name="HelpRenderCompat">
Las construcciones con huecos extendidos o tamaños de agujeros extendidos no se renderizarán adecuadamente en otros visores. Por favor, mantén esta opción marcada si quieres que tus construcciones se vean adecuadamente in otros visores.
</notification>

View File

@@ -9,6 +9,7 @@
<string name="hippo_label_week">semana</string>
<string name="TeleportOfferMaturity">[NAME] te ofrece un TP a [DESTINATION]</string>
<string name="TeleportLureMaturity">[NAME] te ofrece una invitación de teleporte a [DESTINATION]</string>
<string name="GridInfoError">No se puede recuperar la información del grid desde el servidor:</string>
<!-- Default Args - these arguments will be replaced in all strings -->
<string name="SECOND_LIFE">Second Life</string>

View File

@@ -1,13 +1,11 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floater_about" title="A propos de Singularity">
<tab_container name="about_tab">
<panel label="Info" help_topic="about_support_tab" name="support_panel">
<button label="Copier dans le presse-papier" name="copy_btn"/>
</panel>
<panel label="Credits" help_topic="about_credits_tab" name="credits_panel"/>
<panel label="Licenses" name="licenses_panel"/>
</tab_container>
<panel label="Remerciements" name="credits_panel"/>
<panel label="Licenses" name="licenses_panel"/>
</tab_container>
<string name="you_are_at">You are at [POSITION]</string>
</floater>

View File

@@ -49,7 +49,7 @@
Sauvegarder en Targa 24 bits (.tga).
</text>
<check_box label="Compression sans perte" name="lossless_check"/>
<check_box label="Temporaire (Gratuit)" name="temp_check" tooltip="chargement gratuit mais qui disparaitra &#xE0; votre de&#xE9;connection."/>
<check_box label="Temporaire (Gratuit)" name="temp_check" tool_tip="chargement gratuit mais qui disparaitra &#xE0; votre de&#xE9;connection."/>
<button label="Annuler" name="cancel_btn"/>
<button label="Charger ([UPLOADFEE])" name="ok_btn"/>
</floater>

View File

@@ -152,7 +152,7 @@
</flyout_button_item>
</flyout_button>
<button label="Annuler" name="discard_btn" left="133" width="72" />
<check_box label="Image Temporaire (Gratuit)" name="temp_check" tooltip="Comme toute image temporaire elle disparaitra à votre deconnection."/>
<check_box label="Image Temporaire (Gratuit)" name="temp_check" tool_tip="Comme toute image temporaire elle disparaitra à votre deconnection."/>
<string name="unknown">
inconnu
</string>

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