summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NORSPEC-207.patch164
-rwxr-xr-xindra/llcommon/llapp.cpp6
-rwxr-xr-xindra/llcommon/llcoros.cpp4
-rwxr-xr-xindra/llcommon/llerrorthread.cpp2
-rwxr-xr-xindra/llcommon/llsys.cpp6
-rwxr-xr-xindra/llmessage/llurlrequest.cpp10
-rwxr-xr-xindra/media_plugins/winmmshim/winmm_shim.cpp2
-rwxr-xr-xindra/newview/llpanelface.cpp2
-rwxr-xr-xindra/viewer_components/login/lllogin.cpp36
9 files changed, 197 insertions, 35 deletions
diff --git a/NORSPEC-207.patch b/NORSPEC-207.patch
new file mode 100644
index 0000000000..a1c1447bda
--- /dev/null
+++ b/NORSPEC-207.patch
@@ -0,0 +1,164 @@
+diff -r fe4bab01522e indra/llprimitive/llrendermaterialtable.cpp
+--- a/indra/llprimitive/llrendermaterialtable.cpp Wed May 15 17:57:21 2013 +0000
++++ b/indra/llprimitive/llrendermaterialtable.cpp Wed May 22 14:23:04 2013 -0700
+@@ -184,6 +184,44 @@
+ }
+ }
+
++// 'v' is an integer value for 100ths of radians (don't ask...)
++//
++void LLRenderMaterialEntry::LLRenderMaterial::setSpecularMapRotation(S32 v) const
++{
++ // Store the fact that we're using the new rotation rep
++ //
++ m_flags |= kNewSpecularMapRotation;
++
++ // Store 'sign bit' in our m_flags
++ //
++ m_flags &= ~kSpecularMapRotationNegative;
++ m_flags |= (specularMapRotation < 0) ? kSpecularMapRotationNegative : 0;
++
++ specularRotation = abs(specularRotation);
++ specularRotation = llmin(specularRotation, MAX_MATERIAL_MAP_ROTATION);
++
++ m_specularRotation = (U16)(abs(specularMapRotation));
++}
++
++// 'v' is an integer value for 100ths of radians (don't ask...)
++//
++void LLRenderMaterialEntry::LLRenderMaterial::setNormalMapRotation(S32 v) const
++{
++
++ // Store the fact that we're using the new rep for this material
++ //
++ m_flags |= kNewNormalMapRotation;
++
++ // Store 'sign bit' in our m_flags
++ //
++ m_flags &= ~kNormalMapRotationNegative;
++ m_flags |= (normalMapRotation < 0) ? kNormalMapRotationNegative : 0;
++
++ normalRotation = abs(normalRotation);
++ normalRotation = llmin(normalRotation, MAX_MATERIAL_MAP_ROTATION);
++
++ m_normalRotation = (U16)(abs(normalMapRotation));
++}
+
+ void LLRenderMaterialEntry::LLRenderMaterial::asLLSD( LLSD& dest ) const
+ {
+@@ -193,20 +231,45 @@
+ dest["NormOffsetY"] = (S32)m_normalOffsetY;
+ dest["NormRepeatX"] = m_normalRepeatX;
+ dest["NormRepeatY"] = m_normalRepeatY;
+- dest["NormRotation"] = (S32)m_normalRotation;
++
++ S32 value = (S32)m_normalMapRotation;
++
++ // If we don't have the flag for new rotations set,
++ // then we need to convert it now
++ if (!(m_flags & kNewNormalMapRotation))
++ {
++ F32 old_radians = ((F32)m_normalMapRotation / 10000.0f)
++ S32 new_val = (S32)(old_radians * 100.0f);
++ setNormalMapRotation(new_Val);
++ }
++
++ dest["NormRotation"] = (m_flags & kNormalMapRotationNegative) ? -(S32)m_normalRotation : (S32)m_normalRotation;
+
+ dest["SpecOffsetX"] = (S32)m_specularOffsetX;
+ dest["SpecOffsetY"] = (S32)m_specularOffsetY;
+ dest["SpecRepeatX"] = m_specularRepeatX;
+ dest["SpecRepeatY"] = m_specularRepeatY;
+- dest["SpecRotation"] = (S32)m_specularRotation;
++
++
++ value = (S32)m_specularRotation;
++
++ // If we don't have the flag for new rotations set,
++ // then we need to convert it now
++ if (!(m_flags & kNewSpecularMapRotation))
++ {
++ F32 old_radians = ((F32)m_specularMapRotation / 10000.0f)
++ S32 new_val = (S32)(old_radians * 100.0f);
++ setSpecularMapRotation(new_Val);
++ }
++
++ dest["SpecRotation"] = (m_flags & kSpecularMapRotationNegative) ? -(S32)m_specularRotation : (S32)m_specularRotation;
+
+ dest["SpecMap"] = m_specularMap;
+ dest["SpecColor"] = m_specularLightColor.getValue();
+ dest["SpecExp"] = (S32)m_specularLightExponent;
+ dest["EnvIntensity"] = (S32)m_environmentIntensity;
+ dest["AlphaMaskCutoff"] = (S32)m_alphaMaskCutoff;
+- dest["DiffuseAlphaMode"] = (S32)m_diffuseAlphaMode;
++ dest["DiffuseAlphaMode"] = (S32)(m_diffuseAlphaMode & 0xF);
+
+ }
+
+@@ -217,7 +280,10 @@
+ m_normalOffsetY = (U16)materialDefinition["NormOffsetY"].asInteger();
+ m_normalRepeatX = materialDefinition["NormRepeatX"].asInteger();
+ m_normalRepeatY = materialDefinition["NormRepeatY"].asInteger();
+- m_normalRotation = (U16)materialDefinition["NormRotation"].asInteger();
++
++ S32 normalRotation = materialDefinition["NormRotation"].asInteger();
++
++ setNormalMapRotation(normalRotation);
+
+ m_specularMap = materialDefinition["SpecMap"].asUUID();
+
+@@ -225,7 +291,10 @@
+ m_specularOffsetY = (U16)materialDefinition["SpecOffsetY"].asInteger();
+ m_specularRepeatX = materialDefinition["SpecRepeatX"].asInteger();
+ m_specularRepeatY = materialDefinition["SpecRepeatY"].asInteger();
+- m_specularRotation = (U16)materialDefinition["SpecRotation"].asInteger();
++
++ S32 specularRotation = materialDefinition["SpecRotation"].asInteger();
++
++ setSpecularMapRotation(specularRotation);
+
+ m_specularLightColor.setValue( materialDefinition["SpecColor"] );
+ m_specularLightExponent = (U8)materialDefinition["SpecExp"].asInteger();
+diff -r fe4bab01522e indra/llprimitive/llrendermaterialtable.h
+--- a/indra/llprimitive/llrendermaterialtable.h Wed May 15 17:57:21 2013 +0000
++++ b/indra/llprimitive/llrendermaterialtable.h Wed May 22 14:23:04 2013 -0700
+@@ -89,11 +89,17 @@
+
+ void computeID();
+
++
+ struct LLRenderMaterial
+ {
+ void asLLSD( LLSD& dest ) const;
+ void setFromLLSD( const LLSD& materialDefinition );
+
++ void setNormalMapRotation(S32 v);
++ void setSpecularMapRotation(S32 v);
++
++ const S32 MAX_MATERIAL_MAP_ROTATION = 62800;
++
+ // 36 bytes
+ LLUUID m_normalMap;
+ LLUUID m_specularMap;
+@@ -119,7 +125,20 @@
+ U8 m_specularLightExponent;
+ U8 m_environmentIntensity;
+ U8 m_alphaMaskCutoff;
+- U8 m_diffuseAlphaMode;
++ U8 m_diffuseAlphaMode : 4;
++ U8 m_flags : 4;
++ };
++
++ // Flags stored in LLRenderMaterial::m_flags to differentiate 'old' rotation format
++ // which doesn't handle negative or large rotations correctly from new format.
++ // All ancient materials will have these flags unset as the values for diffuseAlphaMode
++ // from which the bits were stolen never used more than the bottom 2 bits.
++ //
++ enum RenderMaterialFlags {
++ kNewNormalMapRotation = 0x1,
++ kNewSpecularMapRotation = 0x2,
++ kNormalMapRotationNegative = 0x4,
++ kSpecularMapRotationNegative = 0x8
+ };
+
+ friend struct eastl::hash<LLRenderMaterial>;
diff --git a/indra/llcommon/llapp.cpp b/indra/llcommon/llapp.cpp
index b66fc82250..67a98d5fb8 100755
--- a/indra/llcommon/llapp.cpp
+++ b/indra/llcommon/llapp.cpp
@@ -378,7 +378,7 @@ void LLApp::startErrorThread()
//
if(!mThreadErrorp)
{
-// llinfos << "Starting error thread" << llendl;
+ llinfos << "Starting error thread" << llendl;
mThreadErrorp = new LLErrorThread();
mThreadErrorp->setUserData((void *) this);
mThreadErrorp->start();
@@ -986,9 +986,9 @@ bool windows_post_minidump_callback(const wchar_t* dump_path,
}
llinfos << "generated minidump: " << LLApp::instance()->getMiniDumpFilename() << llendl;
- // *NOTE:Mani - this code is stolen from LLApp, where its never actually used.
+ // *NOTE:Mani - this code is stolen from LLApp, where its never actually used.
//OSMessageBox("Attach Debugger Now", "Error", OSMB_OK);
- // *TODO: Translate the signals/exceptions into cross-platform stuff
+ // *TODO: Translate the signals/exceptions into cross-platform stuff
// Windows implementation
llinfos << "Entering Windows Exception Handler..." << llendl;
diff --git a/indra/llcommon/llcoros.cpp b/indra/llcommon/llcoros.cpp
index a629f71d4b..baaddcaed1 100755
--- a/indra/llcommon/llcoros.cpp
+++ b/indra/llcommon/llcoros.cpp
@@ -60,7 +60,7 @@ bool LLCoros::cleanup(const LLSD&)
// since last tick?
if (mi->second->exited())
{
- LL_INFOS("LLCoros") << "LLCoros: cleaning up coroutine " << mi->first << LL_ENDL;
+ LL_INFOS("LLCoros") << "LLCoros: cleaning up coroutine " << mi->first << LL_ENDL;
// The erase() call will invalidate its passed iterator value --
// so increment mi FIRST -- but pass its original value to
// erase(). This is what postincrement is all about.
@@ -94,7 +94,7 @@ std::string LLCoros::generateDistinctName(const std::string& prefix) const
{
if (mCoros.find(name) == mCoros.end())
{
- LL_INFOS("LLCoros") << "LLCoros: launching coroutine " << name << LL_ENDL;
+ LL_INFOS("LLCoros") << "LLCoros: launching coroutine " << name << LL_ENDL;
return name;
}
}
diff --git a/indra/llcommon/llerrorthread.cpp b/indra/llcommon/llerrorthread.cpp
index 4a0c8ef342..950fcd6e83 100755
--- a/indra/llcommon/llerrorthread.cpp
+++ b/indra/llcommon/llerrorthread.cpp
@@ -106,7 +106,7 @@ void LLErrorThread::run()
// This thread sits and waits for the sole purpose
// of waiting for the signal/exception handlers to flag the
// application state as APP_STATUS_ERROR.
- //llinfos << "thread_error - Waiting for an error" << llendl;
+ llinfos << "thread_error - Waiting for an error" << llendl;
S32 counter = 0;
#if !LL_WINDOWS
diff --git a/indra/llcommon/llsys.cpp b/indra/llcommon/llsys.cpp
index b8e8125e68..57a6de9060 100755
--- a/indra/llcommon/llsys.cpp
+++ b/indra/llcommon/llsys.cpp
@@ -1032,9 +1032,9 @@ LLMemoryInfo& LLMemoryInfo::refresh()
{
mStatsMap = loadStatsMap();
-// LL_DEBUGS("LLMemoryInfo") << "Populated mStatsMap:\n";
-// LLSDSerialize::toPrettyXML(mStatsMap, LL_CONT);
-// LL_ENDL;
+ LL_DEBUGS("LLMemoryInfo") << "Populated mStatsMap:\n";
+ LLSDSerialize::toPrettyXML(mStatsMap, LL_CONT);
+ LL_ENDL;
return *this;
}
diff --git a/indra/llmessage/llurlrequest.cpp b/indra/llmessage/llurlrequest.cpp
index 627d591839..de9e2fe294 100755
--- a/indra/llmessage/llurlrequest.cpp
+++ b/indra/llmessage/llurlrequest.cpp
@@ -314,11 +314,11 @@ LLIOPipe::EStatus LLURLRequest::process_impl(
const F32 TIMEOUT_ADJUSTMENT = 2.0f;
mDetail->mByteAccumulator = 0;
pump->adjustTimeoutSeconds(TIMEOUT_ADJUSTMENT);
- lldebugs << "LLURLRequest adjustTimeoutSeconds for request: " << mDetail->mURL << llendl;
- if (mState == STATE_INITIALIZED)
- {
- llinfos << "LLURLRequest adjustTimeoutSeconds called during upload" << llendl;
- }
+ lldebugs << "LLURLRequest adjustTimeoutSeconds for request: " << mDetail->mURL << llendl;
+ if (mState == STATE_INITIALIZED)
+ {
+ llinfos << "LLURLRequest adjustTimeoutSeconds called during upload" << llendl;
+ }
}
switch(mState)
diff --git a/indra/media_plugins/winmmshim/winmm_shim.cpp b/indra/media_plugins/winmmshim/winmm_shim.cpp
index 47a1e5c018..aac349bf57 100755
--- a/indra/media_plugins/winmmshim/winmm_shim.cpp
+++ b/indra/media_plugins/winmmshim/winmm_shim.cpp
@@ -56,7 +56,7 @@ void ll_winmm_shim_initialize(){
// grab winmm.dll from system path, where it should live
wsprintf(dll_path, "%s\\winmm.dll", system_path);
HMODULE winmm_handle = ::LoadLibrary(dll_path);
-
+
if (winmm_handle != NULL)
{ // we have a dll, let's get out pointers!
initialized = true;
diff --git a/indra/newview/llpanelface.cpp b/indra/newview/llpanelface.cpp
index dcedbba81b..01ed6e84b8 100755
--- a/indra/newview/llpanelface.cpp
+++ b/indra/newview/llpanelface.cpp
@@ -2387,8 +2387,6 @@ void LLPanelFace::onCommitRepeatsPerMeter(LLUICtrl* ctrl, void* userdata)
{
LLPanelFace* self = (LLPanelFace*) userdata;
- gFocusMgr.setKeyboardFocus( NULL );
-
LLUICtrl* repeats_ctrl = self->getChild<LLUICtrl>("rptctrl");
F32 repeats_per_meter = repeats_ctrl->getValue().asReal();
diff --git a/indra/viewer_components/login/lllogin.cpp b/indra/viewer_components/login/lllogin.cpp
index 3357ad812d..8f33b2ad58 100755
--- a/indra/viewer_components/login/lllogin.cpp
+++ b/indra/viewer_components/login/lllogin.cpp
@@ -137,7 +137,7 @@ void LLLogin::Impl::login_(LLCoros::self& self, std::string uri, LLSD login_para
//{
// printable_params["params"]["passwd"] = "*******";
//}
- LL_DEBUGS("LLLogin") << "Entering coroutine " << LLCoros::instance().getName(self)
+ LL_DEBUGS("LLLogin") << "Entering coroutine " << LLCoros::instance().getName(self)
<< " with uri '" << uri << "', parameters " << printable_params << LL_ENDL;
// Arriving in SRVRequest state
@@ -146,23 +146,23 @@ void LLLogin::Impl::login_(LLCoros::self& self, std::string uri, LLSD login_para
LLSD rewrittenURIs;
{
- LLEventTimeout filter(replyPump);
- sendProgressEvent("offline", "srvrequest");
+ LLEventTimeout filter(replyPump);
+ sendProgressEvent("offline", "srvrequest");
- // Request SRV record.
- LL_DEBUGS("LLLogin") << "Requesting SRV record from " << uri << LL_ENDL;
+ // Request SRV record.
+ LL_DEBUGS("LLLogin") << "Requesting SRV record from " << uri << LL_ENDL;
- // *NOTE:Mani - Completely arbitrary default timeout value for SRV request.
+ // *NOTE:Mani - Completely arbitrary default timeout value for SRV request.
F32 seconds_to_timeout = 5.0f;
if(login_params.has("cfg_srv_timeout"))
{
seconds_to_timeout = login_params["cfg_srv_timeout"].asReal();
}
- // If the SRV request times out (e.g. EXT-3934), simulate response: an
- // array containing our original URI.
- LLSD fakeResponse(LLSD::emptyArray());
- fakeResponse.append(uri);
+ // If the SRV request times out (e.g. EXT-3934), simulate response: an
+ // array containing our original URI.
+ LLSD fakeResponse(LLSD::emptyArray());
+ fakeResponse.append(uri);
filter.eventAfter(seconds_to_timeout, fakeResponse);
std::string srv_pump_name = "LLAres";
@@ -172,13 +172,13 @@ void LLLogin::Impl::login_(LLCoros::self& self, std::string uri, LLSD login_para
}
// Make request
- LLSD request;
- request["op"] = "rewriteURI";
- request["uri"] = uri;
- request["reply"] = replyPump.getName();
- rewrittenURIs = postAndWait(self, request, srv_pump_name, filter);
- // EXP-772: If rewrittenURIs fail, try original URI as a fallback.
- rewrittenURIs.append(uri);
+ LLSD request;
+ request["op"] = "rewriteURI";
+ request["uri"] = uri;
+ request["reply"] = replyPump.getName();
+ rewrittenURIs = postAndWait(self, request, srv_pump_name, filter);
+ // EXP-772: If rewrittenURIs fail, try original URI as a fallback.
+ rewrittenURIs.append(uri);
} // we no longer need the filter
LLEventPump& xmlrpcPump(LLEventPumps::instance().obtain("LLXMLRPCTransaction"));
@@ -230,7 +230,7 @@ void LLLogin::Impl::login_(LLCoros::self& self, std::string uri, LLSD login_para
// Still Downloading -- send progress update.
sendProgressEvent("offline", "downloading");
}
-
+
LL_DEBUGS("LLLogin") << "Auth Response: " << mAuthResponse << LL_ENDL;
status = mAuthResponse["status"].asString();