Merge remote-tracking branch 'upstream/master'
This commit is contained in:
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
@@ -0,0 +1 @@
|
||||
* text=auto
|
||||
@@ -53,6 +53,11 @@ find_path(FMODEX_INCLUDE_DIR fmod.h
|
||||
${FMODEX_SDK_DIR}
|
||||
)
|
||||
|
||||
if(DARWIN)
|
||||
set(FMODEX_ORIG_LIBRARY "${FMODEX_LIBRARY}")
|
||||
set(FMODEX_LIBRARY "${CMAKE_CURRENT_BINARY_DIR}/libfmodex.dylib")
|
||||
endif(DARWIN)
|
||||
|
||||
if (FMODEX_LIBRARY AND FMODEX_INCLUDE_DIR)
|
||||
set(FMODEX ON CACHE BOOL "Use closed source FMOD Ex sound library.")
|
||||
else (FMODEX_LIBRARY AND FMODEX_INCLUDE_DIR)
|
||||
|
||||
@@ -400,7 +400,7 @@ LLAudioStreamManagerFMODEX::LLAudioStreamManagerFMODEX(FMOD::System *system, con
|
||||
exinfo.cbsize = sizeof(exinfo);
|
||||
exinfo.suggestedsoundtype = FMOD_SOUND_TYPE_OGGVORBIS; //Hint to speed up loading.*/
|
||||
|
||||
FMOD_RESULT result = mSystem->createStream(url.c_str(), FMOD_2D | FMOD_NONBLOCKING | FMOD_IGNORETAGS, 0, &mInternetStream);
|
||||
FMOD_RESULT result = mSystem->createStream(url.c_str(), FMOD_2D | FMOD_NONBLOCKING | FMOD_MPEGSEARCH | FMOD_IGNORETAGS, 0, &mInternetStream);
|
||||
|
||||
if (result!= FMOD_OK)
|
||||
{
|
||||
|
||||
@@ -183,6 +183,10 @@ BOOL LLFastTimer::sMetricLog = FALSE;
|
||||
LLMutex* LLFastTimer::sLogLock = NULL;
|
||||
std::queue<LLSD> LLFastTimer::sLogQueue;
|
||||
|
||||
#if LL_WINDOWS
|
||||
#define USE_RDTSC 1
|
||||
#endif
|
||||
|
||||
std::vector<LLFastTimer::FrameState>* LLFastTimer::sTimerInfos = NULL;
|
||||
U64 LLFastTimer::sTimerCycles = 0;
|
||||
U32 LLFastTimer::sTimerCalls = 0;
|
||||
@@ -380,7 +384,9 @@ void LLFastTimer::updateCachedPointers()
|
||||
}
|
||||
|
||||
// See lltimer.cpp.
|
||||
#if LL_LINUX || LL_DARWIN || LL_SOLARIS
|
||||
#if USE_RDTSC
|
||||
std::string LLFastTimer::sClockType = "rdtsc";
|
||||
#elif LL_LINUX || LL_DARWIN || LL_SOLARIS
|
||||
std::string LLFastTimer::sClockType = "gettimeofday";
|
||||
#elif LL_WINDOWS
|
||||
std::string LLFastTimer::sClockType = "QueryPerformanceCounter";
|
||||
@@ -391,6 +397,9 @@ std::string LLFastTimer::sClockType = "QueryPerformanceCounter";
|
||||
//static
|
||||
U64 LLFastTimer::countsPerSecond() // counts per second for the *32-bit* timer
|
||||
{
|
||||
#if USE_RDTSC
|
||||
static U64 sCPUClockFrequency = U64(LLProcessorInfo().getCPUFrequency()*1000000.0);
|
||||
#else
|
||||
static bool firstcall = true;
|
||||
static U64 sCPUClockFrequency;
|
||||
if (firstcall)
|
||||
@@ -398,6 +407,7 @@ U64 LLFastTimer::countsPerSecond() // counts per second for the *32-bit* timer
|
||||
sCPUClockFrequency = calc_clock_frequency();
|
||||
firstcall = false;
|
||||
}
|
||||
#endif
|
||||
return sCPUClockFrequency >> 8;
|
||||
}
|
||||
|
||||
@@ -937,6 +947,38 @@ LLFastTimer::LLFastTimer(LLFastTimer::FrameState* state)
|
||||
// Important note: These implementations must be FAST!
|
||||
//
|
||||
|
||||
#if USE_RDTSC
|
||||
U32 LLFastTimer::getCPUClockCount32()
|
||||
{
|
||||
U32 ret_val;
|
||||
__asm
|
||||
{
|
||||
_emit 0x0f
|
||||
_emit 0x31
|
||||
shr eax,8
|
||||
shl edx,24
|
||||
or eax, edx
|
||||
mov dword ptr [ret_val], eax
|
||||
}
|
||||
return ret_val;
|
||||
}
|
||||
|
||||
// return full timer value, *not* shifted by 8 bits
|
||||
U64 LLFastTimer::getCPUClockCount64()
|
||||
{
|
||||
U64 ret_val;
|
||||
__asm
|
||||
{
|
||||
_emit 0x0f
|
||||
_emit 0x31
|
||||
mov eax,eax
|
||||
mov edx,edx
|
||||
mov dword ptr [ret_val+4], edx
|
||||
mov dword ptr [ret_val], eax
|
||||
}
|
||||
return ret_val;
|
||||
}
|
||||
#else
|
||||
//LL_COMMON_API U64 get_clock_count(); // in lltimer.cpp
|
||||
// These use QueryPerformanceCounter, which is arguably fine and also works on AMD architectures.
|
||||
U32 LLFastTimer::getCPUClockCount32()
|
||||
@@ -948,4 +990,4 @@ U64 LLFastTimer::getCPUClockCount64()
|
||||
{
|
||||
return get_clock_count();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -53,7 +53,7 @@ std::string ll_safe_string(const char* in)
|
||||
|
||||
std::string ll_safe_string(const char* in, S32 maxlen)
|
||||
{
|
||||
if(in) return std::string(in, maxlen);
|
||||
if(in && maxlen > 0) return std::string(in, maxlen);
|
||||
return std::string();
|
||||
}
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
|
||||
const S32 LL_VERSION_MAJOR = 1;
|
||||
const S32 LL_VERSION_MINOR = 7;
|
||||
const S32 LL_VERSION_PATCH = 0;
|
||||
const S32 LL_VERSION_PATCH = 1;
|
||||
const S32 LL_VERSION_BUILD = ${vBUILD};
|
||||
|
||||
const char * const LL_CHANNEL = "${VIEWER_CHANNEL}";
|
||||
|
||||
@@ -59,7 +59,6 @@ protected:
|
||||
LLGLEnable mColorMaterial;
|
||||
LLGLDisable mAlphaTest, mBlend, mCullFace, mDither, mFog,
|
||||
mLineSmooth, mLineStipple, mNormalize, mPolygonSmooth,
|
||||
mTextureGenQ, mTextureGenR, mTextureGenS, mTextureGenT,
|
||||
mGLMultisample;
|
||||
public:
|
||||
LLGLSDefault()
|
||||
@@ -76,10 +75,6 @@ public:
|
||||
mLineStipple(GL_LINE_STIPPLE),
|
||||
mNormalize(GL_NORMALIZE),
|
||||
mPolygonSmooth(GL_POLYGON_SMOOTH),
|
||||
mTextureGenQ(GL_TEXTURE_GEN_Q),
|
||||
mTextureGenR(GL_TEXTURE_GEN_R),
|
||||
mTextureGenS(GL_TEXTURE_GEN_S),
|
||||
mTextureGenT(GL_TEXTURE_GEN_T),
|
||||
mGLMultisample(GL_MULTISAMPLE_ARB)
|
||||
{ }
|
||||
};
|
||||
|
||||
@@ -1451,6 +1451,16 @@ void LLRender::matrixMode(U32 mode)
|
||||
mMatrixMode = mode;
|
||||
}
|
||||
|
||||
U32 LLRender::getMatrixMode()
|
||||
{
|
||||
if (mMatrixMode >= MM_TEXTURE0 && mMatrixMode <= MM_TEXTURE3)
|
||||
{ //always return MM_TEXTURE if current matrix mode points at any texture matrix
|
||||
return MM_TEXTURE;
|
||||
}
|
||||
return mMatrixMode;
|
||||
}
|
||||
|
||||
|
||||
void LLRender::loadIdentity()
|
||||
{
|
||||
flush();
|
||||
|
||||
@@ -345,6 +345,7 @@ public:
|
||||
void loadIdentity();
|
||||
void multMatrix(const GLfloat* m);
|
||||
void matrixMode(U32 mode);
|
||||
U32 getMatrixMode();
|
||||
|
||||
const glh::matrix4f& getModelviewMatrix();
|
||||
const glh::matrix4f& getProjectionMatrix();
|
||||
|
||||
@@ -69,6 +69,12 @@ LLModalDialog::~LLModalDialog()
|
||||
{
|
||||
gFocusMgr.unlockFocus();
|
||||
}
|
||||
|
||||
std::list<LLModalDialog*>::iterator iter = std::find(sModalStack.begin(), sModalStack.end(), this);
|
||||
if (iter != sModalStack.end())
|
||||
{
|
||||
llerrs << "Attempt to delete dialog while still in sModalStack!" << llendl;
|
||||
}
|
||||
}
|
||||
|
||||
// virtual
|
||||
@@ -91,6 +97,8 @@ void LLModalDialog::startModal()
|
||||
{
|
||||
if (mModal)
|
||||
{
|
||||
|
||||
|
||||
// If Modal, Hide the active modal dialog
|
||||
if (!sModalStack.empty())
|
||||
{
|
||||
@@ -103,6 +111,14 @@ void LLModalDialog::startModal()
|
||||
gFocusMgr.setTopCtrl( this );
|
||||
setFocus(TRUE);
|
||||
|
||||
std::list<LLModalDialog*>::iterator iter = std::find(sModalStack.begin(), sModalStack.end(), this);
|
||||
if (iter != sModalStack.end())
|
||||
{
|
||||
sModalStack.erase(iter);
|
||||
llwarns << "Dialog already on modal stack" << llendl;
|
||||
//TODO: incvestigate in which specific cases it happens, cause that's not good! -SG
|
||||
}
|
||||
|
||||
sModalStack.push_front( this );
|
||||
}
|
||||
|
||||
@@ -314,5 +330,16 @@ void LLModalDialog::onAppFocusGained()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void LLModalDialog::shutdownModals()
|
||||
{
|
||||
// This method is only for use during app shutdown. ~LLModalDialog()
|
||||
// checks sModalStack, and if the dialog instance is still there, it
|
||||
// crumps with "Attempt to delete dialog while still in sModalStack!" But
|
||||
// at app shutdown, all bets are off. If the user asks to shut down the
|
||||
// app, we shouldn't have to care WHAT's open. Put differently, if a modal
|
||||
// dialog is so crucial that we can't let the user terminate until s/he
|
||||
// addresses it, we should reject a termination request. The current state
|
||||
// of affairs is that we accept it, but then produce an llerrs popup that
|
||||
// simply makes our software look unreliable.
|
||||
sModalStack.clear();
|
||||
}
|
||||
|
||||
@@ -74,7 +74,8 @@ public:
|
||||
static void onAppFocusGained();
|
||||
|
||||
static S32 activeCount() { return sModalStack.size(); }
|
||||
|
||||
static void shutdownModals();
|
||||
|
||||
protected:
|
||||
void centerOnScreen();
|
||||
|
||||
|
||||
@@ -83,7 +83,6 @@ set(viewer_SOURCE_FILES
|
||||
emeraldboobutils.cpp
|
||||
floaterao.cpp
|
||||
floaterlocalassetbrowse.cpp
|
||||
floatersculptpreview.cpp
|
||||
floatervoicelicense.cpp
|
||||
hbfloatergrouptitles.cpp
|
||||
hgfloatertexteditor.cpp
|
||||
@@ -584,7 +583,6 @@ set(viewer_HEADER_FILES
|
||||
emeraldboobutils.h
|
||||
floaterao.h
|
||||
floaterlocalassetbrowse.h
|
||||
floatersculptpreview.h
|
||||
floatervoicelicense.h
|
||||
hbfloatergrouptitles.h
|
||||
hgfloatertexteditor.h
|
||||
@@ -1371,12 +1369,9 @@ if (FMOD OR FMODEX)
|
||||
endif (FMOD)
|
||||
|
||||
if (DARWIN)
|
||||
#if(FMOD) # FIXME: This makes no sense, we can't nest an if(FMODEX) and it's senseless to check for FMOD again.
|
||||
if(FMOD)
|
||||
set(fmodwrapper_SOURCE_FILES fmodwrapper.cpp)
|
||||
add_library(fmodwrapper SHARED ${fmodwrapper_SOURCE_FILES})
|
||||
if (FMODEX)
|
||||
set(fmodwrapper_needed_LIBRARIES ${FMODEX_LIBRARY} ${CARBON_LIBRARY})
|
||||
endif (FMODEX)
|
||||
if (FMOD)
|
||||
set(fmodwrapper_needed_LIBRARIES ${FMOD_LIBRARY} ${CARBON_LIBRARY})
|
||||
endif (FMOD)
|
||||
@@ -1389,7 +1384,7 @@ if (FMOD OR FMODEX)
|
||||
)
|
||||
set(FMODWRAPPER_LIBRARY fmodwrapper)
|
||||
target_link_libraries(fmodwrapper ${fmodwrapper_needed_LIBRARIES})
|
||||
#endif(FMOD) # FIXME!
|
||||
endif(FMOD)
|
||||
if(FMODEX)
|
||||
set(FMODWRAPPER_LIBRARY ${FMODEX_LIBRARY})
|
||||
endif(FMODEX)
|
||||
@@ -1441,21 +1436,21 @@ if (WINDOWS)
|
||||
set(release_flags "/MAP:Release/${VIEWER_BINARY_NAME}.map")
|
||||
endif()
|
||||
|
||||
if (FMOD)
|
||||
if(MANIFEST_LIBRARIES)
|
||||
set(MANIFEST_LIBRARIES "${MANIFEST_LIBRARIES}|${FMOD_BINARY_DIR}/fmod.dll")
|
||||
else(MANIFEST_LIBRARIES)
|
||||
set(MANIFEST_LIBRARIES "--extra_libraries=${FMOD_BINARY_DIR}/fmod.dll")
|
||||
endif(MANIFEST_LIBRARIES)
|
||||
endif (FMOD)
|
||||
if (FMODEX)
|
||||
if(MANIFEST_LIBRARIES)
|
||||
set(MANIFEST_LIBRARIES "${MANIFEST_LIBRARIES}|${FMODEX_BINARY_DIR}/fmodex.dll")
|
||||
else(MANIFEST_LIBRARIES)
|
||||
set(MANIFEST_LIBRARIES "--extra_libraries=${FMODEX_BINARY_DIR}/fmodex.dll")
|
||||
endif(MANIFEST_LIBRARIES)
|
||||
set(EXTRA_LINKER_FLAGS "/DELAYLOAD:fmodex.dll")
|
||||
endif (FMODEX)
|
||||
if (FMOD)
|
||||
if(MANIFEST_LIBRARIES)
|
||||
set(MANIFEST_LIBRARIES "${MANIFEST_LIBRARIES}|${FMOD_BINARY_DIR}/fmod.dll")
|
||||
else(MANIFEST_LIBRARIES)
|
||||
set(MANIFEST_LIBRARIES "--extra_libraries=${FMOD_BINARY_DIR}/fmod.dll")
|
||||
endif(MANIFEST_LIBRARIES)
|
||||
endif (FMOD)
|
||||
if (FMODEX)
|
||||
if(MANIFEST_LIBRARIES)
|
||||
set(MANIFEST_LIBRARIES "${MANIFEST_LIBRARIES}|${FMODEX_BINARY_DIR}/fmodex.dll")
|
||||
else(MANIFEST_LIBRARIES)
|
||||
set(MANIFEST_LIBRARIES "--extra_libraries=${FMODEX_BINARY_DIR}/fmodex.dll")
|
||||
endif(MANIFEST_LIBRARIES)
|
||||
set(EXTRA_LINKER_FLAGS "/DELAYLOAD:fmodex.dll")
|
||||
endif (FMODEX)
|
||||
|
||||
set_target_properties(${VIEWER_BINARY_NAME}
|
||||
PROPERTIES
|
||||
@@ -1668,6 +1663,15 @@ if (DARWIN)
|
||||
|
||||
add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_quicktime media_plugin_webkit basic_plugin_filepicker)
|
||||
|
||||
if (FMODEX)
|
||||
add_custom_command(OUTPUT "${FMODEX_LIBRARY}"
|
||||
COMMAND cp "${FMODEX_ORIG_LIBRARY}" "${FMODEX_LIBRARY}"
|
||||
COMMAND install_name_tool -id "@executable_path/../Resources/libfmodex.dylib" ${FMODEX_LIBRARY}
|
||||
DEPENDS "${FMODEX_ORIG_LIBRARY}")
|
||||
add_custom_target(fmodex_modified_library DEPENDS "${FMODEX_LIBRARY}")
|
||||
add_dependencies(${VIEWER_BINARY_NAME} fmodex_modified_library)
|
||||
endif (FMODEX)
|
||||
|
||||
if (PACKAGE)
|
||||
add_custom_target(package ALL DEPENDS ${VIEWER_BINARY_NAME})
|
||||
add_dependencies(package mac-updater mac-crash-logger)
|
||||
|
||||
@@ -8,6 +8,31 @@
|
||||
<string>settings_sh.xml</string>
|
||||
<string>settings_rlv.xml</string>
|
||||
</array>
|
||||
|
||||
<key>SGShiftCrouchToggle</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Allow crouch toggle by holding shift</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
|
||||
<key>SGServerVersionChangedNotification</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Notify when going to a simulator of different version</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
|
||||
<key>SianaRenderDeferredInvisiprim</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
@@ -11973,7 +11998,7 @@
|
||||
<key>Type</key>
|
||||
<string>U32</string>
|
||||
<key>Value</key>
|
||||
<integer>32</integer>
|
||||
<integer>128</integer>
|
||||
</map>
|
||||
<key>RunBtnState</key>
|
||||
<map>
|
||||
|
||||
@@ -3,6 +3,20 @@
|
||||
<map>
|
||||
<!-- Ascent's Optionally Account-Specific Settings -->
|
||||
|
||||
<key>SGDetachBridge</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Force detach phoenix, firestorm, whatever bridge may be there on attachment point 127</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>1</integer>
|
||||
<key>IsCOA</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
|
||||
<key>SGDisableChatAnimation</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
|
||||
@@ -1,141 +1,141 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
<real>2</real>
|
||||
<real>2</real>
|
||||
<real>2</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.2113494873046875</real>
|
||||
<real>0.22654294967651367</real>
|
||||
<real>0.2339630126953125</real>
|
||||
<real>0.2339630126953125</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>1.6884100437164307</real>
|
||||
<real>0.52609699964523315</real>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
<array>
|
||||
<real>1.6884100437164307</real>
|
||||
<real>0.52609699964523315</real>
|
||||
<real>0.125</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.18000000715255737</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>10.199999809265137</real>
|
||||
<real>10.01099967956543</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0.28999999165534973</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>0.00011000000085914508</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>100</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>east_angle</key>
|
||||
<real>0</real>
|
||||
<key>enable_cloud_scroll</key>
|
||||
<array>
|
||||
<boolean>1</boolean>
|
||||
<boolean>1</boolean>
|
||||
</array>
|
||||
<key>gamma</key>
|
||||
<array>
|
||||
<real>0.070000000298023224</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>glow</key>
|
||||
<array>
|
||||
<real>20</real>
|
||||
<real>0.0010000000474974513</real>
|
||||
<real>-0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>4</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0.19915600121021271</real>
|
||||
<real>0.19915600121021271</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>-0</real>
|
||||
<real>0.85491091012954712</real>
|
||||
<real>0.51877486705780029</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>240</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>preset_num</key>
|
||||
<integer>22</integer>
|
||||
<key>star_brightness</key>
|
||||
<real>1.4800000190734863</real>
|
||||
<key>sun_angle</key>
|
||||
<real>4.1669716835021973</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>0.7084808349609375</real>
|
||||
<real>0.8618316650390625</real>
|
||||
<real>0.83307838439941406</real>
|
||||
<real>0.2872772216796875</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
<llsd>
|
||||
<map>
|
||||
<key>ambient</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>blue_density</key>
|
||||
<array>
|
||||
<real>2</real>
|
||||
<real>2</real>
|
||||
<real>2</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>blue_horizon</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
</array>
|
||||
<key>cloud_color</key>
|
||||
<array>
|
||||
<real>0.2113494873046875</real>
|
||||
<real>0.22654294967651367</real>
|
||||
<real>0.2339630126953125</real>
|
||||
<real>0.2339630126953125</real>
|
||||
</array>
|
||||
<key>cloud_pos_density1</key>
|
||||
<array>
|
||||
<real>1.6884100437164307</real>
|
||||
<real>0.52609699964523315</real>
|
||||
<real>1</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_pos_density2</key>
|
||||
<array>
|
||||
<real>1.6884100437164307</real>
|
||||
<real>0.52609699964523315</real>
|
||||
<real>0.125</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scale</key>
|
||||
<array>
|
||||
<real>0.18000000715255737</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>cloud_scroll_rate</key>
|
||||
<array>
|
||||
<real>10.199999809265137</real>
|
||||
<real>10.01099967956543</real>
|
||||
</array>
|
||||
<key>cloud_shadow</key>
|
||||
<array>
|
||||
<real>0.28999999165534973</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>density_multiplier</key>
|
||||
<array>
|
||||
<real>0.00011000000085914508</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>distance_multiplier</key>
|
||||
<array>
|
||||
<real>100</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>east_angle</key>
|
||||
<real>0</real>
|
||||
<key>enable_cloud_scroll</key>
|
||||
<array>
|
||||
<boolean>1</boolean>
|
||||
<boolean>1</boolean>
|
||||
</array>
|
||||
<key>gamma</key>
|
||||
<array>
|
||||
<real>0.070000000298023224</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>glow</key>
|
||||
<array>
|
||||
<real>20</real>
|
||||
<real>0.0010000000474974513</real>
|
||||
<real>-0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_density</key>
|
||||
<array>
|
||||
<real>4</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>haze_horizon</key>
|
||||
<array>
|
||||
<real>0</real>
|
||||
<real>0.19915600121021271</real>
|
||||
<real>0.19915600121021271</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>lightnorm</key>
|
||||
<array>
|
||||
<real>-0</real>
|
||||
<real>0.85491091012954712</real>
|
||||
<real>0.51877486705780029</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>max_y</key>
|
||||
<array>
|
||||
<real>240</real>
|
||||
<real>0</real>
|
||||
<real>0</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>preset_num</key>
|
||||
<integer>22</integer>
|
||||
<key>star_brightness</key>
|
||||
<real>1.4800000190734863</real>
|
||||
<key>sun_angle</key>
|
||||
<real>4.1669716835021973</real>
|
||||
<key>sunlight_color</key>
|
||||
<array>
|
||||
<real>0.7084808349609375</real>
|
||||
<real>0.8618316650390625</real>
|
||||
<real>0.83307838439941406</real>
|
||||
<real>0.2872772216796875</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
|
||||
@@ -1,77 +1,77 @@
|
||||
- Orac - Black fog 1
|
||||
- Orac - Black fog 2
|
||||
- Orac - Drawing blue
|
||||
- Orac - Drawing extreme
|
||||
- Orac - Drawing green
|
||||
- Orac - Drawing red
|
||||
- Orac - Drawing underground comic
|
||||
- Orac - fog
|
||||
- Orac - gray
|
||||
- Orac - green
|
||||
AnaLu - outdoor city night
|
||||
AnaLutetia - AvatarOpt(2)
|
||||
AnaLutetia - AvatarOpt2 whiter
|
||||
AnaLutetia - outdoor
|
||||
AnaLutetia - Studio Light
|
||||
AnaLutetia - STUDIO2
|
||||
AnaLutetia - STUDIO3
|
||||
AnaLutetia-default
|
||||
AnaLutetia-outdoor2(2)
|
||||
AnaLutetia
|
||||
B5-ShadowDancing
|
||||
CB'%s %Rouge 1
|
||||
CB'%s %Rouge 2
|
||||
CB'%s %Rouge 3
|
||||
CB'%s %Rouge 4
|
||||
CB'%s %Rouge 5
|
||||
CB'%s %Rouge 6
|
||||
Fairy blue (Paulina)
|
||||
Fairy dark blue (Paulina)
|
||||
Fairy light pink (Paulina)
|
||||
Fairy warm pinks (Paulina)
|
||||
PaperSnow
|
||||
Places Abracadabra
|
||||
Places Abracadabra2
|
||||
Places Abracadabra3
|
||||
Places alirium
|
||||
Places Annamaria
|
||||
Places Astryls Wild
|
||||
Places Babbage
|
||||
Places Beach Cay Surreal
|
||||
Places Beach Cay
|
||||
Places Bentham
|
||||
Places Cornfield
|
||||
Places Cromac
|
||||
Places Crucible
|
||||
Places District8
|
||||
Places Duskwood
|
||||
Places Eridu
|
||||
Places Erie
|
||||
Places Eugene 2
|
||||
Places Eugene BL
|
||||
Places Greed
|
||||
Places Greed2
|
||||
Places Imagine
|
||||
Places Kingsport
|
||||
Places Kunming
|
||||
Places Las Legunas
|
||||
Places Legacies
|
||||
Places Midian
|
||||
Places Mother
|
||||
Places Old New York
|
||||
Places Paris 2
|
||||
Places Paris
|
||||
Places Pathfinder
|
||||
Places Sand
|
||||
Places Terre Des Mortes
|
||||
Places Urbania
|
||||
Places Wiccan
|
||||
Places-Embryo
|
||||
StrawberrySingh.com - Closeups
|
||||
Sunset Pink (Paulina)
|
||||
Surreal - Brazil (Paulina)
|
||||
Surreal - Fire (Paulina)
|
||||
Surreal - Flirt (Paulina)
|
||||
Surreal - Night (Paulina)
|
||||
Surreal - Summer (Paulina)
|
||||
- Orac - Black fog 1
|
||||
- Orac - Black fog 2
|
||||
- Orac - Drawing blue
|
||||
- Orac - Drawing extreme
|
||||
- Orac - Drawing green
|
||||
- Orac - Drawing red
|
||||
- Orac - Drawing underground comic
|
||||
- Orac - fog
|
||||
- Orac - gray
|
||||
- Orac - green
|
||||
AnaLu - outdoor city night
|
||||
AnaLutetia - AvatarOpt(2)
|
||||
AnaLutetia - AvatarOpt2 whiter
|
||||
AnaLutetia - outdoor
|
||||
AnaLutetia - Studio Light
|
||||
AnaLutetia - STUDIO2
|
||||
AnaLutetia - STUDIO3
|
||||
AnaLutetia-default
|
||||
AnaLutetia-outdoor2(2)
|
||||
AnaLutetia
|
||||
B5-ShadowDancing
|
||||
CB'%s %Rouge 1
|
||||
CB'%s %Rouge 2
|
||||
CB'%s %Rouge 3
|
||||
CB'%s %Rouge 4
|
||||
CB'%s %Rouge 5
|
||||
CB'%s %Rouge 6
|
||||
Fairy blue (Paulina)
|
||||
Fairy dark blue (Paulina)
|
||||
Fairy light pink (Paulina)
|
||||
Fairy warm pinks (Paulina)
|
||||
PaperSnow
|
||||
Places Abracadabra
|
||||
Places Abracadabra2
|
||||
Places Abracadabra3
|
||||
Places alirium
|
||||
Places Annamaria
|
||||
Places Astryls Wild
|
||||
Places Babbage
|
||||
Places Beach Cay Surreal
|
||||
Places Beach Cay
|
||||
Places Bentham
|
||||
Places Cornfield
|
||||
Places Cromac
|
||||
Places Crucible
|
||||
Places District8
|
||||
Places Duskwood
|
||||
Places Eridu
|
||||
Places Erie
|
||||
Places Eugene 2
|
||||
Places Eugene BL
|
||||
Places Greed
|
||||
Places Greed2
|
||||
Places Imagine
|
||||
Places Kingsport
|
||||
Places Kunming
|
||||
Places Las Legunas
|
||||
Places Legacies
|
||||
Places Midian
|
||||
Places Mother
|
||||
Places Old New York
|
||||
Places Paris 2
|
||||
Places Paris
|
||||
Places Pathfinder
|
||||
Places Sand
|
||||
Places Terre Des Mortes
|
||||
Places Urbania
|
||||
Places Wiccan
|
||||
Places-Embryo
|
||||
StrawberrySingh.com - Closeups
|
||||
Sunset Pink (Paulina)
|
||||
Surreal - Brazil (Paulina)
|
||||
Surreal - Fire (Paulina)
|
||||
Surreal - Flirt (Paulina)
|
||||
Surreal - Night (Paulina)
|
||||
Surreal - Summer (Paulina)
|
||||
wastelands
|
||||
@@ -1,43 +1,43 @@
|
||||
<llsd>
|
||||
<map>
|
||||
<key>blurMultiplier</key>
|
||||
<real>0.13400000333786011</real>
|
||||
<key>fresnelOffset</key>
|
||||
<real>0.53999996185302734</real>
|
||||
<key>fresnelScale</key>
|
||||
<real>0.61000001430511475</real>
|
||||
<key>normScale</key>
|
||||
<array>
|
||||
<real>5.8000001907348633</real>
|
||||
<real>1.7000000476837158</real>
|
||||
<real>5.5</real>
|
||||
</array>
|
||||
<key>normalMap</key>
|
||||
<uuid>822ded49-9a6c-f61c-cb89-6df54f42cdf4</uuid>
|
||||
<key>scaleAbove</key>
|
||||
<real>0.079999998211860657</real>
|
||||
<key>scaleBelow</key>
|
||||
<real>0.39999997615814209</real>
|
||||
<key>underWaterFogMod</key>
|
||||
<real>1</real>
|
||||
<key>waterFogColor</key>
|
||||
<array>
|
||||
<real>0.019683837890625</real>
|
||||
<real>0.027191162109375</real>
|
||||
<real>0.027191162109375</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>waterFogDensity</key>
|
||||
<real>59.714115142822266</real>
|
||||
<key>wave1Dir</key>
|
||||
<array>
|
||||
<real>0.099999904632568359</real>
|
||||
<real>-0.3600001335144043</real>
|
||||
</array>
|
||||
<key>wave2Dir</key>
|
||||
<array>
|
||||
<real>0.099999904632568359</real>
|
||||
<real>-0.67000001668930054</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
<llsd>
|
||||
<map>
|
||||
<key>blurMultiplier</key>
|
||||
<real>0.13400000333786011</real>
|
||||
<key>fresnelOffset</key>
|
||||
<real>0.53999996185302734</real>
|
||||
<key>fresnelScale</key>
|
||||
<real>0.61000001430511475</real>
|
||||
<key>normScale</key>
|
||||
<array>
|
||||
<real>5.8000001907348633</real>
|
||||
<real>1.7000000476837158</real>
|
||||
<real>5.5</real>
|
||||
</array>
|
||||
<key>normalMap</key>
|
||||
<uuid>822ded49-9a6c-f61c-cb89-6df54f42cdf4</uuid>
|
||||
<key>scaleAbove</key>
|
||||
<real>0.079999998211860657</real>
|
||||
<key>scaleBelow</key>
|
||||
<real>0.39999997615814209</real>
|
||||
<key>underWaterFogMod</key>
|
||||
<real>1</real>
|
||||
<key>waterFogColor</key>
|
||||
<array>
|
||||
<real>0.019683837890625</real>
|
||||
<real>0.027191162109375</real>
|
||||
<real>0.027191162109375</real>
|
||||
<real>1</real>
|
||||
</array>
|
||||
<key>waterFogDensity</key>
|
||||
<real>59.714115142822266</real>
|
||||
<key>wave1Dir</key>
|
||||
<array>
|
||||
<real>0.099999904632568359</real>
|
||||
<real>-0.3600001335144043</real>
|
||||
</array>
|
||||
<key>wave2Dir</key>
|
||||
<array>
|
||||
<real>0.099999904632568359</real>
|
||||
<real>-0.67000001668930054</real>
|
||||
</array>
|
||||
</map>
|
||||
</llsd>
|
||||
|
||||
@@ -298,6 +298,7 @@ void LLPrefsAscentSys::refreshValues()
|
||||
mPrivateLookAt = gSavedSettings.getBOOL("PrivateLookAt");
|
||||
mShowLookAt = gSavedSettings.getBOOL("AscentShowLookAt");
|
||||
mQuietSnapshotsToDisk = gSavedSettings.getBOOL("QuietSnapshotsToDisk");
|
||||
mDetachBridge = gSavedSettings.getBOOL("SGDetachBridge");
|
||||
mRevokePermsOnStandUp = gSavedSettings.getBOOL("RevokePermsOnStandUp");
|
||||
mDisableClickSit = gSavedSettings.getBOOL("DisableClickSit");
|
||||
mDisplayScriptJumps = gSavedSettings.getBOOL("AscentDisplayTotalScriptJumps");
|
||||
@@ -445,6 +446,7 @@ void LLPrefsAscentSys::cancel()
|
||||
gSavedSettings.setBOOL("PrivateLookAt", mPrivateLookAt);
|
||||
gSavedSettings.setBOOL("AscentShowLookAt", mShowLookAt);
|
||||
gSavedSettings.setBOOL("QuietSnapshotsToDisk", mQuietSnapshotsToDisk);
|
||||
gSavedSettings.setBOOL("SGDetachBridge", mDetachBridge);
|
||||
gSavedSettings.setBOOL("RevokePermsOnStandUp", mRevokePermsOnStandUp);
|
||||
gSavedSettings.setBOOL("DisableClickSit", mDisableClickSit);
|
||||
gSavedSettings.setBOOL("AscentDisplayTotalScriptJumps", mDisplayScriptJumps);
|
||||
|
||||
@@ -99,6 +99,7 @@ protected:
|
||||
BOOL mPrivateLookAt;
|
||||
BOOL mShowLookAt;
|
||||
BOOL mQuietSnapshotsToDisk;
|
||||
BOOL mDetachBridge;
|
||||
BOOL mRevokePermsOnStandUp;
|
||||
BOOL mDisableClickSit;
|
||||
BOOL mDisplayScriptJumps;
|
||||
|
||||
@@ -1,893 +0,0 @@
|
||||
/**
|
||||
* @file LLFloaterSculptPreview.cpp
|
||||
* @brief LLFloaterSculptPreview class implementation
|
||||
*
|
||||
* $LicenseInfo:firstyear=2004&license=viewergpl$
|
||||
*
|
||||
* Copyright (c) 2004-2009, Linden Research, Inc.
|
||||
*
|
||||
* Second Life Viewer Source Code
|
||||
* The source code in this file ("Source Code") is provided by Linden Lab
|
||||
* to you under the terms of the GNU General Public License, version 2.0
|
||||
* ("GPL"), unless you have obtained a separate licensing agreement
|
||||
* ("Other License"), formally executed by you and Linden Lab. Terms of
|
||||
* the GPL can be found in doc/GPL-license.txt in this distribution, or
|
||||
* online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
|
||||
*
|
||||
* There are special exceptions to the terms and conditions of the GPL as
|
||||
* it is applied to this Source Code. View the full text of the exception
|
||||
* in the file doc/FLOSS-exception.txt in this software distribution, or
|
||||
* online at
|
||||
* http://secondlifegrid.net/programs/open_source/licensing/flossexception
|
||||
*
|
||||
* By copying, modifying or distributing this software, you acknowledge
|
||||
* that you have read and understood your obligations described above,
|
||||
* and agree to abide by those obligations.
|
||||
*
|
||||
* ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
|
||||
* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
|
||||
* COMPLETENESS OR PERFORMANCE.
|
||||
* $/LicenseInfo$
|
||||
*/
|
||||
|
||||
#include "llviewerprecompiledheaders.h"
|
||||
|
||||
#include "floatersculptpreview.h"
|
||||
|
||||
#include "llimagebmp.h"
|
||||
#include "llimagetga.h"
|
||||
#include "llimagejpeg.h"
|
||||
#include "llimagepng.h"
|
||||
|
||||
#include "llagent.h"
|
||||
#include "llbutton.h"
|
||||
#include "llcombobox.h"
|
||||
#include "lldrawable.h"
|
||||
#include "lldrawpoolavatar.h"
|
||||
#include "llrender.h"
|
||||
#include "llface.h"
|
||||
#include "llfocusmgr.h"
|
||||
#include "lltextbox.h"
|
||||
#include "lltoolmgr.h"
|
||||
#include "llui.h"
|
||||
#include "llviewercamera.h"
|
||||
#include "llviewerwindow.h"
|
||||
#include "llvoavatar.h"
|
||||
#include "pipeline.h"
|
||||
#include "lluictrlfactory.h"
|
||||
#include "llviewershadermgr.h"
|
||||
#include "llviewertexturelist.h"
|
||||
#include "llstring.h"
|
||||
#include "llviewercontrol.h"
|
||||
|
||||
//static
|
||||
S32 LLFloaterSculptPreview::sUploadAmount = 10;
|
||||
|
||||
const S32 PREVIEW_BORDER_WIDTH = 2;
|
||||
const S32 PREVIEW_RESIZE_HANDLE_SIZE = S32(RESIZE_HANDLE_WIDTH * OO_SQRT2) + PREVIEW_BORDER_WIDTH;
|
||||
const S32 PREVIEW_HPAD = PREVIEW_RESIZE_HANDLE_SIZE;
|
||||
const S32 PREF_BUTTON_HEIGHT = 0;
|
||||
const S32 PREVIEW_TEXTURE_HEIGHT = 512;
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// LLFloaterSculptPreview()
|
||||
//-----------------------------------------------------------------------------
|
||||
LLFloaterSculptPreview::LLFloaterSculptPreview(LLImageRaw* src) :
|
||||
//LLFloaterNameDesc(filename),
|
||||
mAvatarPreview(NULL),
|
||||
mSculptedPreview(NULL)
|
||||
{
|
||||
mLastMouseX = 0;
|
||||
mLastMouseY = 0;
|
||||
mImagep = NULL ;
|
||||
mRawImagep = src;
|
||||
}
|
||||
|
||||
LLFloaterSculptPreview* LLFloaterSculptPreview::show(LLImageRaw* src)
|
||||
{
|
||||
LLFloaterSculptPreview* floaterp = new LLFloaterSculptPreview(src);
|
||||
|
||||
llinfos << (floaterp->mRawImagep.notNull() ? "has raw image" : "no raw image") << llendl;
|
||||
//floaterp->loadImage(src);
|
||||
// Builds and adds to gFloaterView
|
||||
LLUICtrlFactory::getInstance()->buildFloater(floaterp, "floater_sculpt_preview.xml");
|
||||
|
||||
gFloaterView->addChild(floaterp);
|
||||
floaterp->open(); /*Flawfinder: ignore*/
|
||||
|
||||
gFloaterView->adjustToFitScreen(floaterp, FALSE);
|
||||
|
||||
llinfos << "build and adjusted" << llendl;
|
||||
return floaterp;
|
||||
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// postBuild()
|
||||
//-----------------------------------------------------------------------------
|
||||
BOOL LLFloaterSculptPreview::postBuild()
|
||||
{
|
||||
childSetLabelArg("ok_btn", "[AMOUNT]", llformat("%d",sUploadAmount));
|
||||
|
||||
LLCtrlSelectionInterface* iface = childGetSelectionInterface("clothing_type_combo");
|
||||
if (iface)
|
||||
{
|
||||
iface->selectFirstItem();
|
||||
}
|
||||
childSetCommitCallback("clothing_type_combo", onPreviewTypeCommit, this);
|
||||
|
||||
mPreviewRect.set(PREVIEW_HPAD,
|
||||
PREVIEW_TEXTURE_HEIGHT,
|
||||
getRect().getWidth() - PREVIEW_HPAD,
|
||||
PREVIEW_HPAD + PREF_BUTTON_HEIGHT + PREVIEW_HPAD);
|
||||
mPreviewImageRect.set(0.f, 1.f, 1.f, 0.f);
|
||||
|
||||
childHide("bad_image_text");
|
||||
|
||||
if (mRawImagep.notNull() && gAgent.getRegion() != NULL)
|
||||
{
|
||||
mAvatarPreview = new LLPreviewAvatar(256, 256);
|
||||
mAvatarPreview->setPreviewTarget("mPelvis", "mUpperBodyMesh0", mRawImagep, 2.f, FALSE);
|
||||
|
||||
mSculptedPreview = new LLPreviewSculpted(256, 256);
|
||||
mSculptedPreview->setPreviewTarget(mRawImagep, 2.0f);
|
||||
|
||||
if (mRawImagep->getWidth() * mRawImagep->getHeight () <= LL_IMAGE_REZ_LOSSLESS_CUTOFF * LL_IMAGE_REZ_LOSSLESS_CUTOFF)
|
||||
childEnable("lossless_check");
|
||||
|
||||
childSetValue("temp_check",FALSE);
|
||||
}
|
||||
else
|
||||
{
|
||||
mAvatarPreview = NULL;
|
||||
mSculptedPreview = NULL;
|
||||
childShow("bad_image_text");
|
||||
childDisable("clothing_type_combo");
|
||||
childDisable("ok_btn");
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// LLFloaterSculptPreview()
|
||||
//-----------------------------------------------------------------------------
|
||||
LLFloaterSculptPreview::~LLFloaterSculptPreview()
|
||||
{
|
||||
clearAllPreviewTextures();
|
||||
|
||||
mRawImagep = NULL;
|
||||
mAvatarPreview = NULL;
|
||||
mSculptedPreview = NULL;
|
||||
|
||||
mImagep = NULL ;
|
||||
}
|
||||
|
||||
//static
|
||||
//-----------------------------------------------------------------------------
|
||||
// onPreviewTypeCommit()
|
||||
//-----------------------------------------------------------------------------
|
||||
void LLFloaterSculptPreview::onPreviewTypeCommit(LLUICtrl* ctrl, void* userdata)
|
||||
{
|
||||
LLFloaterSculptPreview *fp =(LLFloaterSculptPreview *)userdata;
|
||||
|
||||
if (!fp->mAvatarPreview || !fp->mSculptedPreview)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
S32 which_mode = 0;
|
||||
|
||||
LLCtrlSelectionInterface* iface = fp->childGetSelectionInterface("clothing_type_combo");
|
||||
if (iface)
|
||||
{
|
||||
which_mode = iface->getFirstSelectedIndex();
|
||||
}
|
||||
|
||||
switch(which_mode)
|
||||
{
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
fp->mAvatarPreview->setPreviewTarget("mSkull", "mHairMesh0", fp->mRawImagep, 0.4f, FALSE);
|
||||
break;
|
||||
case 2:
|
||||
fp->mAvatarPreview->setPreviewTarget("mSkull", "mHeadMesh0", fp->mRawImagep, 0.4f, FALSE);
|
||||
break;
|
||||
case 3:
|
||||
fp->mAvatarPreview->setPreviewTarget("mChest", "mUpperBodyMesh0", fp->mRawImagep, 1.0f, FALSE);
|
||||
break;
|
||||
case 4:
|
||||
fp->mAvatarPreview->setPreviewTarget("mKneeLeft", "mLowerBodyMesh0", fp->mRawImagep, 1.2f, FALSE);
|
||||
break;
|
||||
case 5:
|
||||
fp->mAvatarPreview->setPreviewTarget("mSkull", "mHeadMesh0", fp->mRawImagep, 0.4f, TRUE);
|
||||
break;
|
||||
case 6:
|
||||
fp->mAvatarPreview->setPreviewTarget("mChest", "mUpperBodyMesh0", fp->mRawImagep, 1.2f, TRUE);
|
||||
break;
|
||||
case 7:
|
||||
fp->mAvatarPreview->setPreviewTarget("mKneeLeft", "mLowerBodyMesh0", fp->mRawImagep, 1.2f, TRUE);
|
||||
break;
|
||||
case 8:
|
||||
fp->mAvatarPreview->setPreviewTarget("mKneeLeft", "mSkirtMesh0", fp->mRawImagep, 1.3f, FALSE);
|
||||
break;
|
||||
case 9:
|
||||
fp->mSculptedPreview->setPreviewTarget(fp->mRawImagep, 2.0f);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
fp->mAvatarPreview->refresh();
|
||||
fp->mSculptedPreview->refresh();
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// clearAllPreviewTextures()
|
||||
//-----------------------------------------------------------------------------
|
||||
void LLFloaterSculptPreview::clearAllPreviewTextures()
|
||||
{
|
||||
if (mAvatarPreview)
|
||||
{
|
||||
mAvatarPreview->clearPreviewTexture("mHairMesh0");
|
||||
mAvatarPreview->clearPreviewTexture("mUpperBodyMesh0");
|
||||
mAvatarPreview->clearPreviewTexture("mLowerBodyMesh0");
|
||||
mAvatarPreview->clearPreviewTexture("mHeadMesh0");
|
||||
mAvatarPreview->clearPreviewTexture("mUpperBodyMesh0");
|
||||
mAvatarPreview->clearPreviewTexture("mLowerBodyMesh0");
|
||||
mAvatarPreview->clearPreviewTexture("mSkirtMesh0");
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// draw()
|
||||
//-----------------------------------------------------------------------------
|
||||
void LLFloaterSculptPreview::draw()
|
||||
{
|
||||
LLFloater::draw();
|
||||
LLRect r = getRect();
|
||||
|
||||
if (mRawImagep.notNull())
|
||||
{
|
||||
LLCtrlSelectionInterface* iface = childGetSelectionInterface("clothing_type_combo");
|
||||
U32 selected = 0;
|
||||
if (iface)
|
||||
selected = iface->getFirstSelectedIndex();
|
||||
|
||||
if (selected <= 0)
|
||||
{
|
||||
gl_rect_2d_checkerboard(calcScreenRect(),mPreviewRect);
|
||||
LLGLDisable gls_alpha(GL_ALPHA_TEST);
|
||||
|
||||
if(mImagep.notNull())
|
||||
{
|
||||
gGL.getTexUnit(0)->bindManual(LLTexUnit::TT_TEXTURE, mImagep->getTexName());
|
||||
}
|
||||
else
|
||||
{
|
||||
mImagep = LLViewerTextureManager::getLocalTexture(mRawImagep.get(), FALSE) ;
|
||||
|
||||
gGL.getTexUnit(0)->unbind(mImagep->getTarget()) ;
|
||||
gGL.getTexUnit(0)->bindManual(LLTexUnit::TT_TEXTURE, mImagep->getTexName());
|
||||
stop_glerror();
|
||||
|
||||
gGL.getTexUnit(0)->setTextureFilteringOption(LLTexUnit::TFO_BILINEAR);
|
||||
|
||||
gGL.getTexUnit(0)->setTextureAddressMode(LLTexUnit::TAM_CLAMP);
|
||||
if (mAvatarPreview)
|
||||
{
|
||||
mAvatarPreview->setTexture(mImagep->getTexName());
|
||||
mSculptedPreview->setTexture(mImagep->getTexName());
|
||||
}
|
||||
}
|
||||
|
||||
gGL.color3f(1.f, 1.f, 1.f);
|
||||
gGL.begin( LLRender::QUADS );
|
||||
{
|
||||
gGL.texCoord2f(mPreviewImageRect.mLeft, mPreviewImageRect.mTop);
|
||||
gGL.vertex2i(PREVIEW_HPAD, PREVIEW_TEXTURE_HEIGHT);
|
||||
gGL.texCoord2f(mPreviewImageRect.mLeft, mPreviewImageRect.mBottom);
|
||||
gGL.vertex2i(PREVIEW_HPAD, PREVIEW_HPAD + PREF_BUTTON_HEIGHT + PREVIEW_HPAD);
|
||||
gGL.texCoord2f(mPreviewImageRect.mRight, mPreviewImageRect.mBottom);
|
||||
gGL.vertex2i(r.getWidth() - PREVIEW_HPAD, PREVIEW_HPAD + PREF_BUTTON_HEIGHT + PREVIEW_HPAD);
|
||||
gGL.texCoord2f(mPreviewImageRect.mRight, mPreviewImageRect.mTop);
|
||||
gGL.vertex2i(r.getWidth() - PREVIEW_HPAD, PREVIEW_TEXTURE_HEIGHT);
|
||||
}
|
||||
gGL.end();
|
||||
|
||||
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
|
||||
|
||||
stop_glerror();
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((mAvatarPreview) && (mSculptedPreview))
|
||||
{
|
||||
gGL.color3f(1.f, 1.f, 1.f);
|
||||
|
||||
if (selected == 9)
|
||||
{
|
||||
gGL.getTexUnit(0)->bind(mSculptedPreview);
|
||||
}
|
||||
else
|
||||
{
|
||||
gGL.getTexUnit(0)->bind(mAvatarPreview);
|
||||
}
|
||||
|
||||
gGL.begin( LLRender::QUADS );
|
||||
{
|
||||
gGL.texCoord2f(0.f, 1.f);
|
||||
gGL.vertex2i(PREVIEW_HPAD, PREVIEW_TEXTURE_HEIGHT);
|
||||
gGL.texCoord2f(0.f, 0.f);
|
||||
gGL.vertex2i(PREVIEW_HPAD, PREVIEW_HPAD + PREF_BUTTON_HEIGHT + PREVIEW_HPAD);
|
||||
gGL.texCoord2f(1.f, 0.f);
|
||||
gGL.vertex2i(r.getWidth() - PREVIEW_HPAD, PREVIEW_HPAD + PREF_BUTTON_HEIGHT + PREVIEW_HPAD);
|
||||
gGL.texCoord2f(1.f, 1.f);
|
||||
gGL.vertex2i(r.getWidth() - PREVIEW_HPAD, PREVIEW_TEXTURE_HEIGHT);
|
||||
}
|
||||
gGL.end();
|
||||
|
||||
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// handleMouseDown()
|
||||
//-----------------------------------------------------------------------------
|
||||
BOOL LLFloaterSculptPreview::handleMouseDown(S32 x, S32 y, MASK mask)
|
||||
{
|
||||
if (mPreviewRect.pointInRect(x, y))
|
||||
{
|
||||
bringToFront( x, y );
|
||||
gFocusMgr.setMouseCapture(this);
|
||||
gViewerWindow->hideCursor();
|
||||
mLastMouseX = x;
|
||||
mLastMouseY = y;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return LLFloater::handleMouseDown(x, y, mask);
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// handleMouseUp()
|
||||
//-----------------------------------------------------------------------------
|
||||
BOOL LLFloaterSculptPreview::handleMouseUp(S32 x, S32 y, MASK mask)
|
||||
{
|
||||
gFocusMgr.setMouseCapture(FALSE);
|
||||
gViewerWindow->showCursor();
|
||||
return LLFloater::handleMouseUp(x, y, mask);
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// handleHover()
|
||||
//-----------------------------------------------------------------------------
|
||||
BOOL LLFloaterSculptPreview::handleHover(S32 x, S32 y, MASK mask)
|
||||
{
|
||||
MASK local_mask = mask & ~MASK_ALT;
|
||||
|
||||
if (mAvatarPreview && hasMouseCapture())
|
||||
{
|
||||
if (local_mask == MASK_PAN)
|
||||
{
|
||||
// pan here
|
||||
LLCtrlSelectionInterface* iface = childGetSelectionInterface("clothing_type_combo");
|
||||
if (iface && iface->getFirstSelectedIndex() <= 0)
|
||||
{
|
||||
mPreviewImageRect.translate((F32)(x - mLastMouseX) * -0.005f * mPreviewImageRect.getWidth(),
|
||||
(F32)(y - mLastMouseY) * -0.005f * mPreviewImageRect.getHeight());
|
||||
}
|
||||
else
|
||||
{
|
||||
mAvatarPreview->pan((F32)(x - mLastMouseX) * -0.005f, (F32)(y - mLastMouseY) * -0.005f);
|
||||
mSculptedPreview->pan((F32)(x - mLastMouseX) * -0.005f, (F32)(y - mLastMouseY) * -0.005f);
|
||||
}
|
||||
}
|
||||
else if (local_mask == MASK_ORBIT)
|
||||
{
|
||||
F32 yaw_radians = (F32)(x - mLastMouseX) * -0.01f;
|
||||
F32 pitch_radians = (F32)(y - mLastMouseY) * 0.02f;
|
||||
|
||||
mAvatarPreview->rotate(yaw_radians, pitch_radians);
|
||||
mSculptedPreview->rotate(yaw_radians, pitch_radians);
|
||||
}
|
||||
else
|
||||
{
|
||||
LLCtrlSelectionInterface* iface = childGetSelectionInterface("clothing_type_combo");
|
||||
if (iface && iface->getFirstSelectedIndex() <= 0)
|
||||
{
|
||||
F32 zoom_amt = (F32)(y - mLastMouseY) * -0.002f;
|
||||
mPreviewImageRect.stretch(zoom_amt);
|
||||
}
|
||||
else
|
||||
{
|
||||
F32 yaw_radians = (F32)(x - mLastMouseX) * -0.01f;
|
||||
F32 zoom_amt = (F32)(y - mLastMouseY) * 0.02f;
|
||||
|
||||
mAvatarPreview->rotate(yaw_radians, 0.f);
|
||||
mAvatarPreview->zoom(zoom_amt);
|
||||
mSculptedPreview->rotate(yaw_radians, 0.f);
|
||||
mSculptedPreview->zoom(zoom_amt);
|
||||
}
|
||||
}
|
||||
|
||||
LLCtrlSelectionInterface* iface = childGetSelectionInterface("clothing_type_combo");
|
||||
if (iface && iface->getFirstSelectedIndex() <= 0)
|
||||
{
|
||||
if (mPreviewImageRect.getWidth() > 1.f)
|
||||
{
|
||||
mPreviewImageRect.stretch((1.f - mPreviewImageRect.getWidth()) * 0.5f);
|
||||
}
|
||||
else if (mPreviewImageRect.getWidth() < 0.1f)
|
||||
{
|
||||
mPreviewImageRect.stretch((0.1f - mPreviewImageRect.getWidth()) * 0.5f);
|
||||
}
|
||||
|
||||
if (mPreviewImageRect.getHeight() > 1.f)
|
||||
{
|
||||
mPreviewImageRect.stretch((1.f - mPreviewImageRect.getHeight()) * 0.5f);
|
||||
}
|
||||
else if (mPreviewImageRect.getHeight() < 0.1f)
|
||||
{
|
||||
mPreviewImageRect.stretch((0.1f - mPreviewImageRect.getHeight()) * 0.5f);
|
||||
}
|
||||
|
||||
if (mPreviewImageRect.mLeft < 0.f)
|
||||
{
|
||||
mPreviewImageRect.translate(-mPreviewImageRect.mLeft, 0.f);
|
||||
}
|
||||
else if (mPreviewImageRect.mRight > 1.f)
|
||||
{
|
||||
mPreviewImageRect.translate(1.f - mPreviewImageRect.mRight, 0.f);
|
||||
}
|
||||
|
||||
if (mPreviewImageRect.mBottom < 0.f)
|
||||
{
|
||||
mPreviewImageRect.translate(0.f, -mPreviewImageRect.mBottom);
|
||||
}
|
||||
else if (mPreviewImageRect.mTop > 1.f)
|
||||
{
|
||||
mPreviewImageRect.translate(0.f, 1.f - mPreviewImageRect.mTop);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
mAvatarPreview->refresh();
|
||||
mSculptedPreview->refresh();
|
||||
}
|
||||
|
||||
LLUI::setMousePositionLocal(this, mLastMouseX, mLastMouseY);
|
||||
}
|
||||
|
||||
if (!mPreviewRect.pointInRect(x, y) || !mAvatarPreview || !mSculptedPreview)
|
||||
{
|
||||
return LLFloater::handleHover(x, y, mask);
|
||||
}
|
||||
else if (local_mask == MASK_ORBIT)
|
||||
{
|
||||
gViewerWindow->setCursor(UI_CURSOR_TOOLCAMERA);
|
||||
}
|
||||
else if (local_mask == MASK_PAN)
|
||||
{
|
||||
gViewerWindow->setCursor(UI_CURSOR_TOOLPAN);
|
||||
}
|
||||
else
|
||||
{
|
||||
gViewerWindow->setCursor(UI_CURSOR_TOOLZOOMIN);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// handleScrollWheel()
|
||||
//-----------------------------------------------------------------------------
|
||||
BOOL LLFloaterSculptPreview::handleScrollWheel(S32 x, S32 y, S32 clicks)
|
||||
{
|
||||
if (mPreviewRect.pointInRect(x, y) && mAvatarPreview)
|
||||
{
|
||||
mAvatarPreview->zoom((F32)clicks * -0.2f);
|
||||
mAvatarPreview->refresh();
|
||||
|
||||
mSculptedPreview->zoom((F32)clicks * -0.2f);
|
||||
mSculptedPreview->refresh();
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// onMouseCaptureLost()
|
||||
//-----------------------------------------------------------------------------
|
||||
// static
|
||||
void LLFloaterSculptPreview::onMouseCaptureLostImagePreview(LLMouseHandler* handler)
|
||||
{
|
||||
gViewerWindow->showCursor();
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// LLPreviewAvatar
|
||||
//-----------------------------------------------------------------------------
|
||||
LLPreviewAvatar::LLPreviewAvatar(S32 width, S32 height) : LLViewerDynamicTexture(width, height, 3, ORDER_MIDDLE, FALSE)
|
||||
{
|
||||
mNeedsUpdate = TRUE;
|
||||
mTargetJoint = NULL;
|
||||
mTargetMesh = NULL;
|
||||
mCameraDistance = 0.f;
|
||||
mCameraYaw = 0.f;
|
||||
mCameraPitch = 0.f;
|
||||
mCameraZoom = 1.f;
|
||||
|
||||
mDummyAvatar = (LLVOAvatar*)gObjectList.createObjectViewer(LL_PCODE_LEGACY_AVATAR, gAgent.getRegion());
|
||||
mDummyAvatar->createDrawable(&gPipeline);
|
||||
mDummyAvatar->mIsDummy = TRUE;
|
||||
mDummyAvatar->mSpecialRenderMode = 2;
|
||||
mDummyAvatar->setPositionAgent(LLVector3::zero);
|
||||
mDummyAvatar->slamPosition();
|
||||
mDummyAvatar->updateJointLODs();
|
||||
mDummyAvatar->updateGeometry(mDummyAvatar->mDrawable);
|
||||
// gPipeline.markVisible(mDummyAvatar->mDrawable, *LLViewerCamera::getInstance());
|
||||
|
||||
mTextureName = 0;
|
||||
}
|
||||
|
||||
|
||||
LLPreviewAvatar::~LLPreviewAvatar()
|
||||
{
|
||||
mDummyAvatar->markDead();
|
||||
}
|
||||
|
||||
|
||||
void LLPreviewAvatar::setPreviewTarget(const std::string& joint_name, const std::string& mesh_name, LLImageRaw* imagep, F32 distance, BOOL male)
|
||||
{
|
||||
mTargetJoint = mDummyAvatar->mRoot.findJoint(joint_name);
|
||||
// clear out existing test mesh
|
||||
if (mTargetMesh)
|
||||
{
|
||||
mTargetMesh->setTestTexture(0);
|
||||
}
|
||||
|
||||
if (male)
|
||||
{
|
||||
mDummyAvatar->setVisualParamWeight( "male", 1.f );
|
||||
mDummyAvatar->updateVisualParams();
|
||||
mDummyAvatar->updateGeometry(mDummyAvatar->mDrawable);
|
||||
}
|
||||
else
|
||||
{
|
||||
mDummyAvatar->setVisualParamWeight( "male", 0.f );
|
||||
mDummyAvatar->updateVisualParams();
|
||||
mDummyAvatar->updateGeometry(mDummyAvatar->mDrawable);
|
||||
}
|
||||
mDummyAvatar->mRoot.setVisible(FALSE, TRUE);
|
||||
|
||||
mTargetMesh = (LLViewerJointMesh*)mDummyAvatar->mRoot.findJoint(mesh_name);
|
||||
mTargetMesh->setTestTexture(mTextureName);
|
||||
mTargetMesh->setVisible(TRUE, FALSE);
|
||||
mCameraDistance = distance;
|
||||
mCameraZoom = 1.f;
|
||||
mCameraPitch = 0.f;
|
||||
mCameraYaw = 0.f;
|
||||
mCameraOffset.clearVec();
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// clearPreviewTexture()
|
||||
//-----------------------------------------------------------------------------
|
||||
void LLPreviewAvatar::clearPreviewTexture(const std::string& mesh_name)
|
||||
{
|
||||
if (mDummyAvatar)
|
||||
{
|
||||
LLViewerJointMesh *mesh = (LLViewerJointMesh*)mDummyAvatar->mRoot.findJoint(mesh_name);
|
||||
// clear out existing test mesh
|
||||
if (mesh)
|
||||
{
|
||||
mesh->setTestTexture(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// update()
|
||||
//-----------------------------------------------------------------------------
|
||||
BOOL LLPreviewAvatar::render()
|
||||
{
|
||||
mNeedsUpdate = FALSE;
|
||||
LLVOAvatar* avatarp = mDummyAvatar;
|
||||
|
||||
gGL.matrixMode(LLRender::MM_PROJECTION);
|
||||
gGL.pushMatrix();
|
||||
gGL.loadIdentity();
|
||||
gGL.ortho(0.0f, mFullWidth, 0.0f, mFullHeight, -1.0f, 1.0f);
|
||||
|
||||
gGL.matrixMode(LLRender::MM_MODELVIEW);
|
||||
gGL.pushMatrix();
|
||||
gGL.loadIdentity();
|
||||
|
||||
LLGLSUIDefault def;
|
||||
gGL.color4f(0.15f, 0.2f, 0.3f, 1.f);
|
||||
|
||||
if (LLGLSLShader::sNoFixedFunction)
|
||||
{
|
||||
gUIProgram.bind();
|
||||
}
|
||||
|
||||
gl_rect_2d_simple( mFullWidth, mFullHeight );
|
||||
|
||||
gGL.matrixMode(LLRender::MM_PROJECTION);
|
||||
gGL.popMatrix();
|
||||
|
||||
gGL.matrixMode(LLRender::MM_MODELVIEW);
|
||||
gGL.popMatrix();
|
||||
|
||||
gGL.flush();
|
||||
LLVector3 target_pos = mTargetJoint->getWorldPosition();
|
||||
|
||||
LLQuaternion camera_rot = LLQuaternion(mCameraPitch, LLVector3::y_axis) *
|
||||
LLQuaternion(mCameraYaw, LLVector3::z_axis);
|
||||
|
||||
LLQuaternion av_rot = avatarp->mPelvisp->getWorldRotation() * camera_rot;
|
||||
LLViewerCamera::getInstance()->setOriginAndLookAt(
|
||||
target_pos + ((LLVector3(mCameraDistance, 0.f, 0.f) + mCameraOffset) * av_rot), // camera
|
||||
LLVector3::z_axis, // up
|
||||
target_pos + (mCameraOffset * av_rot) ); // point of interest
|
||||
|
||||
stop_glerror();
|
||||
|
||||
LLViewerCamera::getInstance()->setAspect((F32)mFullWidth / mFullHeight);
|
||||
LLViewerCamera::getInstance()->setView(LLViewerCamera::getInstance()->getDefaultFOV() / mCameraZoom);
|
||||
LLViewerCamera::getInstance()->setPerspective(FALSE, mOrigin.mX, mOrigin.mY, mFullWidth, mFullHeight, FALSE);
|
||||
|
||||
LLVertexBuffer::unbind();
|
||||
avatarp->updateLOD();
|
||||
|
||||
|
||||
if (avatarp->mDrawable.notNull())
|
||||
{
|
||||
LLGLDepthTest gls_depth(GL_TRUE, GL_TRUE);
|
||||
// make sure alpha=0 shows avatar material color
|
||||
LLGLDisable no_blend(GL_BLEND);
|
||||
|
||||
LLDrawPoolAvatar *avatarPoolp = (LLDrawPoolAvatar *)avatarp->mDrawable->getFace(0)->getPool();
|
||||
gPipeline.enableLightsPreview();
|
||||
avatarPoolp->renderAvatars(avatarp); // renders only one avatar
|
||||
}
|
||||
|
||||
gGL.color4f(1,1,1,1);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// refresh()
|
||||
//-----------------------------------------------------------------------------
|
||||
void LLPreviewAvatar::refresh()
|
||||
{
|
||||
mNeedsUpdate = TRUE;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// rotate()
|
||||
//-----------------------------------------------------------------------------
|
||||
void LLPreviewAvatar::rotate(F32 yaw_radians, F32 pitch_radians)
|
||||
{
|
||||
mCameraYaw = mCameraYaw + yaw_radians;
|
||||
|
||||
mCameraPitch = llclamp(mCameraPitch + pitch_radians, -0.95f * F_PI_BY_TWO, 0.95f * F_PI_BY_TWO);
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// zoom()
|
||||
//-----------------------------------------------------------------------------
|
||||
void LLPreviewAvatar::zoom(F32 zoom_amt)
|
||||
{
|
||||
mCameraZoom = llclamp(mCameraZoom + zoom_amt, 0.5f, 20.f);
|
||||
}
|
||||
|
||||
void LLPreviewAvatar::pan(F32 right, F32 up)
|
||||
{
|
||||
mCameraOffset.mV[VY] = llclamp(mCameraOffset.mV[VY] + right * mCameraDistance / mCameraZoom, -1.f, 1.f);
|
||||
mCameraOffset.mV[VZ] = llclamp(mCameraOffset.mV[VZ] + up * mCameraDistance / mCameraZoom, -1.f, 1.f);
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// LLPreviewSculpted
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
LLPreviewSculpted::LLPreviewSculpted(S32 width, S32 height) : LLViewerDynamicTexture(width, height, 3, ORDER_MIDDLE, FALSE)
|
||||
{
|
||||
mNeedsUpdate = TRUE;
|
||||
mCameraDistance = 0.f;
|
||||
mCameraYaw = 0.f;
|
||||
mCameraPitch = 0.f;
|
||||
mCameraZoom = 1.f;
|
||||
mTextureName = 0;
|
||||
|
||||
LLVolumeParams volume_params;
|
||||
volume_params.setType(LL_PCODE_PROFILE_CIRCLE, LL_PCODE_PATH_CIRCLE);
|
||||
volume_params.setSculptID(LLUUID::null, LL_SCULPT_TYPE_SPHERE);
|
||||
|
||||
F32 const HIGHEST_LOD = 4.0f;
|
||||
mVolume = new LLVolume(volume_params, HIGHEST_LOD);
|
||||
}
|
||||
|
||||
|
||||
LLPreviewSculpted::~LLPreviewSculpted()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void LLPreviewSculpted::setPreviewTarget(LLImageRaw* imagep, F32 distance)
|
||||
{
|
||||
mCameraDistance = distance;
|
||||
mCameraZoom = 1.f;
|
||||
mCameraPitch = 0.f;
|
||||
mCameraYaw = 0.f;
|
||||
mCameraOffset.clearVec();
|
||||
|
||||
if (imagep)
|
||||
{
|
||||
mVolume->sculpt(imagep->getWidth(), imagep->getHeight(), imagep->getComponents(), imagep->getData(), 0);
|
||||
}
|
||||
|
||||
const LLVolumeFace &vf = mVolume->getVolumeFace(0);
|
||||
U32 num_indices = vf.mNumIndices;
|
||||
U32 num_vertices = vf.mNumVertices;
|
||||
|
||||
mVertexBuffer = new LLVertexBuffer(LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_NORMAL | LLVertexBuffer::MAP_TEXCOORD0, 0);
|
||||
mVertexBuffer->allocateBuffer(num_vertices, num_indices, TRUE);
|
||||
|
||||
LLStrider<LLVector3> vertex_strider;
|
||||
LLStrider<LLVector3> normal_strider;
|
||||
LLStrider<LLVector2> tc_strider;
|
||||
LLStrider<U16> index_strider;
|
||||
|
||||
mVertexBuffer->getVertexStrider(vertex_strider);
|
||||
mVertexBuffer->getNormalStrider(normal_strider);
|
||||
mVertexBuffer->getTexCoord0Strider(tc_strider);
|
||||
mVertexBuffer->getIndexStrider(index_strider);
|
||||
|
||||
// build vertices and normals
|
||||
LLStrider<LLVector3> pos;
|
||||
pos = (LLVector3*) vf.mPositions; pos.setStride(16);
|
||||
LLStrider<LLVector3> norm;
|
||||
norm = (LLVector3*) vf.mNormals; norm.setStride(16);
|
||||
LLStrider<LLVector2> tc;
|
||||
tc = (LLVector2*) vf.mTexCoords; tc.setStride(8);
|
||||
for (U32 i = 0; (S32)i < num_vertices; i++)
|
||||
{
|
||||
*(vertex_strider++) = *pos++;
|
||||
LLVector3 normal = *norm++;
|
||||
normal.normalize();
|
||||
*(normal_strider++) = normal;
|
||||
*(tc_strider++) = *tc++;
|
||||
}
|
||||
|
||||
// build indices
|
||||
for (U16 i = 0; i < num_indices; i++)
|
||||
{
|
||||
*(index_strider++) = vf.mIndices[i];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// render()
|
||||
//-----------------------------------------------------------------------------
|
||||
BOOL LLPreviewSculpted::render()
|
||||
{
|
||||
mNeedsUpdate = FALSE;
|
||||
|
||||
LLGLSUIDefault def;
|
||||
LLGLDisable no_blend(GL_BLEND);
|
||||
LLGLEnable cull(GL_CULL_FACE);
|
||||
LLGLDepthTest depth(GL_TRUE);
|
||||
|
||||
gGL.matrixMode(LLRender::MM_PROJECTION);
|
||||
gGL.pushMatrix();
|
||||
gGL.loadIdentity();
|
||||
gGL.ortho(0.0f, mFullWidth, 0.0f, mFullHeight, -1.0f, 1.0f);
|
||||
|
||||
gGL.matrixMode(LLRender::MM_MODELVIEW);
|
||||
gGL.pushMatrix();
|
||||
gGL.loadIdentity();
|
||||
|
||||
gGL.color4f(0.15f, 0.2f, 0.3f, 1.f);
|
||||
|
||||
if (LLGLSLShader::sNoFixedFunction)
|
||||
{
|
||||
gUIProgram.bind();
|
||||
}
|
||||
|
||||
gl_rect_2d_simple( mFullWidth, mFullHeight );
|
||||
|
||||
gGL.matrixMode(LLRender::MM_PROJECTION);
|
||||
gGL.popMatrix();
|
||||
|
||||
gGL.matrixMode(LLRender::MM_MODELVIEW);
|
||||
gGL.popMatrix();
|
||||
|
||||
glClear(GL_DEPTH_BUFFER_BIT);
|
||||
|
||||
LLVector3 target_pos(0, 0, 0);
|
||||
|
||||
LLQuaternion camera_rot = LLQuaternion(mCameraPitch, LLVector3::y_axis) *
|
||||
LLQuaternion(mCameraYaw, LLVector3::z_axis);
|
||||
|
||||
LLQuaternion av_rot = camera_rot;
|
||||
LLViewerCamera::getInstance()->setOriginAndLookAt(
|
||||
target_pos + ((LLVector3(mCameraDistance, 0.f, 0.f) + mCameraOffset) * av_rot), // camera
|
||||
LLVector3::z_axis, // up
|
||||
target_pos + (mCameraOffset * av_rot) ); // point of interest
|
||||
|
||||
stop_glerror();
|
||||
|
||||
LLViewerCamera::getInstance()->setAspect((F32) mFullWidth / mFullHeight);
|
||||
LLViewerCamera::getInstance()->setView(LLViewerCamera::getInstance()->getDefaultFOV() / mCameraZoom);
|
||||
LLViewerCamera::getInstance()->setPerspective(FALSE, mOrigin.mX, mOrigin.mY, mFullWidth, mFullHeight, FALSE);
|
||||
|
||||
const LLVolumeFace &vf = mVolume->getVolumeFace(0);
|
||||
U32 num_indices = vf.mNumIndices;
|
||||
|
||||
gPipeline.enableLightsAvatar();
|
||||
|
||||
if (LLGLSLShader::sNoFixedFunction)
|
||||
{
|
||||
gObjectPreviewProgram.bind();
|
||||
}
|
||||
gGL.pushMatrix();
|
||||
const F32 SCALE = 1.25f;
|
||||
gGL.scalef(SCALE, SCALE, SCALE);
|
||||
const F32 BRIGHTNESS = 0.9f;
|
||||
gGL.color3f(BRIGHTNESS, BRIGHTNESS, BRIGHTNESS);
|
||||
|
||||
mVertexBuffer->setBuffer(LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_NORMAL | LLVertexBuffer::MAP_TEXCOORD0);
|
||||
mVertexBuffer->draw(LLRender::TRIANGLES, num_indices, 0);
|
||||
|
||||
gGL.popMatrix();
|
||||
|
||||
if (LLGLSLShader::sNoFixedFunction)
|
||||
{
|
||||
gObjectPreviewProgram.unbind();
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// refresh()
|
||||
//-----------------------------------------------------------------------------
|
||||
void LLPreviewSculpted::refresh()
|
||||
{
|
||||
mNeedsUpdate = TRUE;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// rotate()
|
||||
//-----------------------------------------------------------------------------
|
||||
void LLPreviewSculpted::rotate(F32 yaw_radians, F32 pitch_radians)
|
||||
{
|
||||
mCameraYaw = mCameraYaw + yaw_radians;
|
||||
|
||||
mCameraPitch = llclamp(mCameraPitch + pitch_radians, -0.95f * F_PI_BY_TWO, 0.95f * F_PI_BY_TWO);
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// zoom()
|
||||
//-----------------------------------------------------------------------------
|
||||
void LLPreviewSculpted::zoom(F32 zoom_amt)
|
||||
{
|
||||
mCameraZoom = llclamp(mCameraZoom + zoom_amt, 0.5f, 20.f);
|
||||
}
|
||||
|
||||
void LLPreviewSculpted::pan(F32 right, F32 up)
|
||||
{
|
||||
mCameraOffset.mV[VY] = llclamp(mCameraOffset.mV[VY] + right * mCameraDistance / mCameraZoom, -1.f, 1.f);
|
||||
mCameraOffset.mV[VZ] = llclamp(mCameraOffset.mV[VZ] + up * mCameraDistance / mCameraZoom, -1.f, 1.f);
|
||||
}
|
||||
@@ -1,144 +0,0 @@
|
||||
/**
|
||||
* @file LLFloaterSculptPreview.h
|
||||
* @brief LLFloaterSculptPreview class definition
|
||||
*
|
||||
* $LicenseInfo:firstyear=2004&license=viewergpl$
|
||||
*
|
||||
* Copyright (c) 2004-2009, Linden Research, Inc.
|
||||
*
|
||||
* Second Life Viewer Source Code
|
||||
* The source code in this file ("Source Code") is provided by Linden Lab
|
||||
* to you under the terms of the GNU General Public License, version 2.0
|
||||
* ("GPL"), unless you have obtained a separate licensing agreement
|
||||
* ("Other License"), formally executed by you and Linden Lab. Terms of
|
||||
* the GPL can be found in doc/GPL-license.txt in this distribution, or
|
||||
* online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
|
||||
*
|
||||
* There are special exceptions to the terms and conditions of the GPL as
|
||||
* it is applied to this Source Code. View the full text of the exception
|
||||
* in the file doc/FLOSS-exception.txt in this software distribution, or
|
||||
* online at
|
||||
* http://secondlifegrid.net/programs/open_source/licensing/flossexception
|
||||
*
|
||||
* By copying, modifying or distributing this software, you acknowledge
|
||||
* that you have read and understood your obligations described above,
|
||||
* and agree to abide by those obligations.
|
||||
*
|
||||
* ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
|
||||
* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
|
||||
* COMPLETENESS OR PERFORMANCE.
|
||||
* $/LicenseInfo$
|
||||
*/
|
||||
|
||||
#ifndef LL_LLFloaterSculptPreview_H
|
||||
#define LL_LLFloaterSculptPreview_H
|
||||
|
||||
#include "llfloater.h"
|
||||
#include "llresizehandle.h"
|
||||
#include "lldynamictexture.h"
|
||||
#include "llquaternion.h"
|
||||
#include "llviewerobjectlist.h"
|
||||
|
||||
class LLComboBox;
|
||||
class LLJoint;
|
||||
class LLViewerJointMesh;
|
||||
class LLVOAvatar;
|
||||
class LLTextBox;
|
||||
class LLVertexBuffer;
|
||||
|
||||
class LLPreviewSculpted : public LLViewerDynamicTexture
|
||||
{
|
||||
public:
|
||||
LLPreviewSculpted(S32 width, S32 height);
|
||||
virtual ~LLPreviewSculpted();
|
||||
|
||||
void setPreviewTarget(LLImageRaw *imagep, F32 distance);
|
||||
void setTexture(U32 name) { mTextureName = name; }
|
||||
|
||||
BOOL render();
|
||||
void refresh();
|
||||
void rotate(F32 yaw_radians, F32 pitch_radians);
|
||||
void zoom(F32 zoom_amt);
|
||||
void pan(F32 right, F32 up);
|
||||
virtual BOOL needsRender() { return mNeedsUpdate; }
|
||||
|
||||
protected:
|
||||
BOOL mNeedsUpdate;
|
||||
U32 mTextureName;
|
||||
F32 mCameraDistance;
|
||||
F32 mCameraYaw;
|
||||
F32 mCameraPitch;
|
||||
F32 mCameraZoom;
|
||||
LLVector3 mCameraOffset;
|
||||
LLPointer<LLVolume> mVolume;
|
||||
LLPointer<LLVertexBuffer> mVertexBuffer;
|
||||
};
|
||||
|
||||
|
||||
class LLPreviewAvatar : public LLViewerDynamicTexture
|
||||
{
|
||||
public:
|
||||
LLPreviewAvatar(S32 width, S32 height);
|
||||
virtual ~LLPreviewAvatar();
|
||||
|
||||
void setPreviewTarget(const std::string& joint_name, const std::string& mesh_name, LLImageRaw* imagep, F32 distance, BOOL male);
|
||||
void setTexture(U32 name) { mTextureName = name; }
|
||||
void clearPreviewTexture(const std::string& mesh_name);
|
||||
|
||||
BOOL render();
|
||||
void refresh();
|
||||
void rotate(F32 yaw_radians, F32 pitch_radians);
|
||||
void zoom(F32 zoom_amt);
|
||||
void pan(F32 right, F32 up);
|
||||
virtual BOOL needsRender() { return mNeedsUpdate; }
|
||||
|
||||
protected:
|
||||
BOOL mNeedsUpdate;
|
||||
LLJoint* mTargetJoint;
|
||||
LLViewerJointMesh* mTargetMesh;
|
||||
F32 mCameraDistance;
|
||||
F32 mCameraYaw;
|
||||
F32 mCameraPitch;
|
||||
F32 mCameraZoom;
|
||||
LLVector3 mCameraOffset;
|
||||
LLPointer<LLVOAvatar> mDummyAvatar;
|
||||
U32 mTextureName;
|
||||
};
|
||||
|
||||
class LLFloaterSculptPreview : public LLFloater
|
||||
{
|
||||
public:
|
||||
LLFloaterSculptPreview(LLImageRaw* src);
|
||||
virtual ~LLFloaterSculptPreview();
|
||||
static LLFloaterSculptPreview* show(LLImageRaw* src);
|
||||
virtual BOOL postBuild();
|
||||
|
||||
BOOL handleMouseDown(S32 x, S32 y, MASK mask);
|
||||
BOOL handleMouseUp(S32 x, S32 y, MASK mask);
|
||||
BOOL handleHover(S32 x, S32 y, MASK mask);
|
||||
BOOL handleScrollWheel(S32 x, S32 y, S32 clicks);
|
||||
|
||||
static void onMouseCaptureLostImagePreview(LLMouseHandler*);
|
||||
static void setUploadAmount(S32 amount) { sUploadAmount = amount; }
|
||||
|
||||
void clearAllPreviewTextures();
|
||||
|
||||
protected:
|
||||
static void onPreviewTypeCommit(LLUICtrl*,void*);
|
||||
void draw();
|
||||
bool loadImage(LLImageRaw* src);
|
||||
|
||||
LLPointer<LLImageRaw> mRawImagep;
|
||||
LLPointer<LLPreviewAvatar> mAvatarPreview;
|
||||
LLPointer<LLPreviewSculpted> mSculptedPreview;
|
||||
S32 mLastMouseX;
|
||||
S32 mLastMouseY;
|
||||
LLRect mPreviewRect;
|
||||
LLRectf mPreviewImageRect;
|
||||
LLPointer<LLViewerTexture> mImagep ;
|
||||
LLViewerObject* tmpvolume;
|
||||
|
||||
static S32 sUploadAmount;
|
||||
};
|
||||
|
||||
#endif // LL_LLFloaterSculptPreview_H
|
||||
File diff suppressed because it is too large
Load Diff
@@ -36,6 +36,7 @@
|
||||
#include "llagentui.h"
|
||||
#include "llanimationstates.h"
|
||||
#include "llcallingcard.h"
|
||||
#include "llcapabilitylistener.h"
|
||||
#include "llconsole.h"
|
||||
#include "llenvmanager.h"
|
||||
#include "llfirstuse.h"
|
||||
@@ -2197,6 +2198,33 @@ void LLAgent::setStartPosition( U32 location_id )
|
||||
}
|
||||
}
|
||||
|
||||
struct HomeLocationMapper: public LLCapabilityListener::CapabilityMapper
|
||||
{
|
||||
// No reply message expected
|
||||
HomeLocationMapper(): LLCapabilityListener::CapabilityMapper("HomeLocation") {}
|
||||
virtual void buildMessage(LLMessageSystem* msg,
|
||||
const LLUUID& agentID,
|
||||
const LLUUID& sessionID,
|
||||
const std::string& capabilityName,
|
||||
const LLSD& payload) const
|
||||
{
|
||||
msg->newMessageFast(_PREHASH_SetStartLocationRequest);
|
||||
msg->nextBlockFast( _PREHASH_AgentData);
|
||||
msg->addUUIDFast(_PREHASH_AgentID, agentID);
|
||||
msg->addUUIDFast(_PREHASH_SessionID, sessionID);
|
||||
msg->nextBlockFast( _PREHASH_StartLocationData);
|
||||
// corrected by sim
|
||||
msg->addStringFast(_PREHASH_SimName, "");
|
||||
msg->addU32Fast(_PREHASH_LocationID, payload["HomeLocation"]["LocationId"].asInteger());
|
||||
msg->addVector3Fast(_PREHASH_LocationPos,
|
||||
ll_vector3_from_sdmap(payload["HomeLocation"]["LocationPos"]));
|
||||
msg->addVector3Fast(_PREHASH_LocationLookAt,
|
||||
ll_vector3_from_sdmap(payload["HomeLocation"]["LocationLookAt"]));
|
||||
}
|
||||
};
|
||||
// Need an instance of this class so it will self-register
|
||||
static HomeLocationMapper homeLocationMapper;
|
||||
|
||||
void LLAgent::requestStopMotion( LLMotion* motion )
|
||||
{
|
||||
// Notify all avatars that a motion has stopped.
|
||||
|
||||
@@ -88,6 +88,9 @@ void LLAttachmentsMgr::onIdle(void *)
|
||||
|
||||
void LLAttachmentsMgr::onIdle()
|
||||
{
|
||||
if(!gAgent.getRegion())
|
||||
return;
|
||||
|
||||
S32 obj_count = mPendingAttachments.size();
|
||||
if (obj_count == 0)
|
||||
{
|
||||
|
||||
@@ -575,6 +575,8 @@ void LLDrawPoolTerrain::renderFull4TU()
|
||||
gGL.loadIdentity();
|
||||
gGL.translatef(-1.f, 0.f, 0.f);
|
||||
|
||||
gGL.matrixMode(LLRender::MM_MODELVIEW);
|
||||
|
||||
// Set alpha texture and do lighting modulation
|
||||
gGL.getTexUnit(3)->setTextureColorBlend(LLTexUnit::TBO_MULT, LLTexUnit::TBS_PREV_COLOR, LLTexUnit::TBS_VERT_COLOR);
|
||||
gGL.getTexUnit(3)->setTextureAlphaBlend(LLTexUnit::TBO_REPLACE, LLTexUnit::TBS_TEX_ALPHA);
|
||||
@@ -722,6 +724,7 @@ void LLDrawPoolTerrain::renderFull2TU()
|
||||
gGL.matrixMode(LLRender::MM_TEXTURE);
|
||||
gGL.loadIdentity();
|
||||
gGL.translatef(-1.f, 0.f, 0.f);
|
||||
gGL.matrixMode(LLRender::MM_MODELVIEW);
|
||||
|
||||
// Care about alpha only
|
||||
gGL.getTexUnit(0)->setTextureColorBlend(LLTexUnit::TBO_REPLACE, LLTexUnit::TBS_PREV_COLOR);
|
||||
@@ -761,7 +764,7 @@ void LLDrawPoolTerrain::renderFull2TU()
|
||||
gGL.matrixMode(LLRender::MM_TEXTURE);
|
||||
gGL.loadIdentity();
|
||||
gGL.translatef(-2.f, 0.f, 0.f);
|
||||
|
||||
gGL.matrixMode(LLRender::MM_MODELVIEW);
|
||||
// Care about alpha only
|
||||
gGL.getTexUnit(0)->setTextureColorBlend(LLTexUnit::TBO_REPLACE, LLTexUnit::TBS_PREV_COLOR);
|
||||
gGL.getTexUnit(0)->setTextureAlphaBlend(LLTexUnit::TBO_REPLACE, LLTexUnit::TBS_TEX_ALPHA);
|
||||
|
||||
@@ -494,13 +494,11 @@ void LLEnvManagerNew::onRegionSettingsResponse(const LLSD& content)
|
||||
// Load region sky presets.
|
||||
LLWLParamManager::instance().refreshRegionPresets();
|
||||
|
||||
bool bOverridden = M7WindlightInterface::getInstance()->hasOverride();
|
||||
// Not possible to assume M7WL should take precidence as OpenSim will send both
|
||||
// bool bOverridden = M7WindlightInterface::getInstance()->hasOverride();
|
||||
|
||||
// If using server settings, update managers.
|
||||
// if (getUseRegionSettings())
|
||||
// [RLVa:KB] - Checked: 2011-08-29 (RLVa-1.4.1a) | Added: RLVa-1.4.1a
|
||||
if (!bOverridden && (getUseRegionSettings()) && (LLWLParamManager::getInstance()->mAnimator.getIsRunning()) )
|
||||
// [/RLVa:KB]
|
||||
if (getUseRegionSettings())
|
||||
{
|
||||
updateManagersFromPrefs(mInterpNextChangeMessage);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/**
|
||||
/**
|
||||
* @file llfloateranimpreview.cpp
|
||||
* @brief LLFloaterAnimPreview class implementation
|
||||
*
|
||||
@@ -1430,17 +1430,18 @@ void LLFloaterAnimPreview::onBtnOK(void* userdata)
|
||||
}
|
||||
else
|
||||
// </edit>
|
||||
|
||||
upload_new_resource(floaterp->mTransactionID, // tid
|
||||
{
|
||||
upload_new_resource(floaterp->mTransactionID, // tid
|
||||
LLAssetType::AT_ANIMATION,
|
||||
name,
|
||||
desc,
|
||||
0,
|
||||
LLFolderType::FT_ANIMATION,
|
||||
LLFolderType::FT_NONE,
|
||||
LLInventoryType::IT_ANIMATION,
|
||||
LLFloaterPerms::getNextOwnerPerms(), LLFloaterPerms::getGroupPerms(), LLFloaterPerms::getEveryonePerms(),
|
||||
name,
|
||||
callback, expected_upload_cost, userdata);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -111,6 +111,7 @@ BOOL LLFloaterImagePreview::postBuild()
|
||||
}
|
||||
|
||||
childSetLabelArg("ok_btn", "[UPLOADFEE]", gHippoGridManager->getConnectedGrid()->getUploadFee());
|
||||
childSetAction("ok_btn", onBtnOK, this);
|
||||
|
||||
LLCtrlSelectionInterface* iface = childGetSelectionInterface("clothing_type_combo");
|
||||
if (iface)
|
||||
|
||||
@@ -157,7 +157,7 @@ BOOL LLFloaterNameDesc::postBuild()
|
||||
|
||||
// OK button
|
||||
childSetLabelArg("ok_btn", "[UPLOADFEE]", gHippoGridManager->getConnectedGrid()->getUploadFee());
|
||||
childSetAction("ok_btn", onBtnOK, this);
|
||||
//childSetAction("ok_btn", onBtnOK, this);
|
||||
setDefaultBtn("ok_btn");
|
||||
|
||||
return TRUE;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/**
|
||||
* @file llfloaternamedesc.h
|
||||
* @brief LLFloaterNameDesc class definition
|
||||
* @file llfloaterurlentry.h
|
||||
* @brief LLFloaterURLEntry class definition
|
||||
*
|
||||
* $LicenseInfo:firstyear=2007&license=viewergpl$
|
||||
*
|
||||
|
||||
@@ -67,11 +67,14 @@
|
||||
#include "llresmgr.h"
|
||||
#include "pipeline.h"
|
||||
#include "llspatialpartition.h"
|
||||
|
||||
|
||||
// [RLVa:KB]
|
||||
#include "rlvhandler.h"
|
||||
// [/RLVa:KB]
|
||||
|
||||
// Height of the yellow selection highlight posts for land
|
||||
const F32 PARCEL_POST_HEIGHT = 0.666f;
|
||||
|
||||
// Returns true if you got at least one object
|
||||
void LLToolSelectRect::handleRectangleSelection(S32 x, S32 y, MASK mask)
|
||||
{
|
||||
@@ -708,29 +711,27 @@ void LLViewerParcelMgr::renderCollisionSegments(U8* segments, BOOL use_pass, LLV
|
||||
x2 = x1 + PARCEL_GRID_STEP_METERS;
|
||||
y2 = y1;
|
||||
|
||||
{
|
||||
dy = (pos_y - y1) + DIST_OFFSET;
|
||||
|
||||
if (pos_x < x1)
|
||||
dx = pos_x - x1;
|
||||
else if (pos_x > x2)
|
||||
dx = pos_x - x2;
|
||||
else
|
||||
dx = 0;
|
||||
|
||||
dist = dx*dx+dy*dy;
|
||||
dy = (pos_y - y1) + DIST_OFFSET;
|
||||
|
||||
if (dist < MIN_DIST_SQ)
|
||||
alpha = MAX_ALPHA;
|
||||
else if (dist > MAX_DIST_SQ)
|
||||
alpha = 0.0f;
|
||||
else
|
||||
alpha = 30/dist;
|
||||
if (pos_x < x1)
|
||||
dx = pos_x - x1;
|
||||
else if (pos_x > x2)
|
||||
dx = pos_x - x2;
|
||||
else
|
||||
dx = 0;
|
||||
|
||||
alpha = llclamp(alpha, 0.0f, MAX_ALPHA);
|
||||
dist = dx*dx+dy*dy;
|
||||
|
||||
gGL.color4f(1.f, 1.f, 1.f, alpha);
|
||||
}
|
||||
if (dist < MIN_DIST_SQ)
|
||||
alpha = MAX_ALPHA;
|
||||
else if (dist > MAX_DIST_SQ)
|
||||
alpha = 0.0f;
|
||||
else
|
||||
alpha = 30/dist;
|
||||
|
||||
alpha = llclamp(alpha, 0.0f, MAX_ALPHA);
|
||||
|
||||
gGL.color4f(1.f, 1.f, 1.f, alpha);
|
||||
|
||||
if ((pos_y - y1) < 0) direction = SOUTH_MASK;
|
||||
else direction = NORTH_MASK;
|
||||
@@ -748,29 +749,27 @@ void LLViewerParcelMgr::renderCollisionSegments(U8* segments, BOOL use_pass, LLV
|
||||
x2 = x1;
|
||||
y2 = y1 + PARCEL_GRID_STEP_METERS;
|
||||
|
||||
{
|
||||
dx = (pos_x - x1) + DIST_OFFSET;
|
||||
|
||||
if (pos_y < y1)
|
||||
dy = pos_y - y1;
|
||||
else if (pos_y > y2)
|
||||
dy = pos_y - y2;
|
||||
else
|
||||
dy = 0;
|
||||
dx = (pos_x - x1) + DIST_OFFSET;
|
||||
|
||||
dist = dx*dx+dy*dy;
|
||||
|
||||
if (dist < MIN_DIST_SQ)
|
||||
alpha = MAX_ALPHA;
|
||||
else if (dist > MAX_DIST_SQ)
|
||||
alpha = 0.0f;
|
||||
else
|
||||
alpha = 30/dist;
|
||||
if (pos_y < y1)
|
||||
dy = pos_y - y1;
|
||||
else if (pos_y > y2)
|
||||
dy = pos_y - y2;
|
||||
else
|
||||
dy = 0;
|
||||
|
||||
alpha = llclamp(alpha, 0.0f, MAX_ALPHA);
|
||||
dist = dx*dx+dy*dy;
|
||||
|
||||
gGL.color4f(1.f, 1.f, 1.f, alpha);
|
||||
}
|
||||
if (dist < MIN_DIST_SQ)
|
||||
alpha = MAX_ALPHA;
|
||||
else if (dist > MAX_DIST_SQ)
|
||||
alpha = 0.0f;
|
||||
else
|
||||
alpha = 30/dist;
|
||||
|
||||
alpha = llclamp(alpha, 0.0f, MAX_ALPHA);
|
||||
|
||||
gGL.color4f(1.f, 1.f, 1.f, alpha);
|
||||
|
||||
if ((pos_x - x1) > 0) direction = WEST_MASK;
|
||||
else direction = EAST_MASK;
|
||||
@@ -927,4 +926,3 @@ void LLViewerObjectList::renderObjectBeacons()
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -99,6 +99,7 @@ public:
|
||||
void setAlpha(F32 alpha);
|
||||
void setZCompare(const BOOL zcompare);
|
||||
void setDoFade(const BOOL do_fade);
|
||||
bool getDoFade() const { return mDoFade; }
|
||||
// void setVisibleOffScreen(BOOL visible) { mVisibleOffScreen = visible; }
|
||||
|
||||
// mMaxLines of -1 means unlimited lines.
|
||||
|
||||
@@ -241,7 +241,7 @@ void LLMediaRemoteCtrl::enableMediaButtons()
|
||||
LLButton* music_stop_btn = mMusicStopBtn;
|
||||
LLButton* music_pause_btn = mMusicPauseBtn;
|
||||
LLButton* media_play_btn = mMediaPlayBtn;
|
||||
LLButton* media_stop_btn = mMediaPlayBtn;
|
||||
LLButton* media_stop_btn = mMediaStopBtn;
|
||||
LLButton* media_pause_btn = mMediaPauseBtn;
|
||||
LLIconCtrl* media_icon = mMediaIcon;
|
||||
|
||||
|
||||
@@ -336,7 +336,7 @@ void LLPanelClassified::processProperties(void* data, EAvatarProcessorType type)
|
||||
LLAvatarClassifiedInfo* c_info = static_cast<LLAvatarClassifiedInfo*>(data);
|
||||
if(c_info && mClassifiedID == c_info->classified_id)
|
||||
{
|
||||
LLAvatarPropertiesProcessor::getInstance()->removeObserver(mCreatorID, this);
|
||||
LLAvatarPropertiesProcessor::getInstance()->removeObserver(LLUUID::null, this);
|
||||
|
||||
// "Location text" is actually the original
|
||||
// name that owner gave the parcel, and the location.
|
||||
@@ -571,7 +571,7 @@ void LLPanelClassified::sendClassifiedInfoRequest()
|
||||
{
|
||||
if (mClassifiedID != mRequestedID)
|
||||
{
|
||||
LLAvatarPropertiesProcessor::getInstance()->addObserver(mCreatorID, this);
|
||||
LLAvatarPropertiesProcessor::getInstance()->addObserver(LLUUID::null, this);
|
||||
LLAvatarPropertiesProcessor::getInstance()->sendClassifiedInfoRequest(mClassifiedID);
|
||||
|
||||
mDataRequested = TRUE;
|
||||
|
||||
@@ -463,7 +463,7 @@ void LLPanelObject::getState( )
|
||||
}
|
||||
|
||||
// can move or rotate only linked group with move permissions, or sub-object with move and modify perms
|
||||
BOOL enable_move = objectp->permMove() && !objectp->isPermanentEnforced() && ((root_objectp == NULL) || !root_objectp->isPermanentEnforced()) && !objectp->isAttachment() && (objectp->permModify() || !gSavedSettings.getBOOL("EditLinkedParts"));
|
||||
BOOL enable_move = objectp->permMove() && !objectp->isPermanentEnforced() && ((root_objectp == NULL) || !root_objectp->isPermanentEnforced()) && ( (objectp->permModify() && !objectp->isAttachment()) || !gSavedSettings.getBOOL("EditLinkedParts"));
|
||||
BOOL enable_scale = objectp->permMove() && !objectp->isPermanentEnforced() && ((root_objectp == NULL) || !root_objectp->isPermanentEnforced()) && objectp->permModify();
|
||||
BOOL enable_rotate = objectp->permMove() && !objectp->isPermanentEnforced() && ((root_objectp == NULL) || !root_objectp->isPermanentEnforced()) && ( (objectp->permModify() && !objectp->isAttachment()) || !gSavedSettings.getBOOL("EditLinkedParts"));
|
||||
|
||||
@@ -513,8 +513,9 @@ void LLPanelObject::getState( )
|
||||
mCtrlPosX->setEnabled(enable_move);
|
||||
mCtrlPosY->setEnabled(enable_move);
|
||||
mCtrlPosZ->setEnabled(enable_move);
|
||||
mBtnLinkObj->setEnabled((enable_move && !single_volume));
|
||||
mBtnUnlinkObj->setEnabled((enable_move && (selected_count > 1)));
|
||||
mBtnLinkObj->setEnabled(LLSelectMgr::getInstance()->enableLinkObjects());
|
||||
mBtnUnlinkObj->setEnabled((LLSelectMgr::getInstance()->enableUnlinkObjects()
|
||||
&& (selected_count > 1) && LLSelectMgr::getInstance()->getSelection()->getRootObjectCount()<=1));
|
||||
mBtnCopyPos->setEnabled(enable_move);
|
||||
mBtnPastePos->setEnabled(enable_move);
|
||||
mBtnPastePosClip->setEnabled(enable_move);
|
||||
|
||||
@@ -931,7 +931,7 @@ void LLTextureFetchWorker::startWork(S32 param)
|
||||
// Called from LLWorkerThread::processRequest()
|
||||
bool LLTextureFetchWorker::doWork(S32 param)
|
||||
{
|
||||
static const F32 FETCHING_TIMEOUT = 120.f;//seconds
|
||||
static const F32 FETCHING_TIMEOUT = 15.f;//seconds
|
||||
|
||||
LLMutexLock lock(&mWorkMutex);
|
||||
|
||||
|
||||
@@ -87,7 +87,7 @@ void agent_toggle_down( EKeystate s )
|
||||
if(KEYSTATE_UP == s) return;
|
||||
|
||||
gAgent.moveUp(-1);
|
||||
if(KEYSTATE_DOWN == s && !gAgent.getFlying())
|
||||
if(KEYSTATE_DOWN == s && !gAgent.getFlying() && gSavedSettings.getBOOL("SGShiftCrouchToggle"))
|
||||
{
|
||||
isCrouch = !isCrouch;
|
||||
}
|
||||
|
||||
@@ -938,6 +938,8 @@ void init_client_menu(LLMenuGL* menu)
|
||||
'6', MASK_CONTROL|MASK_SHIFT ) );
|
||||
}
|
||||
|
||||
sub->addChild(new LLMenuItemCheckGL("Region Debug Console", handle_singleton_toggle<LLFloaterRegionDebugConsole>, NULL, handle_singleton_check<LLFloaterRegionDebugConsole>,NULL,'`', MASK_CONTROL|MASK_SHIFT));
|
||||
|
||||
sub->addChild(new LLMenuItemCheckGL("Fast Timers",
|
||||
&toggle_visibility,
|
||||
NULL,
|
||||
@@ -1295,7 +1297,6 @@ void init_debug_ui_menu(LLMenuGL* menu)
|
||||
(void*)"DoubleClickTeleport"));
|
||||
menu->addSeparator();
|
||||
// menu->addChild(new LLMenuItemCallGL( "Print Packets Lost", &print_packets_lost, NULL, NULL, 'L', MASK_SHIFT ));
|
||||
menu->addChild(new LLMenuItemCheckGL("Region Debug", handle_singleton_toggle<LLFloaterRegionDebugConsole>, NULL, handle_singleton_check<LLFloaterRegionDebugConsole>,NULL,'`', MASK_CONTROL|MASK_SHIFT));
|
||||
menu->addChild(new LLMenuItemCheckGL("Debug SelectMgr", menu_toggle_control, NULL, menu_check_control, (void*)"DebugSelectMgr"));
|
||||
menu->addChild(new LLMenuItemToggleGL("Debug Clicks", &gDebugClicks));
|
||||
menu->addChild(new LLMenuItemToggleGL("Debug Views", &LLView::sDebugRects));
|
||||
|
||||
@@ -359,12 +359,10 @@ class LLFileUploadBulk : public view_listener_t
|
||||
// Also fix single upload to charge first, then refund
|
||||
// <edit>
|
||||
S32 expected_upload_cost = LLGlobalEconomy::Singleton::getInstance()->getPriceUpload();
|
||||
const char* notification_type = expected_upload_cost ? "BulkTemporaryUpload" : "BulkTemporaryUploadFree";
|
||||
LLSD args;
|
||||
std::string msg = "Would you like to bulk upload the files as temporary files?\nOnly textures will upload as temporary on Agni and Aditi.";
|
||||
if(expected_upload_cost)
|
||||
msg.append(llformat("\nWARNING: Each upload costs L$%d if it's not temporary.",expected_upload_cost));
|
||||
args["MESSAGE"] = msg;
|
||||
LLNotifications::instance().add("GenericAlertYesNoCancel", args, LLSD(), onConfirmBulkUploadTemp);
|
||||
args["UPLOADCOST"] = gHippoGridManager->getConnectedGrid()->getUploadFee();
|
||||
LLNotifications::instance().add(notification_type, args, LLSD(), onConfirmBulkUploadTemp);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -4392,7 +4392,7 @@ void process_agent_movement_complete(LLMessageSystem* msg, void**)
|
||||
return;
|
||||
}
|
||||
|
||||
if (!gLastVersionChannel.empty())
|
||||
if (!gLastVersionChannel.empty() && gSavedSettings.getBOOL("SGServerVersionChangedNotification"))
|
||||
{
|
||||
LLSD payload;
|
||||
payload["message"] = version_channel;
|
||||
|
||||
@@ -1235,6 +1235,9 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys,
|
||||
mesgsys->getBinaryDataFast(_PREHASH_ObjectData, _PREHASH_Data, mData, data_size, block_num);
|
||||
}
|
||||
|
||||
mHudTextString.clear(); //Cache for reset on debug infodisplay toggle.
|
||||
mHudTextColor = LLColor4U::white; //Cache for reset on debug infodisplay toggle.
|
||||
|
||||
S32 text_size = mesgsys->getSizeFast(_PREHASH_ObjectData, block_num, _PREHASH_Text);
|
||||
if (text_size > 1)
|
||||
{
|
||||
@@ -1249,17 +1252,21 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys,
|
||||
mText->setOnHUDAttachment(isHUDAttachment());
|
||||
}
|
||||
|
||||
std::string temp_string;
|
||||
mesgsys->getStringFast(_PREHASH_ObjectData, _PREHASH_Text, temp_string, block_num );
|
||||
//Cache for reset on debug infodisplay toggle.
|
||||
mesgsys->getStringFast(_PREHASH_ObjectData, _PREHASH_Text, mHudTextString, block_num );
|
||||
|
||||
LLColor4U coloru;
|
||||
mesgsys->getBinaryDataFast(_PREHASH_ObjectData, _PREHASH_TextColor, coloru.mV, 4, block_num);
|
||||
|
||||
// alpha was flipped so that it zero encoded better
|
||||
coloru.mV[3] = 255 - coloru.mV[3];
|
||||
mText->setColor(LLColor4(coloru));
|
||||
mText->setString(temp_string);
|
||||
|
||||
mHudTextColor = LLColor4(coloru); //Cache for reset on debug infodisplay toggle.
|
||||
if(mText->getDoFade()) //Fade is disabled when this is being overridden by debug text.
|
||||
{
|
||||
mText->setColor(mHudTextColor);
|
||||
mText->setString(mHudTextString);
|
||||
}
|
||||
|
||||
if (mDrawable.notNull())
|
||||
{
|
||||
setChanged(MOVED | SILHOUETTE);
|
||||
@@ -1638,6 +1645,9 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys,
|
||||
mData = NULL;
|
||||
}
|
||||
|
||||
mHudTextString.clear(); //Cache for reset on debug infodisplay toggle.
|
||||
mHudTextColor = LLColor4U::white; //Cache for reset on debug infodisplay toggle.
|
||||
|
||||
// Setup object text
|
||||
if (!mText && (value & 0x4))
|
||||
{
|
||||
@@ -1651,13 +1661,17 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys,
|
||||
|
||||
if (value & 0x4)
|
||||
{
|
||||
std::string temp_string;
|
||||
dp->unpackString(temp_string, "Text");
|
||||
//Cache for reset on debug infodisplay toggle.
|
||||
dp->unpackString(mHudTextString, "Text");
|
||||
LLColor4U coloru;
|
||||
dp->unpackBinaryDataFixed(coloru.mV, 4, "Color");
|
||||
coloru.mV[3] = 255 - coloru.mV[3];
|
||||
mText->setColor(LLColor4(coloru));
|
||||
mText->setString(temp_string);
|
||||
mHudTextColor = LLColor4(coloru); //Cache for reset on debug infodisplay toggle.
|
||||
if(mText->getDoFade()) //Fade is disabled when this is being overridden by debug text.
|
||||
{
|
||||
mText->setColor(mHudTextColor);
|
||||
mText->setString(mHudTextString);
|
||||
}
|
||||
setChanged(TEXTURE);
|
||||
}
|
||||
else if(mText.notNull())
|
||||
@@ -4623,8 +4637,11 @@ void LLViewerObject::setCanSelect(BOOL canSelect)
|
||||
|
||||
void LLViewerObject::setDebugText(const std::string &utf8text)
|
||||
{
|
||||
if (utf8text.empty() && !mText)
|
||||
if (utf8text.empty() && mHudTextString.empty())
|
||||
{
|
||||
if(mText)
|
||||
mText->markDead();
|
||||
mText = NULL;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -4637,10 +4654,10 @@ void LLViewerObject::setDebugText(const std::string &utf8text)
|
||||
mText->setSourceObject(this);
|
||||
mText->setOnHUDAttachment(isHUDAttachment());
|
||||
}
|
||||
mText->setColor(LLColor4::white);
|
||||
mText->setString(utf8text);
|
||||
mText->setZCompare(FALSE);
|
||||
mText->setDoFade(FALSE);
|
||||
mText->setColor(utf8text.empty() ? mHudTextColor : LLColor4::white );
|
||||
mText->setString(utf8text.empty() ? mHudTextString : utf8text );
|
||||
mText->setZCompare(utf8text.empty());
|
||||
mText->setDoFade(utf8text.empty());
|
||||
updateText();
|
||||
}
|
||||
// <edit>
|
||||
|
||||
@@ -654,6 +654,9 @@ public:
|
||||
|
||||
// TODO: Make all this stuff private. JC
|
||||
LLPointer<LLHUDText> mText;
|
||||
std::string mHudTextString; //Cache for reset on debug infodisplay toggle.
|
||||
LLColor4 mHudTextColor; //Cache for reset on debug infodisplay toggle.
|
||||
|
||||
LLPointer<LLHUDIcon> mIcon;
|
||||
|
||||
bool mIsNameAttachment;
|
||||
|
||||
@@ -53,9 +53,6 @@ class LLViewerRegion;
|
||||
// | EAST_MASK
|
||||
// | WEST_MASK);
|
||||
|
||||
const F32 PARCEL_POST_HEIGHT = 0.666f;
|
||||
//const F32 PARCEL_POST_HEIGHT = 20.f;
|
||||
|
||||
// Specify the type of land transfer taking place
|
||||
//enum ELandTransferType
|
||||
//{
|
||||
|
||||
@@ -599,6 +599,7 @@ void LLViewerShaderMgr::setShaders()
|
||||
LLWaterParamManager::getInstance()->updateShaderLinks();
|
||||
LLWLParamManager::getInstance()->updateShaderLinks();
|
||||
|
||||
gPipeline.refreshCachedSettings();
|
||||
gPipeline.createGLBuffers();
|
||||
|
||||
reentrance = false;
|
||||
|
||||
@@ -1891,7 +1891,7 @@ void LLViewerFetchedTexture::updateVirtualSize()
|
||||
for(U32 i = 0 ; i < mNumFaces ; i++)
|
||||
{
|
||||
LLFace* facep = mFaceList[i] ;
|
||||
if(facep->getDrawable()->isRecentlyVisible())
|
||||
if(facep && facep->getDrawable() && facep->getDrawable()->isRecentlyVisible())
|
||||
{
|
||||
addTextureStats(facep->getVirtualSize()) ;
|
||||
setAdditionalDecodePriority(facep->getImportanceToCamera()) ;
|
||||
|
||||
@@ -2033,7 +2033,11 @@ void LLViewerWindow::shutdownViews()
|
||||
{
|
||||
gMorphView->setVisible(FALSE);
|
||||
}
|
||||
|
||||
|
||||
// DEV-40930: Clear sModalStack. Otherwise, any LLModalDialog left open
|
||||
// will crump with LL_ERRS.
|
||||
LLModalDialog::shutdownModals();
|
||||
|
||||
// Delete all child views.
|
||||
delete mRootView;
|
||||
mRootView = NULL;
|
||||
|
||||
@@ -9700,8 +9700,17 @@ BOOL LLVOAvatar::isTextureDefined(LLVOAvatarDefines::ETextureIndex te, U32 index
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return (getImage(te, index)->getID() != IMG_DEFAULT_AVATAR &&
|
||||
getImage(te, index)->getID() != IMG_DEFAULT);
|
||||
LLViewerTexture* img = getImage(te, index);
|
||||
if(img)
|
||||
{
|
||||
return (img->getID() != IMG_DEFAULT_AVATAR &&
|
||||
img->getID() != IMG_DEFAULT);
|
||||
}
|
||||
else
|
||||
{
|
||||
llwarns << "Image doesn't exist" << llendl;
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
//virtual
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/**
|
||||
/**
|
||||
* @file llvoavatar.cpp
|
||||
* @brief Implementation of LLVOAvatar class which is a derivation fo LLViewerObject
|
||||
*
|
||||
@@ -1182,6 +1182,13 @@ const LLViewerJointAttachment *LLVOAvatarSelf::attachObject(LLViewerObject *view
|
||||
gRlvAttachmentLocks.updateLockedHUD();
|
||||
}
|
||||
// [/RLVa:KB]
|
||||
bool detach_bridge = gSavedSettings.getBOOL("SGDetachBridge");
|
||||
if (detach_bridge && RlvAttachPtLookup::getAttachPointIndex(viewer_object) == 127)
|
||||
{
|
||||
llinfos << "Bridge detected! detaching" << llendl;
|
||||
LLAppearanceMgr::getInstance()->removeItemFromAvatar(attachment_id);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return attachment;
|
||||
|
||||
@@ -86,9 +86,9 @@ public:
|
||||
glNormalPointer(GL_FLOAT, LLVertexBuffer::sTypeSize[TYPE_NORMAL], (void*)(base + mOffsets[TYPE_NORMAL]));
|
||||
}
|
||||
if (data_mask & MAP_TEXCOORD3)
|
||||
{ //substitute tex coord 0 for tex coord 3
|
||||
{ //substitute tex coord 1 for tex coord 3
|
||||
glClientActiveTextureARB(GL_TEXTURE3_ARB);
|
||||
glTexCoordPointer(2,GL_FLOAT, LLVertexBuffer::sTypeSize[TYPE_TEXCOORD0], (void*)(base + mOffsets[TYPE_TEXCOORD0]));
|
||||
glTexCoordPointer(2,GL_FLOAT, LLVertexBuffer::sTypeSize[TYPE_TEXCOORD1], (void*)(base + mOffsets[TYPE_TEXCOORD1]));
|
||||
glClientActiveTextureARB(GL_TEXTURE0_ARB);
|
||||
}
|
||||
if (data_mask & MAP_TEXCOORD2)
|
||||
|
||||
@@ -1153,6 +1153,9 @@ void LLVOVolume::updateFaceFlags()
|
||||
{
|
||||
for (S32 i = 0; i < getVolume()->getNumFaces(); i++)
|
||||
{
|
||||
if(mDrawable->getNumFaces() <= i || getNumTEs() <= i)
|
||||
return;
|
||||
|
||||
LLFace *face = mDrawable->getFace(i);
|
||||
if (face)
|
||||
{
|
||||
|
||||
@@ -1,193 +1,193 @@
|
||||
// Microsoft Visual C++ generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
|
||||
#ifdef IDC_STATIC
|
||||
#undef IDC_STATIC
|
||||
#endif
|
||||
#define IDC_STATIC (-1)
|
||||
#include "winresrc.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
// Commented out because it only compiles if you have MFC installed.
|
||||
//#include "winres.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// English (U.S.) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE
|
||||
BEGIN
|
||||
"#include ""winres.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE
|
||||
BEGIN
|
||||
"\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
IDI_LL_ICON ICON "singularity_icon.ico"
|
||||
IDI_LCD_LL_ICON ICON "singularity_icon.ico"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Dialog
|
||||
//
|
||||
|
||||
SPLASHSCREEN DIALOG 32, 32, 144, 34
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
ICON IDI_LL_ICON,IDC_STATIC,7,7,20,20
|
||||
LTEXT "Loading Second Life...",666,36,13,91,8
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// DESIGNINFO
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
GUIDELINES DESIGNINFO
|
||||
BEGIN
|
||||
|
||||
"SPLASHSCREEN", DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 137
|
||||
VERTGUIDE, 36
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 27
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Cursor
|
||||
//
|
||||
|
||||
TOOLGRAB CURSOR "lltoolgrab.cur"
|
||||
TOOLLAND CURSOR "lltoolland.cur"
|
||||
TOOLZOOMIN CURSOR "lltoolzoomin.cur"
|
||||
TOOLCREATE CURSOR "lltoolcreate.cur"
|
||||
ARROWDRAG CURSOR "llarrowdrag.cur"
|
||||
ARROW CURSOR "llarrow.cur"
|
||||
NOLOCKED CURSOR "llnolocked.cur"
|
||||
ARROWLOCKED CURSOR "llarrowlocked.cur"
|
||||
GRABLOCKED CURSOR "llgrablocked.cur"
|
||||
TOOLROTATE CURSOR "lltoolrotate.cur"
|
||||
TOOLTRANSLATE CURSOR "lltooltranslate.cur"
|
||||
TOOLSCALE CURSOR "lltoolscale.cur"
|
||||
TOOLCAMERA CURSOR "lltoolcamera.cur"
|
||||
TOOLPAN CURSOR "lltoolpan.cur"
|
||||
TOOLFOCUS CURSOR "lltoolfocus.cur"
|
||||
TOOLPICKOBJECT3 CURSOR "toolpickobject3.cur"
|
||||
ARROWCOPY CURSOR "arrowcop.cur"
|
||||
ARROWDRAGMULTI CURSOR "llarrowdragmulti.cur"
|
||||
ARROWCOPYMULTI CURSOR "arrowcopmulti.cur"
|
||||
TOOLSIT CURSOR "toolsit.cur"
|
||||
TOOLBUY CURSOR "toolbuy.cur"
|
||||
TOOLPAY CURSOR "toolpay.cur"
|
||||
TOOLOPEN CURSOR "toolopen.cur"
|
||||
TOOLPIPETTE CURSOR "toolpipette.cur"
|
||||
TOOLPLAY CURSOR "toolplay.cur"
|
||||
TOOLPAUSE CURSOR "toolpause.cur"
|
||||
TOOLMEDIAOPEN CURSOR "toolmediaopen.cur"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Version
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 1,5,0,0
|
||||
PRODUCTVERSION 1,5,0,0
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x40004L
|
||||
FILETYPE 0x1L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904b0"
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Siana Gearz"
|
||||
VALUE "FileDescription", "Singularity Viewer"
|
||||
VALUE "FileVersion", "1.5.0.0"
|
||||
VALUE "InternalName", "Second Life"
|
||||
VALUE "LegalCopyright", "Copyright <20> 2001-2010, Linden Research, Inc., Copyright 2010 Siana Gearz"
|
||||
VALUE "OriginalFilename", "singularity.exe"
|
||||
VALUE "ProductName", "Singularity Viewer"
|
||||
VALUE "ProductVersion", "1.5.0.0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 1200
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Bitmap
|
||||
//
|
||||
|
||||
#endif // English (U.S.) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
||||
// Microsoft Visual C++ generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
|
||||
#ifdef IDC_STATIC
|
||||
#undef IDC_STATIC
|
||||
#endif
|
||||
#define IDC_STATIC (-1)
|
||||
#include "winresrc.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
// Commented out because it only compiles if you have MFC installed.
|
||||
//#include "winres.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// English (U.S.) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE
|
||||
BEGIN
|
||||
"#include ""winres.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE
|
||||
BEGIN
|
||||
"\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
IDI_LL_ICON ICON "singularity_icon.ico"
|
||||
IDI_LCD_LL_ICON ICON "singularity_icon.ico"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Dialog
|
||||
//
|
||||
|
||||
SPLASHSCREEN DIALOG 32, 32, 144, 34
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
ICON IDI_LL_ICON,IDC_STATIC,7,7,20,20
|
||||
LTEXT "Loading Second Life...",666,36,13,91,8
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// DESIGNINFO
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
GUIDELINES DESIGNINFO
|
||||
BEGIN
|
||||
|
||||
"SPLASHSCREEN", DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 137
|
||||
VERTGUIDE, 36
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 27
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Cursor
|
||||
//
|
||||
|
||||
TOOLGRAB CURSOR "lltoolgrab.cur"
|
||||
TOOLLAND CURSOR "lltoolland.cur"
|
||||
TOOLZOOMIN CURSOR "lltoolzoomin.cur"
|
||||
TOOLCREATE CURSOR "lltoolcreate.cur"
|
||||
ARROWDRAG CURSOR "llarrowdrag.cur"
|
||||
ARROW CURSOR "llarrow.cur"
|
||||
NOLOCKED CURSOR "llnolocked.cur"
|
||||
ARROWLOCKED CURSOR "llarrowlocked.cur"
|
||||
GRABLOCKED CURSOR "llgrablocked.cur"
|
||||
TOOLROTATE CURSOR "lltoolrotate.cur"
|
||||
TOOLTRANSLATE CURSOR "lltooltranslate.cur"
|
||||
TOOLSCALE CURSOR "lltoolscale.cur"
|
||||
TOOLCAMERA CURSOR "lltoolcamera.cur"
|
||||
TOOLPAN CURSOR "lltoolpan.cur"
|
||||
TOOLFOCUS CURSOR "lltoolfocus.cur"
|
||||
TOOLPICKOBJECT3 CURSOR "toolpickobject3.cur"
|
||||
ARROWCOPY CURSOR "arrowcop.cur"
|
||||
ARROWDRAGMULTI CURSOR "llarrowdragmulti.cur"
|
||||
ARROWCOPYMULTI CURSOR "arrowcopmulti.cur"
|
||||
TOOLSIT CURSOR "toolsit.cur"
|
||||
TOOLBUY CURSOR "toolbuy.cur"
|
||||
TOOLPAY CURSOR "toolpay.cur"
|
||||
TOOLOPEN CURSOR "toolopen.cur"
|
||||
TOOLPIPETTE CURSOR "toolpipette.cur"
|
||||
TOOLPLAY CURSOR "toolplay.cur"
|
||||
TOOLPAUSE CURSOR "toolpause.cur"
|
||||
TOOLMEDIAOPEN CURSOR "toolmediaopen.cur"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Version
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 1,5,0,0
|
||||
PRODUCTVERSION 1,5,0,0
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x40004L
|
||||
FILETYPE 0x1L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904b0"
|
||||
BEGIN
|
||||
VALUE "CompanyName", "Siana Gearz"
|
||||
VALUE "FileDescription", "Singularity Viewer"
|
||||
VALUE "FileVersion", "1.5.0.0"
|
||||
VALUE "InternalName", "Second Life"
|
||||
VALUE "LegalCopyright", "Copyright <20> 2001-2010, Linden Research, Inc., Copyright 2010 Siana Gearz"
|
||||
VALUE "OriginalFilename", "singularity.exe"
|
||||
VALUE "ProductName", "Singularity Viewer"
|
||||
VALUE "ProductVersion", "1.5.0.0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 1200
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Bitmap
|
||||
//
|
||||
|
||||
#endif // English (U.S.) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
||||
|
||||
@@ -10,23 +10,20 @@
|
||||
</panel>
|
||||
|
||||
<panel border="false" label="Credits" height="386" name="credits_panel">
|
||||
<!--Note to Translators: Please do not translate the following text_editor-->
|
||||
<text_editor enabled="false" follows="left|top" bg_readonly_color="transparent" left="3" max_length="65536" name="credits_editor" top="-1" bottom="0" width="443" word_wrap="true">
|
||||
Singularity Viewer is developed and maintained by Siana Gearz, Shyotl Kuhr, Aleric Inglewood, Narv Czervik, Tigh MacFanatic, Inusaito Kanya, Sovereign Engineer and Latif Khalifa, with contributions by Fractured Crystal, Fritigern Gothly, Henri Beauchamp, McCabe Maxsted, Kadah Coba, Kitty Barnett, nhede Core, Nomade Zhao, Revolution Smythe, Selvone Franizzi, Thickbrick Sleaford, Zauber Parecelsus, Wolfspirit Magic and others. Singularity is based upon Ascent source code. Credits for Ascent include Hg Beeks, Charley Levenque, Hazim Gazov, Zwagoth Klaar, Qarl Fizz, and others. Ascent is based upon the Inertia source code.
|
||||
Singularity Viewer is developed and maintained by Siana Gearz, Shyotl Kuhr, Aleric Inglewood, Narv Czervik, Tigh MacFanatic, Inusaito Kanya, Sovereign Engineer and Latif Khalifa, with contributions by Damian Zhaoying, Fractured Crystal, Franxisco Romano, Fritigern Gothly, Henri Beauchamp, McCabe Maxsted, Kadah Coba, Kitty Barnett, nhede Core, Nomade Zhao, Revolution Smythe, Selvone Franizzi, Thickbrick Sleaford, Wolfspirit Magic, Zauber Parecelsus and others. Singularity is based upon Ascent source code. Credits for Ascent include Hg Beeks, Charley Levenque, Hazim Gazov, Zwagoth Klaar, Qarl Fizz, and others. Ascent is based upon the Inertia source code.
|
||||
|
||||
Singularity Viewer includes source code contributions of the following residents: Able Whitman, Adam Marker, Agathos Frascati, Aimee Trescothick, Alejandro Rosenthal, Aleric Inglewood, Alissa Sabre, Angus Boyd, Ann Congrejo, Argent Stonecutter, Asuka Neely, Balp Allen, Benja Kepler, Biancaluce Robbiani, Blakar Ogre, blino Nakamura, Boroondas Gupte, Bulli Schumann, bushing Spatula, Carjay McGinnis, Catherine Pfeffer, Celierra Darling, Cron Stardust, Dale Glass, Drewan Keats, Dylan Haskell, Dzonatas Sol, Eddy Stryker, EponymousDylan Ra, Eva Nowicka, Farallon Greyskin, Feep Larsson, Flemming Congrejo, Fluf Fredriksson, Fractured Crystal, Fremont Cunningham, Geneko Nemeth, Gigs Taggart, Ginko Bayliss, Grazer Kline, Gudmund Shepherd, Hamncheese Omlet, HappySmurf Papp, Henri Beauchamp, Hikkoshi Sakai, Hiro Sommambulist, Hoze Menges, Ian Kas, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Joghert LeSabre, Kage Pixel, Ken March, Kerutsen Sellery, Khyota Wulluf, Kunnis Basiat, Lisa Lowe, Lockhart Cordoso,
|
||||
maciek marksman, Magnus Balczo, Malwina Dollinger, march Korda, Matthew Dowd, McCabe Maxsted, Michelle2 Zenovka, Mm Alder, Mr Greggan, Nicholaz Beresford, Nounouch Hapmouche, Patric Mills, Paul Churchill, Paula Innis, Peekay Semyorka, Peter Lameth, Pf Shan, princess niven, Renault Clio, Ringo Tuxing, Robin Cornelius, Ryozu Kojima, Salahzar Stenvaag, Sammy Frederix, Scrippy Scofield, Seg Baphomet, Sergen Davies, SignpostMarv Martin, Simon Nolan, SpacedOut Frye, Sporked Friis, Stevex Janus, Still Defiant, Strife Onizuka, Tayra Dagostino, TBBle Kurosawa, Teardrops Fall, tenebrous pau, Tharax Ferraris, Thickbrick Sleaford, Thraxis Epsilon, tiamat bingyi, TraductoresAnonimos Alter, Tue Torok, Vadim Bigbear, Vixen Heron, Whoops Babii, Wilton Lundquist, Zarkonnen Decosta, Zi Ree, Zipherius Turas, Franxisco Romano, Damian Zhaoying
|
||||
Singularity Viewer includes source code contributions of the following residents: Able Whitman, Adam Marker, Agathos Frascati, Aimee Trescothick, Alejandro Rosenthal, Aleric Inglewood, Alissa Sabre, Angus Boyd, Ann Congrejo, Argent Stonecutter, Asuka Neely, Balp Allen, Benja Kepler, Biancaluce Robbiani, Blakar Ogre, blino Nakamura, Boroondas Gupte, Bulli Schumann, bushing Spatula, Carjay McGinnis, Catherine Pfeffer, Celierra Darling, Cron Stardust, Dale Glass, Drewan Keats, Dylan Haskell, Dzonatas Sol, Eddy Stryker, EponymousDylan Ra, Eva Nowicka, Farallon Greyskin, Feep Larsson, Flemming Congrejo, Fluf Fredriksson, Fractured Crystal, Fremont Cunningham, Geneko Nemeth, Gigs Taggart, Ginko Bayliss, Grazer Kline, Gudmund Shepherd, Hamncheese Omlet, HappySmurf Papp, Henri Beauchamp, Hikkoshi Sakai, Hiro Sommambulist, Hoze Menges, Ian Kas, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Joghert LeSabre, Kage Pixel, Ken March, Kerutsen Sellery, Khyota Wulluf, Kunnis Basiat, Lisa Lowe, Lockhart Cordoso, maciek marksman, Magnus Balczo, Malwina Dollinger, march Korda, Matthew Dowd, McCabe Maxsted, Michelle2 Zenovka, Mm Alder, Mr Greggan, Nicholaz Beresford, Nounouch Hapmouche, Patric Mills, Paul Churchill, Paula Innis, Peekay Semyorka, Peter Lameth, Pf Shan, princess niven, Renault Clio, Ringo Tuxing, Robin Cornelius, Ryozu Kojima, Salahzar Stenvaag, Sammy Frederix, Scrippy Scofield, Seg Baphomet, Sergen Davies, SignpostMarv Martin, Simon Nolan, SpacedOut Frye, Sporked Friis, Stevex Janus, Still Defiant, Strife Onizuka, Tayra Dagostino, TBBle Kurosawa, Teardrops Fall, tenebrous pau, Tharax Ferraris, Thickbrick Sleaford, Thraxis Epsilon, tiamat bingyi, TraductoresAnonimos Alter, Tue Torok, Vadim Bigbear, Vixen Heron, Whoops Babii, Wilton Lundquist, Zarkonnen Decosta, Zi Ree, and Zipherius Turas.
|
||||
|
||||
Second Life is brought to you by Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen,
|
||||
Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan,
|
||||
Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx,
|
||||
Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les, Michon, Jenelle, Geo, Siz, Shapiro, Pete, Calyle, Selene, Allen, Phoebe, Goldin, Kimmora, Dakota, Slaton, Lindquist, Zoey, Hari, Othello, Rohit, Sheldon, Petra, Viale, Gordon, Kaye, Pink, Ferny, Emerson, Davy, Bri, Chan, Juan, Robert, Terrence, Nathan, Carl and many others.
|
||||
Second Life is brought to you by Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les, Michon, Jenelle, Geo, Siz, Shapiro, Pete, Calyle, Selene, Allen, Phoebe, Goldin, Kimmora, Dakota, Slaton, Lindquist, Zoey, Hari, Othello, Rohit, Sheldon, Petra, Viale, Gordon, Kaye, Pink, Ferny, Emerson, Davy, Bri, Chan, Juan, Robert, Terrence, Nathan, Carl and many others.
|
||||
|
||||
Linden Lab would like to thank the following residents: able whitman, Adeon Writer, adonaira aabye, Aeron Kohime, Agathos Frascati, Aimee Trescothick, Aleric Inglewood, Alissa Sabre, Aminom Marvin, Angela Talamasca, Aralara Rajal, Armin Weatherwax, Ashrilyn Hayashida, Athanasius Skytower, Aura Dirval, Barney Boomslang, Biancaluce Robbiani, Biker Offcourse, Borg Capalini, Bulli Schumann, catherine pfeffer, Chalice Yao, Corre Porta, Court Goodman, Cummere Mayo, Dale Innis, Darien Caldwell, Darjeeling Schoonhoven, Daten Thielt, dimentox travanti, Dirk Talamasca, Drew Dwi, Duckless Vandyke, Elanthius Flagstaff, Electro Burnstein, emiley tomsen, Escort DeFarge, Eva Rau, Ezian Ecksol, Fire Centaur, Fluf Fredriksson, Francisco Koolhoven, Frontera Thor, Frungi Stastny, Gally Young, gearsawe stonecutter, Gigs Taggart, Gordon Wendt, Gudmund Shepherd, Gypsy Paz, Harleen Gretzky, Henri Beauchamp, Inma Rau, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Jessicka Graves, Joeseph Albanese, Joshua Philgarlic, Khyota
|
||||
Wulluf, kirstenlee Cinquetti, Latif Khalifa, Lex Neva, Lilibeth Andree, Lisa Lowe, Lunita Savira, Loosey Demonia, lum pfohl, Marcos Fonzarelli, MartinRJ Fayray, Marusame Arai, Matthew Dowd, Maya Remblai, McCabe Maxsted, Meghan Dench, Melchoir Tokhes, Menos Short, Michelle2 Zenovka, Mimika Oh, Minerva Memel, Mm Alder, Ochi Wolfe, Omei Turnbull, Pesho Replacement, Phantom Ninetails, phoenixflames kukulcan, Polo Gufler, prez pessoa, princess niven, Prokofy Neva, Qie Niangao, Rem Beattie, RodneyLee Jessop, Saijanai Kuhn, Seg Baphomet, Sergen Davies, Shirley Marquez, SignpostMarv Martin, Sindy Tsure, Sira Arbizu, Skips Jigsaw, Sougent Harrop, Spritely Pixel, Squirrel Wood, StarSong Bright, Subversive Writer, Sugarcult Dagger, Sylumm Grigorovich, Tammy Nowotny, Tanooki Darkes, Tayra Dagostino, Theoretical Chemistry, Thickbrick Sleaford, valerie rosewood, Vex Streeter, Vixen Heron, Whoops Babii, Winter Ventura, Xiki Luik, Yann Dufaux, Yina Yao, Yukinoroh Kamachi, Zolute Infinity, Zwagoth Klaar
|
||||
Linden Lab would like to thank the following residents: able whitman, Adeon Writer, adonaira aabye, Aeron Kohime, Agathos Frascati, Aimee Trescothick, Aleric Inglewood, Alissa Sabre, Aminom Marvin, Angela Talamasca, Aralara Rajal, Armin Weatherwax, Ashrilyn Hayashida, Athanasius Skytower, Aura Dirval, Barney Boomslang, Biancaluce Robbiani, Biker Offcourse, Borg Capalini, Bulli Schumann, catherine pfeffer, Chalice Yao, Corre Porta, Court Goodman, Cummere Mayo, Dale Innis, Darien Caldwell, Darjeeling Schoonhoven, Daten Thielt, dimentox travanti, Dirk Talamasca, Drew Dwi, Duckless Vandyke, Elanthius Flagstaff, Electro Burnstein, emiley tomsen, Escort DeFarge, Eva Rau, Ezian Ecksol, Fire Centaur, Fluf Fredriksson, Francisco Koolhoven, Frontera Thor, Frungi Stastny, Gally Young, gearsawe stonecutter, Gigs Taggart, Gordon Wendt, Gudmund Shepherd, Gypsy Paz, Harleen Gretzky, Henri Beauchamp, Inma Rau, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Jessicka Graves, Joeseph Albanese, Joshua Philgarlic, Khyota Wulluf, kirstenlee Cinquetti, Latif Khalifa, Lex Neva, Lilibeth Andree, Lisa Lowe, Lunita Savira, Loosey Demonia, lum pfohl, Marcos Fonzarelli, MartinRJ Fayray, Marusame Arai, Matthew Dowd, Maya Remblai, McCabe Maxsted, Meghan Dench, Melchoir Tokhes, Menos Short, Michelle2 Zenovka, Mimika Oh, Minerva Memel, Mm Alder, Ochi Wolfe, Omei Turnbull, Pesho Replacement, Phantom Ninetails, phoenixflames kukulcan, Polo Gufler, prez pessoa, princess niven, Prokofy Neva, Qie Niangao, Rem Beattie, RodneyLee Jessop, Saijanai Kuhn, Seg Baphomet, Sergen Davies, Shirley Marquez, SignpostMarv Martin, Sindy Tsure, Sira Arbizu, Skips Jigsaw, Sougent Harrop, Spritely Pixel, Squirrel Wood, StarSong Bright, Subversive Writer, Sugarcult Dagger, Sylumm Grigorovich, Tammy Nowotny, Tanooki Darkes, Tayra Dagostino, Theoretical Chemistry, Thickbrick Sleaford, valerie rosewood, Vex Streeter, Vixen Heron, Whoops Babii, Winter Ventura, Xiki Luik, Yann Dufaux, Yina Yao, Yukinoroh Kamachi, Zolute Infinity, and Zwagoth Klaar.
|
||||
</text_editor>
|
||||
</panel>
|
||||
|
||||
<panel border="false" label="Licenses" height="386" name="licenses_panel">
|
||||
<!--Note to Translators: Please do not translate the following text_editor-->
|
||||
<text_editor enabled="false" follows="left|top" bg_readonly_color="transparent" left="3" max_length="65536" name="licenses_editor" top="-1" bottom="0" width="443" word_wrap="true">
|
||||
3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion
|
||||
APR Copyright (C) 2000-2012 The Apache Software Foundation
|
||||
|
||||
@@ -19,10 +19,10 @@
|
||||
<button height="20" bottom_delta="-28" label="Save" font="SansSerif" left="20" name="save_btn" tool_tip="Save your new Display Name" width="113" />
|
||||
<button height="20" bottom_delta="0" label="Reset" font="SansSerif" left_delta="123" name="reset_btn" tool_tip="Make Display Name the same as Username" width="113" />
|
||||
<button height="20" bottom_delta="0" label="Cancel" font="SansSerif" left_delta="123" name="cancel_btn" tool_tip="Cancel and close this Dialog" width="113" />
|
||||
<text left="20" bottom_delta="-25" width="360" height="18" font="SansSerif" name="name_confirm_label2">
|
||||
<text left="20" bottom_delta="-25" width="360" height="18" font="SansSerif" name="name_confirm_label2">
|
||||
The name you give your avatar is called yours Display Name.
|
||||
</text>
|
||||
<text left="20" bottom_delta="-18" width="360" height="18" font="SansSerif" name="name_confirm_label3">
|
||||
<text left="20" bottom_delta="-18" width="360" height="18" font="SansSerif" name="name_confirm_label3">
|
||||
You can change it once a week.
|
||||
</text>
|
||||
</floater>
|
||||
|
||||
@@ -7377,5 +7377,33 @@ Your shape, skin, hair or eyes might be defect.
|
||||
</form>
|
||||
</notification>
|
||||
|
||||
<notification
|
||||
icon="alertmodal.tga"
|
||||
name="BulkTemporaryUpload"
|
||||
type="alertmodal">
|
||||
Would you like to bulk upload the files as temporary files?
|
||||
Only textures will upload as temporary on Agni and Aditi.
|
||||
|
||||
WARNING: Each upload costs [UPLOADCOST] if it's not temporary
|
||||
<usetemplate
|
||||
name="yesnocancelbuttons"
|
||||
notext="Permanent"
|
||||
yestext="Temporary"
|
||||
canceltext="Cancel"/>
|
||||
</notification>
|
||||
|
||||
<notification
|
||||
icon="alertmodal.tga"
|
||||
name="BulkTemporaryUploadFree"
|
||||
type="alertmodal">
|
||||
Would you like to bulk upload the files as temporary files?
|
||||
Only textures will upload as temporary on Agni and Aditi.
|
||||
<usetemplate
|
||||
name="yesnocancelbuttons"
|
||||
notext="Permanent"
|
||||
yestext="Temporary"
|
||||
canceltext="Cancel"/>
|
||||
</notification>
|
||||
|
||||
|
||||
</notifications>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<panel border="false" bottom="0" follows="bottom|left" height="490" left="330"
|
||||
name="Classified" title="Classified" width="450">
|
||||
<texture_picker bottom="-315" follows="left|top" height="300" left="20" name="snapshot_ctrl"
|
||||
<texture_picker bottom="-325" follows="left|top" height="300" left="20" name="snapshot_ctrl"
|
||||
width="400" />
|
||||
<line_editor bottom_delta="-8" enabled="false" follows="left|top"
|
||||
font="SansSerif" height="20" left="20" name="given_name_editor"
|
||||
|
||||
@@ -83,7 +83,8 @@
|
||||
<check_box bottom_delta="-20" control_name="DisablePointAtAndBeam" follows="top" initial_value="true" label="Disable Point At And Beam" tool_tip="Don't point at or show your edit beam when selecting an object." name="disable_point_at_and_beams_check"/>
|
||||
<check_box bottom_delta="-20" control_name="PrivateLookAt" follows="top" initial_value="false" label="Do not Look At objects (defeats ShowLookAt)" tool_tip="Turns off broadcasting headturns and lookat beacons for yourself." name="private_look_at_check"/>
|
||||
<check_box bottom_delta="-20" control_name="AscentShowLookAt" follows="top" initial_value="false" label="Show others' LookAt beacons" tool_tip="Shows you where others are looking." name="show_look_at_check"/>
|
||||
<check_box bottom_delta="-20" control_name="QuietSnapshotsToDisk" follows="top" initial_value="false" label="Quiet Snapshots to Disk" tool_tip="Doesn't make a camera sound nor alert everyone when you take a snapshot to your computer" name="quiet_snapshots_check"/>
|
||||
<check_box bottom_delta="-20" control_name="SGDetachBridge" follows="top" initial_value="false" label="Auto detach LSL Bridge" tool_tip="Automatically detach LSL Bridge of Phoenix or Firestorm viewer." name="detach_bridge"/>
|
||||
<check_box bottom_delta="-20" control_name="QuietSnapshotsToDisk" follows="top" initial_value="false" label="Quiet Snapshots to Disk" tool_tip="Doesn't make a camera sound nor alert everyone when you take a snapshot to your computer." name="quiet_snapshots_check"/>
|
||||
<check_box bottom_delta="-20" control_name="RevokePermsOnStandUp" follows="top" initial_value="false" label="On standing up, revoke perms for the object your avatar was sitting on" tool_tip="Objects generally retain Take Control and Trigger Animation permissions until reset or given permission by another user. Enabling this will make sure you revoke these permissions immediately." name="revoke_perms_on_stand_up_check"/>
|
||||
<check_box bottom_delta="-20" control_name="DisableClickSit" follows="top" initial_value="false" label="Disable click-to-sit objects" tool_tip="Some griefer tools rely on forcing or tricking you to click on an object that will make you sit, giving the object automatic permissions to trigger animations amongst other things. This will disable llSitTarget - It does mean that you will need to select 'Sit' on poseballs and furniture." name="disable_click_sit_check"/>
|
||||
<check_box bottom_delta="-20" follows="top" initial_value="false" label="Display Total Script Count changes:" name="totalscriptjumps" control_name="AscentDisplayTotalScriptJumps" tool_tip="Displays script count changes in your region, dependant on the threshold you choose to the right."/>
|
||||
|
||||
@@ -8,9 +8,15 @@
|
||||
<combo_item name="720x480" value="720 x 480">720x480 (NTSC)</combo_item>
|
||||
<combo_item name="768x576" value="768 x 576">768x576 (PAL)</combo_item>
|
||||
<combo_item name="1024x768" value="1024 x 768">1024x768</combo_item>
|
||||
<combo_item name="1280x720" value="1280 x 720">1280x720 (HDV720)</combo_item>
|
||||
<combo_item name="1280x720" value="1280 x 720">1280x720 (HD)</combo_item>
|
||||
<combo_item name="1366x768" value="1366 x 768">1366x768</combo_item>
|
||||
<combo_item name="1280x800" value="1280 x 800">1280x800</combo_item>
|
||||
<combo_item name="1440x900" value="1440 x 900">1440x900</combo_item>
|
||||
<combo_item name="1600x900" value="1600 x 900">1600x900 (HD+)</combo_item>
|
||||
<combo_item name="1680×1050" value="1680 × 1050">1680×1050</combo_item>
|
||||
<combo_item name="1440x1080" value="1440 x 1080">1440x1080 (HDV1080)</combo_item>
|
||||
<combo_item name="1920x1080" value="1920 x 1080">1920x1080 (HD1080)</combo_item>
|
||||
<combo_item name="1920x1080" value="1920 x 1080">1920x1080 (Full-HD)</combo_item>
|
||||
<combo_item name="2560×1440" value="2560 × 1440">2560×1440</combo_item>
|
||||
</combo_box>
|
||||
<text bottom="-62" height="12" left="10" name="DisplayResLabel">Display Resolution:</text>
|
||||
<combo_box bottom="-67" height="18" left="165" name="fullscreen combo" width="150"/>
|
||||
|
||||
@@ -4,9 +4,10 @@
|
||||
<text bottom="-20" follows="top" height="10" left="148" name=" Mouse Sensitivity:">Mouse Sensitivity:</text>
|
||||
<slider_bar bottom="-26" follows="top" height="16" increment="0.25" initial_val="2" left="276" max_val="15" min_val="0" name="mouse_sensitivity" width="128"/>
|
||||
<check_box bottom_delta="-18" follows="top" height="16" label="Invert Mouse" left="148" name="invert_mouse"/>
|
||||
<check_box bottom_delta="-20" follows="top" height="16" initial_value="false" label="Show Avatar in Mouselook" name="first_person_avatar_visible"/>
|
||||
<text bottom_delta="-30" follows="top" height="10" left="10" name=" Auto Fly Options:">Auto Fly Options:</text>
|
||||
<check_box bottom_delta="-18" follows="top" height="16" initial_value="false" label="Show Avatar in Mouselook" name="first_person_avatar_visible"/>
|
||||
<text bottom_delta="-30" follows="top" height="10" left="10" name=" Movement Options:">Movement Options:</text>
|
||||
<check_box bottom_delta="-6" follows="top" height="16" label="Fly/land on holding up/down" left="148" name="automatic_fly"/>
|
||||
<check_box bottom_delta="-18" follows="top" height="16" label="Allow crouch toggle by holding shift" name="crouch_toggle" control_name="SGShiftCrouchToggle"/>
|
||||
<text bottom_delta="-30" follows="top" height="10" left="10" name=" Camera Options:">Camera Options:</text>
|
||||
<text bottom_delta="0" follows="top" height="10" left="148" name="camera_fov_label">Camera View Angle:</text>
|
||||
<slider bottom_delta="-6" can_edit_text="true" decimal_digits="2" follows="top" width="128" height="16" increment=".025" initial_val="1.57" left="276" max_val="2.97" min_val=".17" name="camera_fov" value="60"/>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<text bottom_delta="-26" follows="top" height="10" left="12" name="socks5_host_label">Socks 5 Host:</text>
|
||||
<line_editor bottom_delta="-6" follows="top" font="SansSerif" height="20" left="90" name="socks5_proxy_host" tool_tip="The name or IP address of the SOCKS5 proxy you would like to use" width="311"/>
|
||||
<spinner bottom_delta="-30" decimal_digits="0" follows="top" height="16" increment="1" initial_val="80" label="Port Number:" label_width="75" max_val="65535" min_val="0" name="socks5_proxy_port" width="140"/>
|
||||
<text bottom_delta="-20" follows="top" height="10" left="12" name="socks5_auth_label2">Socks5 Authentication:</text>
|
||||
<text bottom_delta="-20" follows="top" height="10" left="12" name="socks5_auth_label2">Socks5 Authentication:</text>
|
||||
<radio_group bottom_delta="-6" draw_border="false" follows="top" height="20" name="socks5_auth" width="420">
|
||||
<radio_item bottom="0" height="20" left_delta="80" name="None" tool_tip="No authentication">None</radio_item>
|
||||
<radio_item bottom="0" height="20" left_delta="50" name="UserPass" tool_tip="Username / Password authentication">Username/Password</radio_item>
|
||||
|
||||
@@ -5,53 +5,9 @@
|
||||
<button label="Copiar al portapapeles" name="copy_btn"/>
|
||||
</panel>
|
||||
|
||||
<panel label="Créditos" help_topic="about_credits_tab" name="credits_panel">
|
||||
<text_editor name="credits_editor">
|
||||
Singularity Viewer es desarrollado y mantenido por Siana Gearz, Shyotl Kuhr, Aleric Inglewood, Narv Czervik, Tigh MacFanatic, Inusaito Kanya, Sovereign Engineer y Latif Khalifa, con contribuciones de Fractured Crystal, Fritigern Gothly, Henri Beauchamp, McCabe Maxsted, Kadah Coba, Kitty Barnett, nhede Core, Nomade Zhao, Revolution Smythe, Selvone Franizzi, Thickbrick Sleaford, Zauber Parecelsus, Wolfspirit Magic y otros. Singularity está basado en el código fuente del Visor Ascent. Los créditos del Visor Ascent incluyen a Hg Beeks, Charley Levenque, Hazim Gazov, Zwagoth Klaar, Qarl Fizz, y otros. El Visor Ascent está basado en el código fuente del visor Inertia.
|
||||
<panel label="Créditos" help_topic="about_credits_tab" name="credits_panel"/>
|
||||
|
||||
Singularity Viewer incluye código fuente aportado por los siguientes residentes: Able Whitman, Adam Marker, Agathos Frascati, Aimee Trescothick, Alejandro Rosenthal, Aleric Inglewood, Alissa Sabre, Angus Boyd, Ann Congrejo, Argent Stonecutter, Asuka Neely, Balp Allen, Benja Kepler, Biancaluce Robbiani, Blakar Ogre, blino Nakamura, Boroondas Gupte, Bulli Schumann, bushing Spatula, Carjay McGinnis, Catherine Pfeffer, Celierra Darling, Cron Stardust, Dale Glass, Drewan Keats, Dylan Haskell, Dzonatas Sol, Eddy Stryker, EponymousDylan Ra, Eva Nowicka, Farallon Greyskin, Feep Larsson, Flemming Congrejo, Fluf Fredriksson, Fractured Crystal, Fremont Cunningham, Geneko Nemeth, Gigs Taggart, Ginko Bayliss, Grazer Kline, Gudmund Shepherd, Hamncheese Omlet, HappySmurf Papp, Henri Beauchamp, Hikkoshi Sakai, Hiro Sommambulist, Hoze Menges, Ian Kas, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Joghert LeSabre, Kage Pixel, Ken March, Kerutsen Sellery, Khyota Wulluf, Kunnis Basiat, Lisa Lowe, Lockhart Cordoso,
|
||||
maciek marksman, Magnus Balczo, Malwina Dollinger, march Korda, Matthew Dowd, McCabe Maxsted, Michelle2 Zenovka, Mm Alder, Mr Greggan, Nicholaz Beresford, Nounouch Hapmouche, Patric Mills, Paul Churchill, Paula Innis, Peekay Semyorka, Peter Lameth, Pf Shan, princess niven, Renault Clio, Ringo Tuxing, Robin Cornelius, Ryozu Kojima, Salahzar Stenvaag, Sammy Frederix, Scrippy Scofield, Seg Baphomet, Sergen Davies, SignpostMarv Martin, Simon Nolan, SpacedOut Frye, Sporked Friis, Stevex Janus, Still Defiant, Strife Onizuka, Tayra Dagostino, TBBle Kurosawa, Teardrops Fall, tenebrous pau, Tharax Ferraris, Thickbrick Sleaford, Thraxis Epsilon, tiamat bingyi, TraductoresAnonimos Alter, Tue Torok, Vadim Bigbear, Vixen Heron, Whoops Babii, Wilton Lundquist, Zarkonnen Decosta, Zi Ree, Zipherius Turas, Damian Zhaoying
|
||||
|
||||
Second Life llega a ti gracias a Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen,
|
||||
Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan,
|
||||
Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx,
|
||||
Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les, Michon, Jenelle, Geo, Siz, Shapiro, Pete, Calyle, Selene, Allen, Phoebe, Goldin, Kimmora, Dakota, Slaton, Lindquist, Zoey, Hari, Othello, Rohit, Sheldon, Petra, Viale, Gordon, Kaye, Pink, Ferny, Emerson, Davy, Bri, Chan, Juan, Robert, Terrence, Nathan, Carl y muchos otro más.
|
||||
|
||||
Linden Lab agradece a los siguientes residentes: able whitman, Adeon Writer, adonaira aabye, Aeron Kohime, Agathos Frascati, Aimee Trescothick, Aleric Inglewood, Alissa Sabre, Aminom Marvin, Angela Talamasca, Aralara Rajal, Armin Weatherwax, Ashrilyn Hayashida, Athanasius Skytower, Aura Dirval, Barney Boomslang, Biancaluce Robbiani, Biker Offcourse, Borg Capalini, Bulli Schumann, catherine pfeffer, Chalice Yao, Corre Porta, Court Goodman, Cummere Mayo, Dale Innis, Darien Caldwell, Darjeeling Schoonhoven, Daten Thielt, dimentox travanti, Dirk Talamasca, Drew Dwi, Duckless Vandyke, Elanthius Flagstaff, Electro Burnstein, emiley tomsen, Escort DeFarge, Eva Rau, Ezian Ecksol, Fire Centaur, Fluf Fredriksson, Francisco Koolhoven, Frontera Thor, Frungi Stastny, Gally Young, gearsawe stonecutter, Gigs Taggart, Gordon Wendt, Gudmund Shepherd, Gypsy Paz, Harleen Gretzky, Henri Beauchamp, Inma Rau, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Jessicka Graves, Joeseph Albanese, Joshua Philgarlic, Khyota
|
||||
Wulluf, kirstenlee Cinquetti, Latif Khalifa, Lex Neva, Lilibeth Andree, Lisa Lowe, Lunita Savira, Loosey Demonia, lum pfohl, Marcos Fonzarelli, MartinRJ Fayray, Marusame Arai, Matthew Dowd, Maya Remblai, McCabe Maxsted, Meghan Dench, Melchoir Tokhes, Menos Short, Michelle2 Zenovka, Mimika Oh, Minerva Memel, Mm Alder, Ochi Wolfe, Omei Turnbull, Pesho Replacement, Phantom Ninetails, phoenixflames kukulcan, Polo Gufler, prez pessoa, princess niven, Prokofy Neva, Qie Niangao, Rem Beattie, RodneyLee Jessop, Saijanai Kuhn, Seg Baphomet, Sergen Davies, Shirley Marquez, SignpostMarv Martin, Sindy Tsure, Sira Arbizu, Skips Jigsaw, Sougent Harrop, Spritely Pixel, Squirrel Wood, StarSong Bright, Subversive Writer, Sugarcult Dagger, Sylumm Grigorovich, Tammy Nowotny, Tanooki Darkes, Tayra Dagostino, Theoretical Chemistry, Thickbrick Sleaford, valerie rosewood, Vex Streeter, Vixen Heron, Whoops Babii, Winter Ventura, Xiki Luik, Yann Dufaux, Yina Yao, Yukinoroh Kamachi, Zolute Infinity, Zwagoth Klaar
|
||||
</text_editor>
|
||||
</panel>
|
||||
|
||||
<panel label="Licenses" name="licenses_panel">
|
||||
<text_editor name="licenses_editor">
|
||||
3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion
|
||||
APR Copyright (C) 2000-2012 The Apache Software Foundation
|
||||
Collada DOM Copyright 2006 Sony Computer Entertainment Inc.
|
||||
cURL Copyright (C) 1996-2010, Daniel Stenberg, (daniel@haxx.se)
|
||||
DBus/dbus-glib Copyright (C) 2002, 2003 CodeFactory AB / Copyright (C) 2003, 2004 Red Hat, Inc.
|
||||
expat Copyright (C) 1998-2000 Thai Open Source Software Center Ltd., 2001-2006 Expat maintainers.
|
||||
FMOD Sound System, Copyright (C) 1994-2012 Firelight Technologies Pty, Ltd.
|
||||
FreeType Copyright (C) 1996-2002, The FreeType Project (www.freetype.org).
|
||||
GL Copyright (C) 1999-2004 Brian Paul.
|
||||
GLOD Copyright (C) 2003-04 Jonathan Cohen, Nat Duca, Chris Niski, Johns Hopkins University and David Luebke, Brenden Schubert, University of Virginia.
|
||||
google-perftools Copyright (C) 2005, Google Inc.
|
||||
jpeg2000 Copyright (C) 2001, David Taubman, The University of New South Wales (UNSW)
|
||||
jpeglib Copyright (C) 1991-1998, Thomas G. Lane.
|
||||
ogg/vorbis Copyright (C) 2002, Xiph.org Foundation
|
||||
OpenSSL Copyright (C) 1998-2008 The OpenSSL Project.
|
||||
PCRE Copyright (c) 1997-2012 University of Cambridge
|
||||
SDL Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga
|
||||
SSLeay Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
xmlrpc-epi Copyright (C) 2000 Epinions, Inc.
|
||||
zlib Copyright (C) 1995-2012 Jean-loup Gailly and Mark Adler.
|
||||
|
||||
<!--Translate: This software contains source code provided by NVIDIA Corporation.-->
|
||||
|
||||
All rights reserved. Ver licenses.txt para mayor información.
|
||||
|
||||
Voice chat Audio coding: Polycom(R) Siren14(TM) (ITU-T Rec. G.722.1 Annex C)
|
||||
</text_editor>
|
||||
</panel>
|
||||
<panel label="Licenses" name="licenses_panel"/>
|
||||
</tab_container>
|
||||
<string name="you_are_at">Estás en [POSITION]</string>
|
||||
</floater>
|
||||
|
||||
@@ -5,53 +5,9 @@
|
||||
<button label="Copier dans le presse-papier" name="copy_btn"/>
|
||||
</panel>
|
||||
|
||||
<panel label="Credits" help_topic="about_credits_tab" name="credits_panel">
|
||||
<text_editor name="credits_editor">
|
||||
Singularity Viewer is developed and maintained by Siana Gearz, Shyotl Kuhr, Aleric Inglewood, Narv Czervik, Tigh MacFanatic, Inusaito Kanya, Sovereign Engineer and Latif Khalifa, with contributions by Fractured Crystal, Fritigern Gothly, Henri Beauchamp, McCabe Maxsted, Kadah Coba, Kitty Barnett, nhede Core, Nomade Zhao, Revolution Smythe, Selvone Franizzi, Thickbrick Sleaford, Zauber Parecelsus, Wolfspirit Magic and others. Singularity is based upon Ascent source code. Credits for Ascent include Hg Beeks, Charley Levenque, Hazim Gazov, Zwagoth Klaar, Qarl Fizz, and others. Ascent is based upon the Inertia source code.
|
||||
<panel label="Credits" help_topic="about_credits_tab" name="credits_panel"/>
|
||||
|
||||
Singularity Viewer includes source code contributions of the following residents: Able Whitman, Adam Marker, Agathos Frascati, Aimee Trescothick, Alejandro Rosenthal, Aleric Inglewood, Alissa Sabre, Angus Boyd, Ann Congrejo, Argent Stonecutter, Asuka Neely, Balp Allen, Benja Kepler, Biancaluce Robbiani, Blakar Ogre, blino Nakamura, Boroondas Gupte, Bulli Schumann, bushing Spatula, Carjay McGinnis, Catherine Pfeffer, Celierra Darling, Cron Stardust, Dale Glass, Drewan Keats, Dylan Haskell, Dzonatas Sol, Eddy Stryker, EponymousDylan Ra, Eva Nowicka, Farallon Greyskin, Feep Larsson, Flemming Congrejo, Fluf Fredriksson, Fractured Crystal, Fremont Cunningham, Geneko Nemeth, Gigs Taggart, Ginko Bayliss, Grazer Kline, Gudmund Shepherd, Hamncheese Omlet, HappySmurf Papp, Henri Beauchamp, Hikkoshi Sakai, Hiro Sommambulist, Hoze Menges, Ian Kas, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Joghert LeSabre, Kage Pixel, Ken March, Kerutsen Sellery, Khyota Wulluf, Kunnis Basiat, Lisa Lowe, Lockhart Cordoso,
|
||||
maciek marksman, Magnus Balczo, Malwina Dollinger, march Korda, Matthew Dowd, McCabe Maxsted, Michelle2 Zenovka, Mm Alder, Mr Greggan, Nicholaz Beresford, Nounouch Hapmouche, Patric Mills, Paul Churchill, Paula Innis, Peekay Semyorka, Peter Lameth, Pf Shan, princess niven, Renault Clio, Ringo Tuxing, Robin Cornelius, Ryozu Kojima, Salahzar Stenvaag, Sammy Frederix, Scrippy Scofield, Seg Baphomet, Sergen Davies, SignpostMarv Martin, Simon Nolan, SpacedOut Frye, Sporked Friis, Stevex Janus, Still Defiant, Strife Onizuka, Tayra Dagostino, TBBle Kurosawa, Teardrops Fall, tenebrous pau, Tharax Ferraris, Thickbrick Sleaford, Thraxis Epsilon, tiamat bingyi, TraductoresAnonimos Alter, Tue Torok, Vadim Bigbear, Vixen Heron, Whoops Babii, Wilton Lundquist, Zarkonnen Decosta, Zi Ree, Zipherius Turas, Franxisco Romano, Damian Zhaoying
|
||||
|
||||
Second Life is brought to you by Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen,
|
||||
Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan,
|
||||
Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx,
|
||||
Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les, Michon, Jenelle, Geo, Siz, Shapiro, Pete, Calyle, Selene, Allen, Phoebe, Goldin, Kimmora, Dakota, Slaton, Lindquist, Zoey, Hari, Othello, Rohit, Sheldon, Petra, Viale, Gordon, Kaye, Pink, Ferny, Emerson, Davy, Bri, Chan, Juan, Robert, Terrence, Nathan, Carl and many others.
|
||||
|
||||
Linden Lab would like to thank the following residents: able whitman, Adeon Writer, adonaira aabye, Aeron Kohime, Agathos Frascati, Aimee Trescothick, Aleric Inglewood, Alissa Sabre, Aminom Marvin, Angela Talamasca, Aralara Rajal, Armin Weatherwax, Ashrilyn Hayashida, Athanasius Skytower, Aura Dirval, Barney Boomslang, Biancaluce Robbiani, Biker Offcourse, Borg Capalini, Bulli Schumann, catherine pfeffer, Chalice Yao, Corre Porta, Court Goodman, Cummere Mayo, Dale Innis, Darien Caldwell, Darjeeling Schoonhoven, Daten Thielt, dimentox travanti, Dirk Talamasca, Drew Dwi, Duckless Vandyke, Elanthius Flagstaff, Electro Burnstein, emiley tomsen, Escort DeFarge, Eva Rau, Ezian Ecksol, Fire Centaur, Fluf Fredriksson, Francisco Koolhoven, Frontera Thor, Frungi Stastny, Gally Young, gearsawe stonecutter, Gigs Taggart, Gordon Wendt, Gudmund Shepherd, Gypsy Paz, Harleen Gretzky, Henri Beauchamp, Inma Rau, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Jessicka Graves, Joeseph Albanese, Joshua Philgarlic, Khyota
|
||||
Wulluf, kirstenlee Cinquetti, Latif Khalifa, Lex Neva, Lilibeth Andree, Lisa Lowe, Lunita Savira, Loosey Demonia, lum pfohl, Marcos Fonzarelli, MartinRJ Fayray, Marusame Arai, Matthew Dowd, Maya Remblai, McCabe Maxsted, Meghan Dench, Melchoir Tokhes, Menos Short, Michelle2 Zenovka, Mimika Oh, Minerva Memel, Mm Alder, Ochi Wolfe, Omei Turnbull, Pesho Replacement, Phantom Ninetails, phoenixflames kukulcan, Polo Gufler, prez pessoa, princess niven, Prokofy Neva, Qie Niangao, Rem Beattie, RodneyLee Jessop, Saijanai Kuhn, Seg Baphomet, Sergen Davies, Shirley Marquez, SignpostMarv Martin, Sindy Tsure, Sira Arbizu, Skips Jigsaw, Sougent Harrop, Spritely Pixel, Squirrel Wood, StarSong Bright, Subversive Writer, Sugarcult Dagger, Sylumm Grigorovich, Tammy Nowotny, Tanooki Darkes, Tayra Dagostino, Theoretical Chemistry, Thickbrick Sleaford, valerie rosewood, Vex Streeter, Vixen Heron, Whoops Babii, Winter Ventura, Xiki Luik, Yann Dufaux, Yina Yao, Yukinoroh Kamachi, Zolute Infinity, Zwagoth Klaar
|
||||
</text_editor>
|
||||
</panel>
|
||||
|
||||
<panel label="Licenses" name="licenses_panel">
|
||||
<text_editor name="licenses_editor">
|
||||
3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion
|
||||
APR Copyright (C) 2000-2012 The Apache Software Foundation
|
||||
Collada DOM Copyright 2006 Sony Computer Entertainment Inc.
|
||||
cURL Copyright (C) 1996-2010, Daniel Stenberg, (daniel@haxx.se)
|
||||
DBus/dbus-glib Copyright (C) 2002, 2003 CodeFactory AB / Copyright (C) 2003, 2004 Red Hat, Inc.
|
||||
expat Copyright (C) 1998-2000 Thai Open Source Software Center Ltd., 2001-2006 Expat maintainers.
|
||||
FMOD Sound System, Copyright (C) 1994-2012 Firelight Technologies Pty, Ltd.
|
||||
FreeType Copyright (C) 1996-2002, The FreeType Project (www.freetype.org).
|
||||
GL Copyright (C) 1999-2004 Brian Paul.
|
||||
GLOD Copyright (C) 2003-04 Jonathan Cohen, Nat Duca, Chris Niski, Johns Hopkins University and David Luebke, Brenden Schubert, University of Virginia.
|
||||
google-perftools Copyright (C) 2005, Google Inc.
|
||||
jpeg2000 Copyright (C) 2001, David Taubman, The University of New South Wales (UNSW)
|
||||
jpeglib Copyright (C) 1991-1998, Thomas G. Lane.
|
||||
ogg/vorbis Copyright (C) 2002, Xiph.org Foundation
|
||||
OpenSSL Copyright (C) 1998-2008 The OpenSSL Project.
|
||||
PCRE Copyright (c) 1997-2012 University of Cambridge
|
||||
SDL Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga
|
||||
SSLeay Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
xmlrpc-epi Copyright (C) 2000 Epinions, Inc.
|
||||
zlib Copyright (C) 1995-2012 Jean-loup Gailly and Mark Adler.
|
||||
|
||||
This software contains source code provided by NVIDIA Corporation.
|
||||
|
||||
All rights reserved. See licenses.txt for details.
|
||||
|
||||
Voice chat Audio coding: Polycom(R) Siren14(TM) (ITU-T Rec. G.722.1 Annex C)
|
||||
</text_editor>
|
||||
</panel>
|
||||
<panel label="Licenses" name="licenses_panel"/>
|
||||
</tab_container>
|
||||
<string name="you_are_at">You are at [POSITION]</string>
|
||||
</floater>
|
||||
|
||||
@@ -525,6 +525,14 @@ class DarwinManifest(ViewerManifest):
|
||||
print "Skipping libfmodwrapper.dylib - not found"
|
||||
pass
|
||||
|
||||
# And now FMOD Ex!
|
||||
try:
|
||||
self.path("libfmodex.dylib", "libfmodex.dylib")
|
||||
pass
|
||||
except:
|
||||
print "Skipping libfmodex.dylib - not found"
|
||||
pass
|
||||
|
||||
# our apps
|
||||
try:
|
||||
self.path("../mac_crash_logger/" + self.args['configuration'] + "/mac-crash-logger.app", "mac-crash-logger.app")
|
||||
|
||||
Reference in New Issue
Block a user