summaryrefslogtreecommitdiff
path: root/indra/llmessage
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llmessage')
-rw-r--r--indra/llmessage/CMakeLists.txt59
-rw-r--r--indra/llmessage/llares.cpp17
-rw-r--r--indra/llmessage/llareslistener.cpp15
-rw-r--r--indra/llmessage/llareslistener.h9
-rw-r--r--indra/llmessage/llassetstorage.cpp3
-rw-r--r--indra/llmessage/llassetstorage.h11
-rw-r--r--indra/llmessage/llcachename.cpp40
-rw-r--r--indra/llmessage/llcachename.h4
-rw-r--r--indra/llmessage/llcurl.cpp56
-rw-r--r--indra/llmessage/llcurl.h18
-rw-r--r--indra/llmessage/lldatapacker.cpp12
-rw-r--r--indra/llmessage/lldatapacker.h5
-rw-r--r--indra/llmessage/llhttpassetstorage.cpp3
-rw-r--r--indra/llmessage/llhttpclient.cpp2
-rw-r--r--indra/llmessage/llhttpnode.h2
-rw-r--r--indra/llmessage/llinstantmessage.cpp2
-rw-r--r--indra/llmessage/lliohttpserver.cpp11
-rw-r--r--indra/llmessage/lliohttpserver.h1
-rw-r--r--indra/llmessage/llmessagetemplate.h4
-rw-r--r--indra/llmessage/llmessagetemplateparser.cpp4
-rw-r--r--indra/llmessage/llnamevalue.cpp1
-rw-r--r--indra/llmessage/llpacketbuffer.cpp5
-rw-r--r--indra/llmessage/llregionflags.h2
-rw-r--r--indra/llmessage/lltemplatemessagebuilder.cpp8
-rw-r--r--indra/llmessage/lltransfermanager.cpp2
-rw-r--r--indra/llmessage/lltransfersourceasset.cpp6
-rw-r--r--indra/llmessage/lltransfertargetfile.h7
-rw-r--r--indra/llmessage/lltransfertargetvfile.h1
-rw-r--r--indra/llmessage/llurlrequest.cpp1
-rw-r--r--indra/llmessage/llxfer.cpp1
-rw-r--r--indra/llmessage/machine.cpp62
-rw-r--r--indra/llmessage/machine.h28
-rw-r--r--indra/llmessage/message.cpp4
-rw-r--r--indra/llmessage/partsyspacket.cpp2
-rw-r--r--indra/llmessage/sound_ids.cpp314
-rw-r--r--indra/llmessage/sound_ids.h504
-rw-r--r--indra/llmessage/tests/llareslistener_test.cpp2
-rw-r--r--indra/llmessage/tests/llcurl_stub.cpp1
-rw-r--r--indra/llmessage/tests/llhttpclientadapter_test.cpp2
-rw-r--r--indra/llmessage/tests/llsdmessage_test.cpp27
40 files changed, 887 insertions, 371 deletions
diff --git a/indra/llmessage/CMakeLists.txt b/indra/llmessage/CMakeLists.txt
index a611de0cda..1f8ee26716 100644
--- a/indra/llmessage/CMakeLists.txt
+++ b/indra/llmessage/CMakeLists.txt
@@ -92,6 +92,7 @@ set(llmessage_SOURCE_FILES
llxfer_mem.cpp
llxfer_vfile.cpp
llxorcipher.cpp
+ machine.cpp
message.cpp
message_prehash.cpp
message_string_table.cpp
@@ -100,6 +101,7 @@ set(llmessage_SOURCE_FILES
patch_code.cpp
patch_dct.cpp
patch_idct.cpp
+ sound_ids.cpp
)
set(llmessage_HEADER_FILES
@@ -217,36 +219,37 @@ target_link_libraries(
)
# tests
-
-SET(llmessage_TEST_SOURCE_FILES
- # llhttpclientadapter.cpp
- llmime.cpp
- llnamevalue.cpp
- lltrustedmessageservice.cpp
- lltemplatemessagedispatcher.cpp
+if (LL_TESTS)
+ SET(llmessage_TEST_SOURCE_FILES
+ # llhttpclientadapter.cpp
+ llmime.cpp
+ llnamevalue.cpp
+ lltrustedmessageservice.cpp
+ lltemplatemessagedispatcher.cpp
llregionpresenceverifier.cpp
- )
-LL_ADD_PROJECT_UNIT_TESTS(llmessage "${llmessage_TEST_SOURCE_FILES}")
-
-# set(TEST_DEBUG on)
-set(test_libs
- ${LLMESSAGE_LIBRARIES}
- ${WINDOWS_LIBRARIES}
- ${LLVFS_LIBRARIES}
- ${LLMATH_LIBRARIES}
- ${LLCOMMON_LIBRARIES}
+ )
+ LL_ADD_PROJECT_UNIT_TESTS(llmessage "${llmessage_TEST_SOURCE_FILES}")
+
+ # set(TEST_DEBUG on)
+ set(test_libs
+ ${LLMESSAGE_LIBRARIES}
+ ${WINDOWS_LIBRARIES}
+ ${LLVFS_LIBRARIES}
+ ${LLMATH_LIBRARIES}
+ ${LLCOMMON_LIBRARIES}
${GOOGLEMOCK_LIBRARIES}
- )
+ )
-LL_ADD_INTEGRATION_TEST(
- llsdmessage
- "llsdmessage.cpp"
- "${test_libs}"
- ${PYTHON_EXECUTABLE}
- "${CMAKE_CURRENT_SOURCE_DIR}/tests/test_llsdmessage_peer.py"
- )
+ LL_ADD_INTEGRATION_TEST(
+ llsdmessage
+ "llsdmessage.cpp"
+ "${test_libs}"
+ ${PYTHON_EXECUTABLE}
+ "${CMAKE_CURRENT_SOURCE_DIR}/tests/test_llsdmessage_peer.py"
+ )
-LL_ADD_INTEGRATION_TEST(llhost "" "${test_libs}")
-LL_ADD_INTEGRATION_TEST(llpartdata "" "${test_libs}")
-LL_ADD_INTEGRATION_TEST(llxfer_file "" "${test_libs}")
+ LL_ADD_INTEGRATION_TEST(llhost "" "${test_libs}")
+ LL_ADD_INTEGRATION_TEST(llpartdata "" "${test_libs}")
+ LL_ADD_INTEGRATION_TEST(llxfer_file "" "${test_libs}")
+endif (LL_TESTS)
diff --git a/indra/llmessage/llares.cpp b/indra/llmessage/llares.cpp
index acbf51d75c..00e77d20e9 100644
--- a/indra/llmessage/llares.cpp
+++ b/indra/llmessage/llares.cpp
@@ -106,7 +106,7 @@ void LLAres::QueryResponder::queryError(int code)
LLAres::LLAres() :
chan_(NULL),
mInitSuccess(false),
- mListener(new LLAresListener("LLAres", this))
+ mListener(new LLAresListener(this))
{
if (ares_init(&chan_) != ARES_SUCCESS)
{
@@ -175,7 +175,8 @@ void LLAres::rewriteURI(const std::string &uri, UriRewriteResponder *resp)
LLQueryResponder::LLQueryResponder()
: LLAres::QueryResponder(),
- mResult(ARES_ENODATA)
+ mResult(ARES_ENODATA),
+ mType(RES_INVALID)
{
}
@@ -641,8 +642,10 @@ LLPtrRecord::LLPtrRecord(const std::string &name, unsigned ttl)
}
LLAddrRecord::LLAddrRecord(LLResType type, const std::string &name,
- unsigned ttl)
- : LLDnsRecord(type, name, ttl)
+ unsigned ttl)
+ : LLDnsRecord(type, name, ttl),
+
+ mSize(0)
{
}
@@ -701,7 +704,11 @@ bail:
}
LLSrvRecord::LLSrvRecord(const std::string &name, unsigned ttl)
- : LLHostRecord(RES_SRV, name, ttl)
+ : LLHostRecord(RES_SRV, name, ttl),
+
+ mPriority(0),
+ mWeight(0),
+ mPort(0)
{
}
diff --git a/indra/llmessage/llareslistener.cpp b/indra/llmessage/llareslistener.cpp
index a8beb8cbde..97efa96d53 100644
--- a/indra/llmessage/llareslistener.cpp
+++ b/indra/llmessage/llareslistener.cpp
@@ -22,14 +22,19 @@
#include "llevents.h"
#include "llsdutil.h"
-LLAresListener::LLAresListener(const std::string& pumpname, LLAres* llares):
- LLDispatchListener(pumpname, "op"),
+LLAresListener::LLAresListener(LLAres* llares):
+ LLEventAPI("LLAres",
+ "LLAres listener to request DNS operations"),
mAres(llares)
{
// add() every method we want to be able to invoke via this event API.
- // Optional third parameter validates expected LLSD request structure.
- add("rewriteURI", &LLAresListener::rewriteURI,
- LLSD().insert("uri", LLSD()).insert("reply", LLSD()));
+ // Optional last parameter validates expected LLSD request structure.
+ add("rewriteURI",
+ "Given [\"uri\"], return on [\"reply\"] an array of alternative URIs.\n"
+ "On failure, returns an array containing only the original URI, so\n"
+ "failure case can be processed like success case.",
+ &LLAresListener::rewriteURI,
+ LLSD().with("uri", LLSD()).with("reply", LLSD()));
}
/// This UriRewriteResponder subclass packages returned URIs as an LLSD
diff --git a/indra/llmessage/llareslistener.h b/indra/llmessage/llareslistener.h
index bf093b3d3d..33cef79c09 100644
--- a/indra/llmessage/llareslistener.h
+++ b/indra/llmessage/llareslistener.h
@@ -14,18 +14,17 @@
#if ! defined(LL_LLARESLISTENER_H)
#define LL_LLARESLISTENER_H
-#include "lleventdispatcher.h"
+#include "lleventapi.h"
class LLAres;
class LLSD;
/// Listen on an LLEventPump with specified name for LLAres request events.
-class LLAresListener: public LLDispatchListener
+class LLAresListener: public LLEventAPI
{
public:
- /// Specify the pump name on which to listen, and bind the LLAres instance
- /// to use (e.g. gAres)
- LLAresListener(const std::string& pumpname, LLAres* llares);
+ /// Bind the LLAres instance to use (e.g. gAres)
+ LLAresListener(LLAres* llares);
private:
/// command["op"] == "rewriteURI"
diff --git a/indra/llmessage/llassetstorage.cpp b/indra/llmessage/llassetstorage.cpp
index b3087bcc3f..0ab1081200 100644
--- a/indra/llmessage/llassetstorage.cpp
+++ b/indra/llmessage/llassetstorage.cpp
@@ -64,6 +64,9 @@ const LLUUID CATEGORIZE_LOST_AND_FOUND_ID(std::string("00000000-0000-0000-0000-0
const U64 TOXIC_ASSET_LIFETIME = (120 * 1000000); // microseconds
+LLTempAssetStorage::~LLTempAssetStorage()
+{
+}
///----------------------------------------------------------------------------
/// LLAssetInfo
diff --git a/indra/llmessage/llassetstorage.h b/indra/llmessage/llassetstorage.h
index 56adbd5ccf..83cfdf6110 100644
--- a/indra/llmessage/llassetstorage.h
+++ b/indra/llmessage/llassetstorage.h
@@ -204,7 +204,16 @@ typedef std::map<LLUUID,U64,lluuid_less> toxic_asset_map_t;
typedef void (*LLGetAssetCallback)(LLVFS *vfs, const LLUUID &asset_id,
LLAssetType::EType asset_type, void *user_data, S32 status, LLExtStat ext_status);
-class LLAssetStorage
+class LLTempAssetStorage
+{
+public:
+ virtual ~LLTempAssetStorage() =0;
+ virtual void addTempAssetData(const LLUUID& asset_id,
+ const LLUUID& agent_id,
+ const std::string& host_name) = 0;
+};
+
+class LLAssetStorage : public LLTempAssetStorage
{
public:
// VFS member is public because static child methods need it :(
diff --git a/indra/llmessage/llcachename.cpp b/indra/llmessage/llcachename.cpp
index a403c44b71..9363b3a8d5 100644
--- a/indra/llmessage/llcachename.cpp
+++ b/indra/llmessage/llcachename.cpp
@@ -81,6 +81,8 @@ public:
};
LLCacheNameEntry::LLCacheNameEntry()
+ : mIsGroup(false),
+ mCreateTime(0)
{
}
@@ -125,7 +127,7 @@ private:
};
ReplySender::ReplySender(LLMessageSystem* msg)
- : mMsg(msg), mPending(false)
+ : mMsg(msg), mPending(false), mCurrIsGroup(false)
{ }
ReplySender::~ReplySender()
@@ -189,6 +191,7 @@ typedef std::set<LLUUID> AskQueue;
typedef std::list<PendingReply*> ReplyQueue;
typedef std::map<LLUUID,U32> PendingQueue;
typedef std::map<LLUUID, LLCacheNameEntry*> Cache;
+typedef std::map<std::string, LLUUID> ReverseCache;
class LLCacheName::Impl
{
@@ -198,7 +201,9 @@ public:
Cache mCache;
// the map of UUIDs to names
-
+ ReverseCache mReverseCache;
+ // map of names to UUIDs
+
AskQueue mAskNameQueue;
AskQueue mAskGroupQueue;
// UUIDs to ask our upstream host about
@@ -371,7 +376,9 @@ void LLCacheName::importFile(LLFILE* fp)
entry->mFirstName = firstname;
entry->mLastName = lastname;
impl.mCache[id] = entry;
-
+ std::string fullname = entry->mFirstName + " " + entry->mLastName;
+ impl.mReverseCache[fullname] = id;
+
count++;
}
@@ -407,6 +414,8 @@ bool LLCacheName::importFile(std::istream& istr)
entry->mFirstName = agent[FIRST].asString();
entry->mLastName = agent[LAST].asString();
impl.mCache[id] = entry;
+ std::string fullname = entry->mFirstName + " " + entry->mLastName;
+ impl.mReverseCache[fullname] = id;
++count;
}
@@ -428,6 +437,7 @@ bool LLCacheName::importFile(std::istream& istr)
entry->mCreateTime = ctime;
entry->mGroupName = group[NAME].asString();
impl.mCache[id] = entry;
+ impl.mReverseCache[entry->mGroupName] = id;
++count;
}
llinfos << "LLCacheName loaded " << count << " group names" << llendl;
@@ -548,6 +558,27 @@ BOOL LLCacheName::getGroupName(const LLUUID& id, std::string& group)
return FALSE;
}
}
+
+BOOL LLCacheName::getUUID(const std::string& first, const std::string& last, LLUUID& id)
+{
+ std::string fullname = first + " " + last;
+ return getUUID(fullname, id);
+}
+
+BOOL LLCacheName::getUUID(const std::string& fullname, LLUUID& id)
+{
+ ReverseCache::iterator iter = impl.mReverseCache.find(fullname);
+ if (iter != impl.mReverseCache.end())
+ {
+ id = iter->second;
+ return TRUE;
+ }
+ else
+ {
+ return FALSE;
+ }
+}
+
// This is a little bit kludgy. LLCacheNameCallback is a slot instead of a function pointer.
// The reason it is a slot is so that the legacy get() function below can bind an old callback
// and pass it as a slot. The reason it isn't a boost::function is so that trackable behavior
@@ -897,10 +928,13 @@ void LLCacheName::Impl::processUUIDReply(LLMessageSystem* msg, bool isGroup)
if (!isGroup)
{
mSignal(id, entry->mFirstName, entry->mLastName, FALSE);
+ std::string fullname = entry->mFirstName + " " + entry->mLastName;
+ mReverseCache[fullname] = id;
}
else
{
mSignal(id, entry->mGroupName, "", TRUE);
+ mReverseCache[entry->mGroupName] = id;
}
}
}
diff --git a/indra/llmessage/llcachename.h b/indra/llmessage/llcachename.h
index 8641437d86..111cc8b650 100644
--- a/indra/llmessage/llcachename.h
+++ b/indra/llmessage/llcachename.h
@@ -86,6 +86,10 @@ public:
BOOL getName(const LLUUID& id, std::string& first, std::string& last);
BOOL getFullName(const LLUUID& id, std::string& fullname);
+ // Reverse lookup of UUID from name
+ BOOL getUUID(const std::string& first, const std::string& last, LLUUID& id);
+ BOOL getUUID(const std::string& fullname, LLUUID& id);
+
// If available, this method copies the group name into the string
// provided. The caller must allocate at least
// DB_GROUP_NAME_BUF_SIZE characters. If not available, this
diff --git a/indra/llmessage/llcurl.cpp b/indra/llmessage/llcurl.cpp
index 5ff41322b7..024e17a777 100644
--- a/indra/llmessage/llcurl.cpp
+++ b/indra/llmessage/llcurl.cpp
@@ -89,6 +89,10 @@ S32 gCurlMultiCount = 0;
std::vector<LLMutex*> LLCurl::sSSLMutex;
std::string LLCurl::sCAPath;
std::string LLCurl::sCAFile;
+// Verify SSL certificates by default (matches libcurl default). The ability
+// to alter this flag is only to allow us to suppress verification if it's
+// broken for some reason.
+bool LLCurl::sSSLVerify = true;
//static
void LLCurl::setCAPath(const std::string& path)
@@ -103,6 +107,18 @@ void LLCurl::setCAFile(const std::string& file)
}
//static
+void LLCurl::setSSLVerify(bool verify)
+{
+ sSSLVerify = verify;
+}
+
+//static
+bool LLCurl::getSSLVerify()
+{
+ return sSSLVerify;
+}
+
+//static
std::string LLCurl::getVersionString()
{
return std::string(curl_version());
@@ -229,7 +245,7 @@ public:
U32 report(CURLcode);
void getTransferInfo(LLCurl::TransferInfo* info);
- void prepRequest(const std::string& url, ResponderPtr, bool post = false);
+ void prepRequest(const std::string& url, const std::vector<std::string>& headers, ResponderPtr, bool post = false);
const char* getErrorBuffer();
@@ -441,7 +457,9 @@ size_t curlHeaderCallback(void* data, size_t size, size_t nmemb, void* user_data
return n;
}
-void LLCurl::Easy::prepRequest(const std::string& url, ResponderPtr responder, bool post)
+void LLCurl::Easy::prepRequest(const std::string& url,
+ const std::vector<std::string>& headers,
+ ResponderPtr responder, bool post)
{
resetState();
@@ -463,7 +481,8 @@ void LLCurl::Easy::prepRequest(const std::string& url, ResponderPtr responder, b
setErrorBuffer();
setCA();
- setopt(CURLOPT_SSL_VERIFYPEER, true);
+ setopt(CURLOPT_SSL_VERIFYPEER, LLCurl::getSSLVerify());
+ setopt(CURLOPT_SSL_VERIFYHOST, LLCurl::getSSLVerify()? 2 : 0);
setopt(CURLOPT_TIMEOUT, CURL_REQUEST_TIMEOUT);
setoptString(CURLOPT_URL, url);
@@ -474,8 +493,13 @@ void LLCurl::Easy::prepRequest(const std::string& url, ResponderPtr responder, b
{
slist_append("Connection: keep-alive");
slist_append("Keep-alive: 300");
+ // Accept and other headers
+ for (std::vector<std::string>::const_iterator iter = headers.begin();
+ iter != headers.end(); ++iter)
+ {
+ slist_append((*iter).c_str());
+ }
}
- // *FIX: should have ACCEPT headers
}
////////////////////////////////////////////////////////////////////////////
@@ -685,15 +709,18 @@ LLCurlRequest::LLCurlRequest() :
mActiveMulti(NULL),
mActiveRequestCount(0)
{
+ mThreadID = LLThread::currentID();
}
LLCurlRequest::~LLCurlRequest()
{
+ llassert_always(mThreadID == LLThread::currentID());
for_each(mMultiSet.begin(), mMultiSet.end(), DeletePointer());
}
void LLCurlRequest::addMulti()
{
+ llassert_always(mThreadID == LLThread::currentID());
LLCurl::Multi* multi = new LLCurl::Multi();
mMultiSet.insert(multi);
mActiveMulti = multi;
@@ -723,17 +750,20 @@ bool LLCurlRequest::addEasy(LLCurl::Easy* easy)
void LLCurlRequest::get(const std::string& url, LLCurl::ResponderPtr responder)
{
- getByteRange(url, 0, -1, responder);
+ getByteRange(url, headers_t(), 0, -1, responder);
}
-bool LLCurlRequest::getByteRange(const std::string& url, S32 offset, S32 length, LLCurl::ResponderPtr responder)
+bool LLCurlRequest::getByteRange(const std::string& url,
+ const headers_t& headers,
+ S32 offset, S32 length,
+ LLCurl::ResponderPtr responder)
{
LLCurl::Easy* easy = allocEasy();
if (!easy)
{
return false;
}
- easy->prepRequest(url, responder);
+ easy->prepRequest(url, headers, responder);
easy->setopt(CURLOPT_HTTPGET, 1);
if (length > 0)
{
@@ -745,14 +775,17 @@ bool LLCurlRequest::getByteRange(const std::string& url, S32 offset, S32 length,
return res;
}
-bool LLCurlRequest::post(const std::string& url, const LLSD& data, LLCurl::ResponderPtr responder)
+bool LLCurlRequest::post(const std::string& url,
+ const headers_t& headers,
+ const LLSD& data,
+ LLCurl::ResponderPtr responder)
{
LLCurl::Easy* easy = allocEasy();
if (!easy)
{
return false;
}
- easy->prepRequest(url, responder);
+ easy->prepRequest(url, headers, responder);
LLSDSerialize::toXML(data, easy->getInput());
S32 bytes = easy->getInput().str().length();
@@ -772,6 +805,7 @@ bool LLCurlRequest::post(const std::string& url, const LLSD& data, LLCurl::Respo
// Note: call once per frame
S32 LLCurlRequest::process()
{
+ llassert_always(mThreadID == LLThread::currentID());
S32 res = 0;
for (curlmulti_set_t::iterator iter = mMultiSet.begin();
iter != mMultiSet.end(); )
@@ -791,6 +825,7 @@ S32 LLCurlRequest::process()
S32 LLCurlRequest::getQueued()
{
+ llassert_always(mThreadID == LLThread::currentID());
S32 queued = 0;
for (curlmulti_set_t::iterator iter = mMultiSet.begin();
iter != mMultiSet.end(); )
@@ -1011,7 +1046,7 @@ void LLCurl::initClass()
S32 mutex_count = CRYPTO_num_locks();
for (S32 i=0; i<mutex_count; i++)
{
- sSSLMutex.push_back(new LLMutex(gAPRPoolp));
+ sSSLMutex.push_back(new LLMutex(NULL));
}
CRYPTO_set_id_callback(&LLCurl::ssl_thread_id);
CRYPTO_set_locking_callback(&LLCurl::ssl_locking_callback);
@@ -1026,4 +1061,3 @@ void LLCurl::cleanupClass()
#endif
curl_global_cleanup();
}
-
diff --git a/indra/llmessage/llcurl.h b/indra/llmessage/llcurl.h
index 0b58e7c4a5..caf02cccd9 100644
--- a/indra/llmessage/llcurl.h
+++ b/indra/llmessage/llcurl.h
@@ -158,6 +158,16 @@ public:
static const std::string& getCAPath() { return sCAPath; }
/**
+ * @ brief Set flag controlling whether to verify HTTPS certs.
+ */
+ static void setSSLVerify(bool verify);
+
+ /**
+ * @ brief Get flag controlling whether to verify HTTPS certs.
+ */
+ static bool getSSLVerify();
+
+ /**
* @ brief Initialize LLCurl class
*/
static void initClass();
@@ -182,6 +192,7 @@ public:
private:
static std::string sCAPath;
static std::string sCAFile;
+ static bool sSSLVerify;
};
namespace boost
@@ -194,12 +205,14 @@ namespace boost
class LLCurlRequest
{
public:
+ typedef std::vector<std::string> headers_t;
+
LLCurlRequest();
~LLCurlRequest();
void get(const std::string& url, LLCurl::ResponderPtr responder);
- bool getByteRange(const std::string& url, S32 offset, S32 length, LLCurl::ResponderPtr responder);
- bool post(const std::string& url, const LLSD& data, LLCurl::ResponderPtr responder);
+ bool getByteRange(const std::string& url, const headers_t& headers, S32 offset, S32 length, LLCurl::ResponderPtr responder);
+ bool post(const std::string& url, const headers_t& headers, const LLSD& data, LLCurl::ResponderPtr responder);
S32 process();
S32 getQueued();
@@ -213,6 +226,7 @@ private:
curlmulti_set_t mMultiSet;
LLCurl::Multi* mActiveMulti;
S32 mActiveRequestCount;
+ U32 mThreadID; // debug
};
class LLCurlEasyRequest
diff --git a/indra/llmessage/lldatapacker.cpp b/indra/llmessage/lldatapacker.cpp
index 1f52bf3a23..a1b5c7908d 100644
--- a/indra/llmessage/lldatapacker.cpp
+++ b/indra/llmessage/lldatapacker.cpp
@@ -55,6 +55,18 @@ LLDataPacker::LLDataPacker() : mPassFlags(0), mWriteEnabled(FALSE)
{
}
+//virtual
+void LLDataPacker::reset()
+{
+ llerrs << "Using unimplemented datapacker reset!" << llendl;
+}
+
+//virtual
+void LLDataPacker::dumpBufferToLog()
+{
+ llerrs << "dumpBufferToLog not implemented for this type!" << llendl;
+}
+
BOOL LLDataPacker::packFixed(const F32 value, const char *name,
const BOOL is_signed, const U32 int_bits, const U32 frac_bits)
{
diff --git a/indra/llmessage/lldatapacker.h b/indra/llmessage/lldatapacker.h
index 92bfec698b..b8d9fcbdd4 100644
--- a/indra/llmessage/lldatapacker.h
+++ b/indra/llmessage/lldatapacker.h
@@ -45,8 +45,9 @@ class LLDataPacker
public:
virtual ~LLDataPacker() {}
- virtual void reset() { llerrs << "Using unimplemented datapacker reset!" << llendl; };
- virtual void dumpBufferToLog() { llerrs << "dumpBufferToLog not implemented for this type!" << llendl; }
+ // Not required to override, but error to call?
+ virtual void reset();
+ virtual void dumpBufferToLog();
virtual BOOL hasNext() const = 0;
diff --git a/indra/llmessage/llhttpassetstorage.cpp b/indra/llmessage/llhttpassetstorage.cpp
index 49dbdbd56d..1980735bbb 100644
--- a/indra/llmessage/llhttpassetstorage.cpp
+++ b/indra/llmessage/llhttpassetstorage.cpp
@@ -126,8 +126,9 @@ LLHTTPAssetRequest::LLHTTPAssetRequest(LLHTTPAssetStorage *asp,
const std::string& url,
CURLM *curl_multi)
: LLAssetRequest(uuid, type),
- mZInitialized(false)
+ mZInitialized(false)
{
+ memset(&mZStream, 0, sizeof(mZStream)); // we'll initialize this later, but for now zero the whole C-style struct to avoid debug/coverity noise
mAssetStoragep = asp;
mCurlHandle = NULL;
mCurlMultiHandle = curl_multi;
diff --git a/indra/llmessage/llhttpclient.cpp b/indra/llmessage/llhttpclient.cpp
index 12ecbb36eb..dd56e18caf 100644
--- a/indra/llmessage/llhttpclient.cpp
+++ b/indra/llmessage/llhttpclient.cpp
@@ -222,7 +222,7 @@ static void request(
LLPumpIO::chain_t chain;
LLURLRequest* req = new LLURLRequest(method, url);
- req->checkRootCertificate(true);
+ req->checkRootCertificate(LLCurl::getSSLVerify());
lldebugs << LLURLRequest::actionAsVerb(method) << " " << url << " "
diff --git a/indra/llmessage/llhttpnode.h b/indra/llmessage/llhttpnode.h
index 915aacb7cc..8212f58653 100644
--- a/indra/llmessage/llhttpnode.h
+++ b/indra/llmessage/llhttpnode.h
@@ -305,7 +305,7 @@ protected:
~LLSimpleResponse();
private:
- LLSimpleResponse() {;} // Must be accessed through LLPointer.
+ LLSimpleResponse() : mCode(0) {} // Must be accessed through LLPointer.
};
std::ostream& operator<<(std::ostream& out, const LLSimpleResponse& resp);
diff --git a/indra/llmessage/llinstantmessage.cpp b/indra/llmessage/llinstantmessage.cpp
index 3da41939fa..a9e1ee77ef 100644
--- a/indra/llmessage/llinstantmessage.cpp
+++ b/indra/llmessage/llinstantmessage.cpp
@@ -68,9 +68,11 @@ const S32 IM_TTL = 1;
* LLIMInfo
*/
LLIMInfo::LLIMInfo() :
+ mFromGroup(FALSE),
mParentEstateID(0),
mOffline(0),
mViewerThinksToIsOnline(false),
+ mIMType(IM_NOTHING_SPECIAL),
mTimeStamp(0),
mSource(IM_FROM_SIM),
mTTL(IM_TTL)
diff --git a/indra/llmessage/lliohttpserver.cpp b/indra/llmessage/lliohttpserver.cpp
index 97134bd336..27530fbfe1 100644
--- a/indra/llmessage/lliohttpserver.cpp
+++ b/indra/llmessage/lliohttpserver.cpp
@@ -74,7 +74,12 @@ class LLHTTPPipe : public LLIOPipe
{
public:
LLHTTPPipe(const LLHTTPNode& node)
- : mNode(node), mResponse(NULL), mState(STATE_INVOKE), mChainLock(0), mStatusCode(0)
+ : mNode(node),
+ mResponse(NULL),
+ mState(STATE_INVOKE),
+ mChainLock(0),
+ mLockedPump(NULL),
+ mStatusCode(0)
{ }
virtual ~LLHTTPPipe()
{
@@ -111,7 +116,7 @@ private:
void nullPipe();
private:
- Response() {;} // Must be accessed through LLPointer.
+ Response() : mPipe(NULL) {} // Must be accessed through LLPointer.
LLHTTPPipe* mPipe;
};
friend class Response;
@@ -403,7 +408,7 @@ void LLHTTPPipe::unlockChain()
class LLHTTPResponseHeader : public LLIOPipe
{
public:
- LLHTTPResponseHeader() {}
+ LLHTTPResponseHeader() : mCode(0) {}
virtual ~LLHTTPResponseHeader() {}
protected:
diff --git a/indra/llmessage/lliohttpserver.h b/indra/llmessage/lliohttpserver.h
index d1c9bdde85..e8e390f296 100644
--- a/indra/llmessage/lliohttpserver.h
+++ b/indra/llmessage/lliohttpserver.h
@@ -34,7 +34,6 @@
#ifndef LL_LLIOHTTPSERVER_H
#define LL_LLIOHTTPSERVER_H
-#include "llapr.h"
#include "llchainio.h"
#include "llhttpnode.h"
diff --git a/indra/llmessage/llmessagetemplate.h b/indra/llmessage/llmessagetemplate.h
index d7f02ebd85..8abc0aaab2 100644
--- a/indra/llmessage/llmessagetemplate.h
+++ b/indra/llmessage/llmessagetemplate.h
@@ -82,7 +82,7 @@ protected:
class LLMsgBlkData
{
public:
- LLMsgBlkData(const char *name, S32 blocknum) : mOffset(-1), mBlockNumber(blocknum), mTotalSize(-1)
+ LLMsgBlkData(const char *name, S32 blocknum) : mBlockNumber(blocknum), mTotalSize(-1)
{
mName = (char *)name;
}
@@ -108,7 +108,6 @@ public:
temp->addData(data, size, type, data_size);
}
- S32 mOffset;
S32 mBlockNumber;
typedef LLDynamicArrayIndexed<LLMsgVarData, const char *, 8> msg_var_data_map_t;
msg_var_data_map_t mMemberVarData;
@@ -136,7 +135,6 @@ public:
void addDataFast(char *blockname, char *varname, const void *data, S32 size, EMsgVariableType type, S32 data_size = -1);
public:
- S32 mOffset;
typedef std::map<char*, LLMsgBlkData*> msg_blk_data_map_t;
msg_blk_data_map_t mMemberBlocks;
char *mName;
diff --git a/indra/llmessage/llmessagetemplateparser.cpp b/indra/llmessage/llmessagetemplateparser.cpp
index 283547ea00..2ddbf3e0df 100644
--- a/indra/llmessage/llmessagetemplateparser.cpp
+++ b/indra/llmessage/llmessagetemplateparser.cpp
@@ -403,6 +403,10 @@ LLTemplateParser::LLTemplateParser(LLTemplateTokenizer & tokens):
{
mMessages.push_back(templatep);
}
+ else
+ {
+ delete templatep;
+ }
}
if(!tokens.wantEOF())
diff --git a/indra/llmessage/llnamevalue.cpp b/indra/llmessage/llnamevalue.cpp
index 01e922eba2..43429b0ab3 100644
--- a/indra/llmessage/llnamevalue.cpp
+++ b/indra/llmessage/llnamevalue.cpp
@@ -963,6 +963,7 @@ std::ostream& operator<<(std::ostream& s, const LLNameValue &a)
U64_to_str(*a.mNameValueReference.u64, u64_string, sizeof(u64_string));
s << u64_string;
}
+ break;
case NVT_VEC3:
s << *(a.mNameValueReference.vec3);
break;
diff --git a/indra/llmessage/llpacketbuffer.cpp b/indra/llmessage/llpacketbuffer.cpp
index 027d35cf89..441e8ddd27 100644
--- a/indra/llmessage/llpacketbuffer.cpp
+++ b/indra/llmessage/llpacketbuffer.cpp
@@ -42,11 +42,14 @@
LLPacketBuffer::LLPacketBuffer(const LLHost &host, const char *datap, const S32 size) : mHost(host)
{
+ mSize = 0;
+ mData[0] = '!';
+
if (size > NET_BUFFER_SIZE)
{
llerrs << "Sending packet > " << NET_BUFFER_SIZE << " of size " << size << llendl;
}
- else // we previously relied on llerrs being fatal to not get here...
+ else
{
if (datap != NULL)
{
diff --git a/indra/llmessage/llregionflags.h b/indra/llmessage/llregionflags.h
index 232478577c..40e4a4268d 100644
--- a/indra/llmessage/llregionflags.h
+++ b/indra/llmessage/llregionflags.h
@@ -92,7 +92,7 @@ const U32 REGION_FLAGS_DENY_ANONYMOUS = (1 << 23);
const U32 REGION_FLAGS_ALLOW_PARCEL_CHANGES = (1 << 26);
-const U32 REGION_FLAGS_ABUSE_EMAIL_TO_ESTATE_OWNER = (1 << 27);
+// const U32 REGION_FLAGS_ABUSE_EMAIL_TO_ESTATE_OWNER = (1 << 27); // We no longer support ELAR
const U32 REGION_FLAGS_ALLOW_VOICE = (1 << 28);
diff --git a/indra/llmessage/lltemplatemessagebuilder.cpp b/indra/llmessage/lltemplatemessagebuilder.cpp
index 6400310c46..55379fc6fd 100644
--- a/indra/llmessage/lltemplatemessagebuilder.cpp
+++ b/indra/llmessage/lltemplatemessagebuilder.cpp
@@ -737,10 +737,14 @@ static S32 buildBlock(U8* buffer, S32 buffer_size, const LLMessageBlock* templat
}
--block_count;
- ++block_iter;
+
if (block_iter != message_data->mMemberBlocks.end())
{
- mbci = block_iter->second;
+ ++block_iter;
+ if (block_iter != message_data->mMemberBlocks.end())
+ {
+ mbci = block_iter->second;
+ }
}
}
diff --git a/indra/llmessage/lltransfermanager.cpp b/indra/llmessage/lltransfermanager.cpp
index d67911e8e2..d64b666ede 100644
--- a/indra/llmessage/lltransfermanager.cpp
+++ b/indra/llmessage/lltransfermanager.cpp
@@ -855,6 +855,7 @@ void LLTransferSourceChannel::updateTransfers()
break;
case LLTS_ERROR:
llwarns << "Error in transfer dataCallback!" << llendl;
+ // fall through
case LLTS_DONE:
// We need to clean up this transfer source.
//llinfos << "LLTransferSourceChannel::updateTransfers() " << tsp->getID() << " done" << llendl;
@@ -1195,6 +1196,7 @@ LLTransferTarget::LLTransferTarget(
mType(type),
mSourceType(source_type),
mID(transfer_id),
+ mChannelp(NULL),
mGotInfo(FALSE),
mSize(0),
mLastPacketID(-1)
diff --git a/indra/llmessage/lltransfersourceasset.cpp b/indra/llmessage/lltransfersourceasset.cpp
index 41f3f3f607..8f36d516d7 100644
--- a/indra/llmessage/lltransfersourceasset.cpp
+++ b/indra/llmessage/lltransfersourceasset.cpp
@@ -226,7 +226,10 @@ void LLTransferSourceAsset::responderCallback(LLVFS *vfs, const LLUUID& uuid, LL
-LLTransferSourceParamsAsset::LLTransferSourceParamsAsset() : LLTransferSourceParams(LLTST_ASSET)
+LLTransferSourceParamsAsset::LLTransferSourceParamsAsset()
+ : LLTransferSourceParams(LLTST_ASSET),
+
+ mAssetType(LLAssetType::AT_NONE)
{
}
@@ -292,7 +295,6 @@ bool is_asset_id_knowable(LLAssetType::EType type)
case LLAssetType::AT_BODYPART:
case LLAssetType::AT_ANIMATION:
case LLAssetType::AT_GESTURE:
- case LLAssetType::AT_FAVORITE:
case LLAssetType::AT_LINK:
case LLAssetType::AT_LINK_FOLDER:
rv = true;
diff --git a/indra/llmessage/lltransfertargetfile.h b/indra/llmessage/lltransfertargetfile.h
index 18b9b52062..92fb8f807c 100644
--- a/indra/llmessage/lltransfertargetfile.h
+++ b/indra/llmessage/lltransfertargetfile.h
@@ -40,7 +40,12 @@ typedef void (*LLTTFCompleteCallback)(const LLTSCode status, void *user_data);
class LLTransferTargetParamsFile : public LLTransferTargetParams
{
public:
- LLTransferTargetParamsFile() : LLTransferTargetParams(LLTTT_FILE) {}
+ LLTransferTargetParamsFile()
+ : LLTransferTargetParams(LLTTT_FILE),
+
+ mCompleteCallback(NULL),
+ mUserData(NULL)
+ {}
void setFilename(const std::string& filename) { mFilename = filename; }
void setCallback(LLTTFCompleteCallback cb, void *user_data) { mCompleteCallback = cb; mUserData = user_data; }
diff --git a/indra/llmessage/lltransfertargetvfile.h b/indra/llmessage/lltransfertargetvfile.h
index 8c2bc7e8bb..cd18d8ce3f 100644
--- a/indra/llmessage/lltransfertargetvfile.h
+++ b/indra/llmessage/lltransfertargetvfile.h
@@ -68,7 +68,6 @@ protected:
LLTTVFCompleteCallback mCompleteCallback;
void* mUserDatap;
S32 mErrCode;
- LLVFSThread::handle_t mHandle;
};
diff --git a/indra/llmessage/llurlrequest.cpp b/indra/llmessage/llurlrequest.cpp
index 81b7761ed5..4e7ceff984 100644
--- a/indra/llmessage/llurlrequest.cpp
+++ b/indra/llmessage/llurlrequest.cpp
@@ -163,6 +163,7 @@ void LLURLRequest::setBodyLimit(U32 size)
void LLURLRequest::checkRootCertificate(bool check)
{
mDetail->mCurlRequest->setopt(CURLOPT_SSL_VERIFYPEER, (check? TRUE : FALSE));
+ mDetail->mCurlRequest->setopt(CURLOPT_SSL_VERIFYHOST, (check? 2 : 0));
mDetail->mCurlRequest->setoptString(CURLOPT_ENCODING, "");
}
diff --git a/indra/llmessage/llxfer.cpp b/indra/llmessage/llxfer.cpp
index 8404f6519d..7aa833ee32 100644
--- a/indra/llmessage/llxfer.cpp
+++ b/indra/llmessage/llxfer.cpp
@@ -74,6 +74,7 @@ void LLXfer::init (S32 chunk_size)
mCallback = NULL;
mCallbackDataHandle = NULL;
+ mCallbackResult = 0;
mBufferContainsEOF = FALSE;
mBuffer = NULL;
diff --git a/indra/llmessage/machine.cpp b/indra/llmessage/machine.cpp
new file mode 100644
index 0000000000..afaaeb8ea2
--- /dev/null
+++ b/indra/llmessage/machine.cpp
@@ -0,0 +1,62 @@
+/**
+ * @file machine.cpp
+ * @brief LLMachine class header file
+ *
+ * $LicenseInfo:firstyear=2001&license=viewergpl$
+ *
+ * Copyright (c) 2001-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 "linden_common.h"
+
+#include "machine.h"
+
+#include "llerror.h"
+
+void LLMachine::setMachinePort(S32 port)
+{
+ if (port < 0)
+ {
+ llinfos << "Can't assign a negative number to LLMachine::mPort" << llendl;
+ mHost.setPort(0);
+ }
+ else
+ {
+ mHost.setPort(port);
+ }
+}
+
+void LLMachine::setControlPort( S32 port )
+{
+ if (port < 0)
+ {
+ llinfos << "Can't assign a negative number to LLMachine::mControlPort" << llendl;
+ mControlPort = 0;
+ }
+ else
+ {
+ mControlPort = port;
+ }
+}
diff --git a/indra/llmessage/machine.h b/indra/llmessage/machine.h
index 63a038159e..6da8e5e04e 100644
--- a/indra/llmessage/machine.h
+++ b/indra/llmessage/machine.h
@@ -33,7 +33,6 @@
#ifndef LL_MACHINE_H
#define LL_MACHINE_H
-#include "llerror.h"
#include "net.h"
#include "llhost.h"
@@ -79,31 +78,8 @@ public:
void setMachineIP(U32 ip) { mHost.setAddress(ip); }
void setMachineHost(const LLHost &host) { mHost = host; }
- void setMachinePort(S32 port)
- {
- if (port < 0)
- {
- llinfos << "Can't assign a negative number to LLMachine::mPort" << llendl;
- mHost.setPort(0);
- }
- else
- {
- mHost.setPort(port);
- }
- }
-
- void setControlPort( S32 port )
- {
- if (port < 0)
- {
- llinfos << "Can't assign a negative number to LLMachine::mControlPort" << llendl;
- mControlPort = 0;
- }
- else
- {
- mControlPort = port;
- }
- }
+ void setMachinePort(S32 port);
+ void setControlPort( S32 port );
// member variables
diff --git a/indra/llmessage/message.cpp b/indra/llmessage/message.cpp
index e56d818d65..916006bc2d 100644
--- a/indra/llmessage/message.cpp
+++ b/indra/llmessage/message.cpp
@@ -253,6 +253,8 @@ LLMessageSystem::LLMessageSystem(const std::string& filename, U32 port,
{
init();
+ mSendSize = 0;
+
mSystemVersionMajor = version_major;
mSystemVersionMinor = version_minor;
mSystemVersionPatch = version_patch;
@@ -323,6 +325,8 @@ LLMessageSystem::LLMessageSystem(const std::string& filename, U32 port,
mMaxMessageTime = 1.f;
mTrueReceiveSize = 0;
+
+ mReceiveTime = 0.f;
}
diff --git a/indra/llmessage/partsyspacket.cpp b/indra/llmessage/partsyspacket.cpp
index cfb3572d84..2f9e59accb 100644
--- a/indra/llmessage/partsyspacket.cpp
+++ b/indra/llmessage/partsyspacket.cpp
@@ -144,6 +144,8 @@ LLPartSysCompressedPacket::LLPartSysCompressedPacket()
mData[i] = '\0';
}
+ mNumBytes = 0;
+
gSetInitDataDefaults(&mDefaults);
}
diff --git a/indra/llmessage/sound_ids.cpp b/indra/llmessage/sound_ids.cpp
new file mode 100644
index 0000000000..edd9a36c5f
--- /dev/null
+++ b/indra/llmessage/sound_ids.cpp
@@ -0,0 +1,314 @@
+/**
+ * @file sound_ids.cpp
+ *
+ * $LicenseInfo:firstyear=2001&license=viewergpl$
+ *
+ * Copyright (c) 2001-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 "linden_common.h"
+
+#include "sound_ids.h"
+
+#include "lluuid.h"
+
+const LLUUID SND_NULL = LLUUID::null;
+const LLUUID SND_RIDE ("00000000-0000-0000-0000-000000000100");
+const LLUUID SND_SHOT ("00000000-0000-0000-0000-000000000101");
+const LLUUID SND_MORTAR ("00000000-0000-0000-0000-000000000102");
+const LLUUID SND_HIT ("00000000-0000-0000-0000-000000000103");
+const LLUUID SND_EXPLOSION ("00000000-0000-0000-0000-000000000104");
+const LLUUID SND_BOING ("00000000-0000-0000-0000-000000000105");
+const LLUUID SND_OBJECT_CREATE ("9f1bc096-3592-411e-9b0b-c447a9ff054c");
+
+//
+// Different bird sounds for different states
+//
+
+const LLUUID SND_CHIRP ("00000000-0000-0000-0000-000000000106"); // Flying random chirp
+const LLUUID SND_CHIRP2 ("828a9526-175b-455d-8af0-0e3c0fb602b2"); // Spooked by user
+const LLUUID SND_CHIRP3 ("f99772d6-1ce6-4a39-a28b-06d26c94c9e3"); // Spooked by object
+const LLUUID SND_CHIRP4 ("54472ca4-7fc9-42cb-b7d5-99ad5b12bd50"); // Chasing other bird
+const LLUUID SND_CHIRP5 ("2929964f-fac5-40d7-9179-2864a8fa9ace"); // Hopping random chirp
+const LLUUID SND_CHIRPDEAD ("9abff1d3-863a-4e04-bd83-3834fd7fcff4"); // Hit by grenade - dead!
+
+
+const LLUUID SND_MUNCH ("00000000-0000-0000-0000-000000000107");
+const LLUUID SND_PUNCH ("00000000-0000-0000-0000-000000000108");
+const LLUUID SND_SPLASH ("00000000-0000-0000-0000-000000000109");
+const LLUUID SND_CLICK ("00000000-0000-0000-0000-000000000110");
+const LLUUID SND_WHISTLE ("ab858f9a-1f44-4d39-9b33-351543d03ccb");
+const LLUUID SND_TYPING ("5e191c7b-8996-9ced-a177-b2ac32bfea06");
+
+const LLUUID SND_ARROW_SHOT ("00000000-0000-0000-0000-000000000111");
+const LLUUID SND_ARROW_THUD ("00000000-0000-0000-0000-000000000112");
+const LLUUID SND_LASER_SHOT ("00000000-0000-0000-0000-000000000113");
+const LLUUID SND_JET_THRUST ("67f5e4f0-0534-4d97-bc01-f297648d20e0");
+
+const LLUUID SND_SILENCE ("00000000-0000-0000-0000-000000000114");
+const LLUUID SND_BUBBLES ("00000000-0000-0000-0000-000000000115");
+const LLUUID SND_WELCOME ("00000000-0000-0000-0000-000000000116");
+const LLUUID SND_SQUISH ("00000000-0000-0000-0000-000000000117");
+const LLUUID SND_SUBPOD ("00000000-0000-0000-0000-000000000118");
+const LLUUID SND_FOOTSTEPS ("00000000-0000-0000-0000-000000000119");
+const LLUUID SND_STEP_LEFT ("00000000-0000-0000-0000-000000000124");
+const LLUUID SND_STEP_RIGHT ("00000000-0000-0000-0000-000000000125");
+
+const LLUUID SND_BALL_COLLISION ("00000000-0000-0000-0000-000000000120");
+
+const LLUUID SND_OOOH_SCARE_ME ("00000000-0000-0000-0000-000000000121");
+const LLUUID SND_PAYBACK_TIME ("00000000-0000-0000-0000-000000000122");
+const LLUUID SND_READY_FOR_BATTLE ("00000000-0000-0000-0000-000000000123");
+
+const LLUUID SND_FLESH_FLESH ("dce5fdd4-afe4-4ea1-822f-dd52cac46b08");
+const LLUUID SND_FLESH_PLASTIC ("51011582-fbca-4580-ae9e-1a5593f094ec");
+const LLUUID SND_FLESH_RUBBER ("68d62208-e257-4d0c-bbe2-20c9ea9760bb");
+const LLUUID SND_GLASS_FLESH ("75872e8c-bc39-451b-9b0b-042d7ba36cba");
+const LLUUID SND_GLASS_GLASS ("6a45ba0b-5775-4ea8-8513-26008a17f873");
+const LLUUID SND_GLASS_PLASTIC ("992a6d1b-8c77-40e0-9495-4098ce539694");
+const LLUUID SND_GLASS_RUBBER ("2de4da5a-faf8-46be-bac6-c4d74f1e5767");
+const LLUUID SND_GLASS_WOOD ("6e3fb0f7-6d9c-42ca-b86b-1122ff562d7d");
+const LLUUID SND_METAL_FLESH ("14209133-4961-4acc-9649-53fc38ee1667");
+const LLUUID SND_METAL_GLASS ("bc4a4348-cfcc-4e5e-908e-8a52a8915fe6");
+const LLUUID SND_METAL_METAL ("9e5c1297-6eed-40c0-825a-d9bcd86e3193");
+const LLUUID SND_METAL_PLASTIC ("e534761c-1894-4b61-b20c-658a6fb68157");
+const LLUUID SND_METAL_RUBBER ("8761f73f-6cf9-4186-8aaa-0948ed002db1");
+const LLUUID SND_METAL_WOOD ("874a26fd-142f-4173-8c5b-890cd846c74d");
+const LLUUID SND_PLASTIC_PLASTIC ("0e24a717-b97e-4b77-9c94-b59a5a88b2da");
+const LLUUID SND_RUBBER_PLASTIC ("75cf3ade-9a5b-4c4d-bb35-f9799bda7fb2");
+const LLUUID SND_RUBBER_RUBBER ("153c8bf7-fb89-4d89-b263-47e58b1b4774");
+const LLUUID SND_STONE_FLESH ("55c3e0ce-275a-46fa-82ff-e0465f5e8703");
+const LLUUID SND_STONE_GLASS ("24babf58-7156-4841-9a3f-761bdbb8e237");
+const LLUUID SND_STONE_METAL ("aca261d8-e145-4610-9e20-9eff990f2c12");
+const LLUUID SND_STONE_PLASTIC ("0642fba6-5dcf-4d62-8e7b-94dbb529d117");
+const LLUUID SND_STONE_RUBBER ("25a863e8-dc42-4e8a-a357-e76422ace9b5");
+const LLUUID SND_STONE_STONE ("9538f37c-456e-4047-81be-6435045608d4");
+const LLUUID SND_STONE_WOOD ("8c0f84c3-9afd-4396-b5f5-9bca2c911c20");
+const LLUUID SND_WOOD_FLESH ("be582e5d-b123-41a2-a150-454c39e961c8");
+const LLUUID SND_WOOD_PLASTIC ("c70141d4-ba06-41ea-bcbc-35ea81cb8335");
+const LLUUID SND_WOOD_RUBBER ("7d1826f4-24c4-4aac-8c2e-eff45df37783");
+const LLUUID SND_WOOD_WOOD ("063c97d3-033a-4e9b-98d8-05c8074922cb");
+
+
+const LLUUID SND_SLIDE_FLESH_FLESH ("614eec22-f73d-4fdc-8691-a37dc5c58333");
+const LLUUID SND_SLIDE_FLESH_PLASTIC (SND_NULL);
+const LLUUID SND_SLIDE_FLESH_RUBBER (SND_NULL);
+const LLUUID SND_SLIDE_FLESH_FABRIC ("3678b9b9-2a0c-42b5-9c83-80b64ad6e898");
+const LLUUID SND_SLIDE_FLESH_GRAVEL ("02eaa42a-ce1a-4b6b-9c38-cd7ad0e8f4a6");
+const LLUUID SND_SLIDE_FLESH_GRAVEL_02 ("e7d3b501-79f8-4419-b842-ab6843e0f840");
+const LLUUID SND_SLIDE_FLESH_GRAVEL_03 ("4c3e8b52-6244-4e44-85a6-f4ab994418ed");
+const LLUUID SND_SLIDE_GLASS_GRAVEL ("ca491e77-5c47-4ea1-8021-b3ebbf636cab");
+const LLUUID SND_SLIDE_GLASS_GRAVEL_02 ("30794d49-91ce-48e3-a527-c06f67bd6cbe");
+const LLUUID SND_SLIDE_GLASS_GRAVEL_03 ("04c78e54-fd8d-46b6-8ab9-7678b5d6e5cb");
+const LLUUID SND_SLIDE_GLASS_FLESH (SND_NULL);
+const LLUUID SND_SLIDE_GLASS_GLASS (SND_NULL);
+const LLUUID SND_SLIDE_GLASS_PLASTIC (SND_NULL);
+const LLUUID SND_SLIDE_GLASS_RUBBER (SND_NULL);
+const LLUUID SND_SLIDE_GLASS_WOOD (SND_NULL);
+const LLUUID SND_SLIDE_METAL_FABRIC ("18b66e81-2958-42d4-a373-7a5054919adc");
+const LLUUID SND_SLIDE_METAL_FLESH ("dde65837-633c-4841-af2f-62ec471bf61e");
+const LLUUID SND_SLIDE_METAL_FLESH_02 ("f3cc2cbe-1a1a-4db7-a8d2-e9c8f8fa1f4f");
+const LLUUID SND_SLIDE_METAL_GLASS ("4188be39-7b1f-4495-bf2b-83ddd82eea05");
+const LLUUID SND_SLIDE_METAL_GLASS_02 ("336faa2b-9d96-4e14-93ad-b63b60074379");
+const LLUUID SND_SLIDE_METAL_GLASS_03 ("34d912aa-cf73-4462-b7d0-dcba2c66caba");
+const LLUUID SND_SLIDE_METAL_GLASS_04 ("97ffc063-e872-4469-8e95-1450ac6bad2b");
+const LLUUID SND_SLIDE_METAL_GRAVEL ("2bbff37d-009a-4cfc-9a0d-817652c08fbe");
+const LLUUID SND_SLIDE_METAL_GRAVEL_02 ("a906a228-783b-49e7-9f0a-e20a41d0e39f");
+const LLUUID SND_SLIDE_METAL_METAL ("09461277-c691-45de-b2c5-89dfd3712f79");
+const LLUUID SND_SLIDE_METAL_METAL_02 ("e00a5d97-8fdc-46c1-bd53-7e312727466c");
+const LLUUID SND_SLIDE_METAL_METAL_03 ("8ebfa780-c440-4b52-ab65-5edf3bc15bf1");
+const LLUUID SND_SLIDE_METAL_METAL_04 ("d6d03cb2-5b16-4e31-b7d4-2a81d2a0909b");
+const LLUUID SND_SLIDE_METAL_METAL_05 ("3a46f447-916e-47de-a1e5-95d1af46bd0f");
+const LLUUID SND_SLIDE_METAL_METAL_06 ("cd423231-e70d-4fd2-ad26-f1c6cf5f0610");
+const LLUUID SND_SLIDE_METAL_PLASTIC (SND_NULL);
+const LLUUID SND_SLIDE_METAL_RUBBER ("12d97bc0-3c15-4744-b6bd-77d1316eb4f0");
+const LLUUID SND_SLIDE_METAL_WOOD ("4afb6926-a73f-4cb7-85d5-0f9a40107434");
+const LLUUID SND_SLIDE_METAL_WOOD_02 ("349970bf-187d-4bcb-b2cf-e7bb6581590f");
+const LLUUID SND_SLIDE_METAL_WOOD_03 ("64bf6e87-73d4-4cb4-84f7-55cecfd97cd3");
+const LLUUID SND_SLIDE_METAL_WOOD_04 ("0dc670a9-dbe8-41bc-b8ee-4d96d99219d5");
+const LLUUID SND_SLIDE_METAL_WOOD_05 ("6e3cc57b-c9aa-4829-86a1-8e82aeaccb47");
+const LLUUID SND_SLIDE_METAL_WOOD_06 ("c1237f4c-8c88-4da1-bfbc-2af26a8d9e5a");
+const LLUUID SND_SLIDE_METAL_WOOD_07 ("0e1ec243-063b-4dcb-a903-52b8dffed3d2");
+const LLUUID SND_SLIDE_METAL_WOOD_08 ("66736d0f-533d-4007-a8ee-0f27c2034126");
+const LLUUID SND_SLIDE_PLASTIC_GRAVEL ("35092c21-5c48-4b4d-a818-3cf240af2348");
+const LLUUID SND_SLIDE_PLASTIC_GRAVEL_02("c37f5776-0020-47e8-89a0-c74cc6f5742d");
+const LLUUID SND_SLIDE_PLASTIC_GRAVEL_03("d2fc8db6-2e66-464a-8ccb-f99b61ee4987");
+const LLUUID SND_SLIDE_PLASTIC_GRAVEL_04("93cbdb10-6e82-4c0b-a547-7b3b79ac25f6");
+const LLUUID SND_SLIDE_PLASTIC_GRAVEL_05("2f6d0542-fcd1-4264-a17b-f57bf5ebf402");
+const LLUUID SND_SLIDE_PLASTIC_GRAVEL_06("5b8887d4-3be2-45a0-b25d-85af3b1e6392");
+const LLUUID SND_SLIDE_PLASTIC_PLASTIC (SND_NULL);
+const LLUUID SND_SLIDE_PLASTIC_PLASTIC_02 (SND_NULL);
+const LLUUID SND_SLIDE_PLASTIC_PLASTIC_03 (SND_NULL);
+const LLUUID SND_SLIDE_PLASTIC_FABRIC ("7294d9ad-3e41-4373-992c-a9f21d5d66ad");
+const LLUUID SND_SLIDE_PLASTIC_FABRIC_02("58608ce1-f524-472f-b447-bbe6ce4a46e0");
+const LLUUID SND_SLIDE_PLASTIC_FABRIC_03("06ae285e-0b34-4ea6-84ab-9c6c31b414fc");
+const LLUUID SND_SLIDE_PLASTIC_FABRIC_04("211613db-0461-49bd-9554-5c14ad8b31f6");
+const LLUUID SND_SLIDE_RUBBER_PLASTIC ("a98ffa5a-e48e-4f9d-9242-b9a3210ad84a");
+const LLUUID SND_SLIDE_RUBBER_PLASTIC_02 ("d4136c40-eeaa-49c6-a982-8e5a16f5d93a");
+const LLUUID SND_SLIDE_RUBBER_PLASTIC_03 ("29ec0fb2-0b23-47b2-835b-c83cc7cf9fb0");
+const LLUUID SND_SLIDE_RUBBER_RUBBER (SND_NULL);
+const LLUUID SND_SLIDE_STONE_FLESH (SND_NULL);
+const LLUUID SND_SLIDE_STONE_GLASS (SND_NULL);
+const LLUUID SND_SLIDE_STONE_METAL (SND_NULL);
+const LLUUID SND_SLIDE_STONE_PLASTIC ("afd0bcc3-d41a-4572-9e7f-08a29eeb0b8a");
+const LLUUID SND_SLIDE_STONE_PLASTIC_02 ("881b720a-96cf-4128-bb98-5d87e03e93c7");
+const LLUUID SND_SLIDE_STONE_PLASTIC_03 ("293dac42-658a-4c5a-a7a2-6d4c5e5658b0");
+const LLUUID SND_SLIDE_STONE_RUBBER ("0724b946-6a3f-4eeb-bb50-0a3b33120974");
+const LLUUID SND_SLIDE_STONE_RUBBER_02 ("ada93d00-76e2-4bf1-9ad9-493727630717");
+const LLUUID SND_SLIDE_STONE_STONE ("ade766dc-2e75-4699-9b41-7c8e53d2b3f2");
+const LLUUID SND_SLIDE_STONE_STONE_02 ("66698375-6594-47b0-8046-c3973de1291d");
+const LLUUID SND_SLIDE_STONE_WOOD ("174ef324-ed50-4f65-9479-b4da580aeb3c");
+const LLUUID SND_SLIDE_STONE_WOOD_02 ("33d517fd-ff11-4d01-a7b5-0e3abf818dcf");
+const LLUUID SND_SLIDE_STONE_WOOD_03 ("1bac4b63-e6fd-4659-9761-991284cf4582");
+const LLUUID SND_SLIDE_STONE_WOOD_04 ("a7d28564-6821-4c01-a378-cde98fba7ba9");
+const LLUUID SND_SLIDE_WOOD_FABRIC ("22c58e74-22cd-4960-9ab7-5bf08ab824e5");
+const LLUUID SND_SLIDE_WOOD_FABRIC_02 ("0b0ed22e-4a0f-4617-a4cf-20d0f2b78ccc");
+const LLUUID SND_SLIDE_WOOD_FABRIC_03 ("42b80abb-9823-4b74-a210-326ccf23636a");
+const LLUUID SND_SLIDE_WOOD_FABRIC_04 ("8538298a-1e6b-4b69-a9ee-5e01e4a02b35");
+const LLUUID SND_SLIDE_WOOD_FLESH ("84b026f3-a11c-4366-aa7c-07edcd89b2bb");
+const LLUUID SND_SLIDE_WOOD_FLESH_02 ("2644191f-4848-47ba-8ba7-bddc0bfcb3da");
+const LLUUID SND_SLIDE_WOOD_FLESH_03 ("edb978e4-9be9-456f-b2fc-e8502bfe25be");
+const LLUUID SND_SLIDE_WOOD_FLESH_04 ("bf2b972e-f42a-46d7-b53e-5fca38f5bc61");
+const LLUUID SND_SLIDE_WOOD_GRAVEL ("d063bb4d-0eff-4403-a6cc-c6c6c073e624");
+const LLUUID SND_SLIDE_WOOD_GRAVEL_02 ("511eb679-6d93-47fa-9141-c3ef9261c919");
+const LLUUID SND_SLIDE_WOOD_GRAVEL_03 ("4ed1fd43-4707-4e5c-b7b7-21ec4e72c1ac");
+const LLUUID SND_SLIDE_WOOD_GRAVEL_04 ("99ea89b3-aa76-4b87-99c8-670365c6d8c3");
+const LLUUID SND_SLIDE_WOOD_PLASTIC ("505ca3c4-94a0-4e28-8fc1-ea72a428396b");
+const LLUUID SND_SLIDE_WOOD_PLASTIC_02 ("fc404011-df71-4ed0-8f22-b72bdd18f63c");
+const LLUUID SND_SLIDE_WOOD_PLASTIC_03 ("67dbe225-26df-4efa-8c8b-f1ef669fec45");
+const LLUUID SND_SLIDE_WOOD_RUBBER (SND_NULL);
+const LLUUID SND_SLIDE_WOOD_WOOD ("3079d569-b3e8-4df4-9e09-f0d4611213ef");
+const LLUUID SND_SLIDE_WOOD_WOOD_02 ("276b093d-dbcb-4279-a89e-a54b0b416af6");
+const LLUUID SND_SLIDE_WOOD_WOOD_03 ("c3f3ca5e-2768-4081-847f-247139310fdb");
+const LLUUID SND_SLIDE_WOOD_WOOD_04 ("f08d44b8-ff87-4a98-9561-c72f1f2fec81");
+const LLUUID SND_SLIDE_WOOD_WOOD_05 ("2d8a58cf-f139-4238-8503-27d334d05c85");
+const LLUUID SND_SLIDE_WOOD_WOOD_06 ("e157ebbd-b12d-4225-aa7c-d47b026a7687");
+const LLUUID SND_SLIDE_WOOD_WOOD_07 ("35e17956-e7b4-478c-b274-e37db8a166b2");
+const LLUUID SND_SLIDE_WOOD_WOOD_08 ("e606fc65-0643-4964-9979-ff964fa6a62c");
+
+
+const LLUUID SND_ROLL_FLESH_FLESH (SND_NULL);
+const LLUUID SND_ROLL_FLESH_PLASTIC ("89a0be4c-848d-4a6e-8886-298f56c2cff4");
+const LLUUID SND_ROLL_FLESH_PLASTIC_02 ("beb06343-1aa1-4af2-b320-5d2ec31c53b1");
+const LLUUID SND_ROLL_FLESH_RUBBER (SND_NULL);
+const LLUUID SND_ROLL_GLASS_GRAVEL ("ba795c74-7e09-4572-b495-e09886a46b86");
+const LLUUID SND_ROLL_GLASS_GRAVEL_02 ("4c93c3b7-14cb-4d9b-a7df-628ad935f1f2");
+const LLUUID SND_ROLL_GLASS_FLESH (SND_NULL);
+const LLUUID SND_ROLL_GLASS_GLASS (SND_NULL);
+const LLUUID SND_ROLL_GLASS_PLASTIC (SND_NULL);
+const LLUUID SND_ROLL_GLASS_RUBBER (SND_NULL);
+const LLUUID SND_ROLL_GLASS_WOOD ("d40b1f48-a061-4f6e-b18f-4326a3dd5c29");
+const LLUUID SND_ROLL_GLASS_WOOD_02 ("78cd407a-bb36-4163-ba09-20f2e6d9d44b");
+const LLUUID SND_ROLL_GRAVEL_GRAVEL ("c7354cc3-6df5-4738-8dbb-b28a6ac46a05");
+const LLUUID SND_ROLL_GRAVEL_GRAVEL_02 ("01d194c4-72a6-47df-81a5-8db430faff87");
+const LLUUID SND_ROLL_METAL_FABRIC ("ce6e6564-20fd-48e4-81e2-cd3f81c00a3e");
+const LLUUID SND_ROLL_METAL_FABRIC_02 ("fc4d0065-32f6-4bb0-9f3f-f4737eb27163");
+const LLUUID SND_ROLL_METAL_FLESH (SND_NULL);
+const LLUUID SND_ROLL_METAL_GLASS ("63d530bb-a41f-402b-aa1f-be6b11959809");
+const LLUUID SND_ROLL_METAL_GLASS_02 ("f62642c2-6db5-4faa-8b77-939067d837c3");
+const LLUUID SND_ROLL_METAL_GLASS_03 ("db5b5a15-2817-4cd7-9f0b-9ad49b5e52c8");
+const LLUUID SND_ROLL_METAL_GRAVEL ("447164e3-9646-4c1a-a16d-606892891466");
+const LLUUID SND_ROLL_METAL_METAL ("c3c22cf3-5d1f-4cc3-b4b5-708b9f65979c");
+const LLUUID SND_ROLL_METAL_METAL_02 ("d8386277-a1ea-460e-b6fd-bb285c323bf1");
+const LLUUID SND_ROLL_METAL_METAL_03 ("69ee1f02-f9cd-4c8b-aedd-39a2d6705680");
+const LLUUID SND_ROLL_METAL_METAL_04 ("5cc6b5fd-26ce-47ad-b21d-3a7c190dd375");
+const LLUUID SND_ROLL_METAL_PLASTIC ("c6a9bbf6-df15-4713-9f84-7237fce4051e");
+const LLUUID SND_ROLL_METAL_PLASTIC_01 ("0fedb59b-2dbb-4cec-b6cc-8559ec027749");
+const LLUUID SND_ROLL_METAL_RUBBER (SND_NULL);
+const LLUUID SND_ROLL_METAL_WOOD ("1d76af57-01b1-4c73-9a1d-69523bfa50ea");
+const LLUUID SND_ROLL_METAL_WOOD_02 ("78aa4e71-8e7c-4b90-a561-3ebdc639f99b");
+const LLUUID SND_ROLL_METAL_WOOD_03 ("777d95bf-962f-48fa-93bf-8c1806557d72");
+const LLUUID SND_ROLL_METAL_WOOD_04 ("1833da76-45e2-4a8b-97da-d17413e056c9");
+const LLUUID SND_ROLL_METAL_WOOD_05 ("b13e1232-3d8d-42e9-92ec-b30f9f823962");
+const LLUUID SND_ROLL_PLASTIC_FABRIC ("616a1f03-209f-4c55-b264-83a000b6ef0a");
+const LLUUID SND_ROLL_PLASTIC_PLASTIC ("873f3d82-00b2-4082-9c69-7aef3461dba1");
+const LLUUID SND_ROLL_PLASTIC_PLASTIC_02 ("cc39879f-ebc8-4405-a4fc-8342f5bed31e");
+const LLUUID SND_ROLL_RUBBER_PLASTIC (SND_NULL);
+const LLUUID SND_ROLL_RUBBER_RUBBER (SND_NULL);
+const LLUUID SND_ROLL_STONE_FLESH (SND_NULL);
+const LLUUID SND_ROLL_STONE_GLASS (SND_NULL);
+const LLUUID SND_ROLL_STONE_METAL (SND_NULL);
+const LLUUID SND_ROLL_STONE_PLASTIC ("155f65a8-cae7-476e-a58b-fd362be7fd0e");
+const LLUUID SND_ROLL_STONE_RUBBER (SND_NULL);
+const LLUUID SND_ROLL_STONE_STONE ("67d56e3f-6ed5-4658-9418-14f020c38b11");
+const LLUUID SND_ROLL_STONE_STONE_02 ("43d99d10-d75b-4246-accf-4ceb2c909aa7");
+const LLUUID SND_ROLL_STONE_STONE_03 ("f04e83ff-eed7-4e99-8f45-eb97e4e1d3b7");
+const LLUUID SND_ROLL_STONE_STONE_04 ("10fcc5ad-fa89-48d6-b774-986b580c1efc");
+const LLUUID SND_ROLL_STONE_STONE_05 ("3d86f5a3-1a91-49d9-b99f-8521a7422497");
+const LLUUID SND_ROLL_STONE_WOOD ("53e46fb7-6c21-4fe1-bffe-0567475d48fa");
+const LLUUID SND_ROLL_STONE_WOOD_02 ("5eba8c9a-a014-4299-87f1-315c45ec795b");
+const LLUUID SND_ROLL_STONE_WOOD_03 ("ea6c05fc-6e9c-4526-8a20-bc47810bb549");
+const LLUUID SND_ROLL_STONE_WOOD_04 ("64618cbf-3f42-4728-8094-e77807545efb");
+const LLUUID SND_ROLL_WOOD_FLESH ("26ee185d-6fc3-49f8-89ba-51cab04cfc42");
+const LLUUID SND_ROLL_WOOD_FLESH_02 ("334faa25-1e80-4c99-b29f-4c9c2a3d079d");
+const LLUUID SND_ROLL_WOOD_FLESH_03 ("2f876626-4dce-4f71-a91e-a25302edfab7");
+const LLUUID SND_ROLL_WOOD_FLESH_04 ("d6877aac-07fc-4931-bcde-585f223802ad");
+const LLUUID SND_ROLL_WOOD_GRAVEL ("2a23ebb5-a4a2-4f1f-8d75-7384239354aa");
+const LLUUID SND_ROLL_WOOD_GRAVEL_02 ("208bf26d-f097-450c-95c4-9d26317c613c");
+const LLUUID SND_ROLL_WOOD_GRAVEL_03 ("a26ecaf4-92c6-4e32-9864-56b7c70cab8e");
+const LLUUID SND_ROLL_WOOD_PLASTIC ("71c1000a-9f16-4cc3-8ede-ec4aa3bf5723");
+const LLUUID SND_ROLL_WOOD_PLASTIC_02 ("7bc20ba6-1e6d-4eea-83ad-c5cc3ae0e409");
+const LLUUID SND_ROLL_WOOD_RUBBER (SND_NULL);
+const LLUUID SND_ROLL_WOOD_WOOD ("2cc8eec4-bb4a-4ba8-b783-71526ec708e8");
+const LLUUID SND_ROLL_WOOD_WOOD_02 ("0a1f8070-a11a-4b4c-b260-5ffb6acb0a5d");
+const LLUUID SND_ROLL_WOOD_WOOD_03 ("160bef64-da9c-4be8-b07b-a5060b501700");
+const LLUUID SND_ROLL_WOOD_WOOD_04 ("1c62ea16-cc60-48ed-829a-68b8f4cf0c1c");
+const LLUUID SND_ROLL_WOOD_WOOD_05 ("be9cc8fe-b920-4bf5-8924-453088cbc03f");
+const LLUUID SND_ROLL_WOOD_WOOD_06 ("a76cfe60-56b0-43b1-8f31-93e56947d78b");
+const LLUUID SND_ROLL_WOOD_WOOD_07 ("0c6aa481-b5bc-4573-ae83-8e16ff27e750");
+const LLUUID SND_ROLL_WOOD_WOOD_08 ("214ab2c7-871a-451b-b0db-4c5677199011");
+const LLUUID SND_ROLL_WOOD_WOOD_09 ("0086e4db-3ac6-4545-b414-6f359bedd9a5");
+
+const LLUUID SND_SLIDE_STONE_STONE_01 ("2a7dcbd1-d3e6-4767-8432-8322648e7b9d");
+
+const LLUUID SND_STONE_DIRT_01 ("97727335-392c-4338-ac4b-23a7883279c2");
+const LLUUID SND_STONE_DIRT_02 ("cbe75eb2-3375-41d8-9e3f-2ae46b4164ed");
+const LLUUID SND_STONE_DIRT_03 ("31e236ee-001b-4c8e-ad6c-c2074cb64357");
+const LLUUID SND_STONE_DIRT_04 ("c8091652-e04b-4a11-84ba-15dba06e7a1b");
+
+const LLUUID SND_STONE_STONE_02 ("ba4ef5ac-7435-4240-b826-c24ba8fa5a78");
+const LLUUID SND_STONE_STONE_04 ("ea296329-0f09-4993-af1b-e6784bab1dc9");
+
+
+
+// extra guids
+#if 0
+const LLUUID SND_ ("a839b8ac-b0af-4ba9-9fde-188754744e02");
+const LLUUID SND_ ("20165fa8-836f-4993-85dc-1529172dcd14");
+const LLUUID SND_ ("fba8e17b-a4b3-4693-9fce-c14800f8a349");
+const LLUUID SND_ ("2d48db8b-7260-4b02-ad2a-b2c6bee60e94");
+const LLUUID SND_ ("956d344b-1808-4d8b-88b1-cbc82b7a96a1");
+const LLUUID SND_ ("b8303cc6-f0b4-4c6f-a199-81f87aba342e");
+const LLUUID SND_ ("fbf7cd0c-bc8f-4cba-9c19-11f4dd03a06b");
+const LLUUID SND_ ("85047f7d-933a-4ce5-a7b5-34670243e1ab");
+const LLUUID SND_ ("0f81acf7-6a2e-4490-957f-c7b0eda00559");
+const LLUUID SND_ ("5631a6a1-79b4-4de8-bccf-1880b6882da1");
+const LLUUID SND_ ("43c87a6b-ffb2-437b-89a0-9deba890a4fc");
+const LLUUID SND_ ("58878d1d-3156-4d01-ac3c-0c4fb99f4d53");
+const LLUUID SND_ ("9a83f321-44bf-40f6-b006-46c085515345");
+const LLUUID SND_ ("ff144533-33ab-40f2-bac8-39c34699ecc4");
+const LLUUID SND_ ("09018e87-d52c-4cd5-9805-015f413319e7");
+const LLUUID SND_ ("17d4c057-7edd-401e-9589-d5b9fe981bf2");
+#endif
diff --git a/indra/llmessage/sound_ids.h b/indra/llmessage/sound_ids.h
index e7a919056e..f67fdd2aaf 100644
--- a/indra/llmessage/sound_ids.h
+++ b/indra/llmessage/sound_ids.h
@@ -33,285 +33,263 @@
#ifndef LL_SOUND_IDS_H
#define LL_SOUND_IDS_H
-#include "lluuid.h"
+// *NOTE: Do not put the actual IDs in this file - otherwise the symbols
+// and values will be copied into every .o/.obj file and increase link time.
-const LLUUID SND_NULL = LLUUID::null;
-const LLUUID SND_RIDE ("00000000-0000-0000-0000-000000000100");
-const LLUUID SND_SHOT ("00000000-0000-0000-0000-000000000101");
-const LLUUID SND_MORTAR ("00000000-0000-0000-0000-000000000102");
-const LLUUID SND_HIT ("00000000-0000-0000-0000-000000000103");
-const LLUUID SND_EXPLOSION ("00000000-0000-0000-0000-000000000104");
-const LLUUID SND_BOING ("00000000-0000-0000-0000-000000000105");
-const LLUUID SND_OBJECT_CREATE ("9f1bc096-3592-411e-9b0b-c447a9ff054c");
+class LLUUID;
-//
-// Different bird sounds for different states
-//
-
-const LLUUID SND_CHIRP ("00000000-0000-0000-0000-000000000106"); // Flying random chirp
-const LLUUID SND_CHIRP2 ("828a9526-175b-455d-8af0-0e3c0fb602b2"); // Spooked by user
-const LLUUID SND_CHIRP3 ("f99772d6-1ce6-4a39-a28b-06d26c94c9e3"); // Spooked by object
-const LLUUID SND_CHIRP4 ("54472ca4-7fc9-42cb-b7d5-99ad5b12bd50"); // Chasing other bird
-const LLUUID SND_CHIRP5 ("2929964f-fac5-40d7-9179-2864a8fa9ace"); // Hopping random chirp
-const LLUUID SND_CHIRPDEAD ("9abff1d3-863a-4e04-bd83-3834fd7fcff4"); // Hit by grenade - dead!
-
-
-const LLUUID SND_MUNCH ("00000000-0000-0000-0000-000000000107");
-const LLUUID SND_PUNCH ("00000000-0000-0000-0000-000000000108");
-const LLUUID SND_SPLASH ("00000000-0000-0000-0000-000000000109");
-const LLUUID SND_CLICK ("00000000-0000-0000-0000-000000000110");
-const LLUUID SND_WHISTLE ("ab858f9a-1f44-4d39-9b33-351543d03ccb");
-const LLUUID SND_TYPING ("5e191c7b-8996-9ced-a177-b2ac32bfea06");
+extern const LLUUID SND_NULL;
+extern const LLUUID SND_RIDE;
+extern const LLUUID SND_SHOT;
+extern const LLUUID SND_MORTAR;
+extern const LLUUID SND_HIT;
+extern const LLUUID SND_EXPLOSION;
+extern const LLUUID SND_BOING;
+extern const LLUUID SND_OBJECT_CREATE;
-const LLUUID SND_ARROW_SHOT ("00000000-0000-0000-0000-000000000111");
-const LLUUID SND_ARROW_THUD ("00000000-0000-0000-0000-000000000112");
-const LLUUID SND_LASER_SHOT ("00000000-0000-0000-0000-000000000113");
-const LLUUID SND_JET_THRUST ("67f5e4f0-0534-4d97-bc01-f297648d20e0");
+// Different bird sounds for different states
+extern const LLUUID SND_CHIRP; // Flying random chirp
+extern const LLUUID SND_CHIRP2; // Spooked by user
+extern const LLUUID SND_CHIRP3; // Spooked by object
+extern const LLUUID SND_CHIRP4; // Chasing other bird
+extern const LLUUID SND_CHIRP5; // Hopping random chirp
+extern const LLUUID SND_CHIRPDEAD; // Hit by grenade - dead!
-const LLUUID SND_SILENCE ("00000000-0000-0000-0000-000000000114");
-const LLUUID SND_BUBBLES ("00000000-0000-0000-0000-000000000115");
-const LLUUID SND_WELCOME ("00000000-0000-0000-0000-000000000116");
-const LLUUID SND_SQUISH ("00000000-0000-0000-0000-000000000117");
-const LLUUID SND_SUBPOD ("00000000-0000-0000-0000-000000000118");
-const LLUUID SND_FOOTSTEPS ("00000000-0000-0000-0000-000000000119");
-const LLUUID SND_STEP_LEFT ("00000000-0000-0000-0000-000000000124");
-const LLUUID SND_STEP_RIGHT ("00000000-0000-0000-0000-000000000125");
-const LLUUID SND_BALL_COLLISION ("00000000-0000-0000-0000-000000000120");
+extern const LLUUID SND_MUNCH;
+extern const LLUUID SND_PUNCH;
+extern const LLUUID SND_SPLASH;
+extern const LLUUID SND_CLICK;
+extern const LLUUID SND_WHISTLE;
+extern const LLUUID SND_TYPING;
-const LLUUID SND_OOOH_SCARE_ME ("00000000-0000-0000-0000-000000000121");
-const LLUUID SND_PAYBACK_TIME ("00000000-0000-0000-0000-000000000122");
-const LLUUID SND_READY_FOR_BATTLE ("00000000-0000-0000-0000-000000000123");
+extern const LLUUID SND_ARROW_SHOT;
+extern const LLUUID SND_ARROW_THUD;
+extern const LLUUID SND_LASER_SHOT;
+extern const LLUUID SND_JET_THRUST;
-const LLUUID SND_FLESH_FLESH ("dce5fdd4-afe4-4ea1-822f-dd52cac46b08");
-const LLUUID SND_FLESH_PLASTIC ("51011582-fbca-4580-ae9e-1a5593f094ec");
-const LLUUID SND_FLESH_RUBBER ("68d62208-e257-4d0c-bbe2-20c9ea9760bb");
-const LLUUID SND_GLASS_FLESH ("75872e8c-bc39-451b-9b0b-042d7ba36cba");
-const LLUUID SND_GLASS_GLASS ("6a45ba0b-5775-4ea8-8513-26008a17f873");
-const LLUUID SND_GLASS_PLASTIC ("992a6d1b-8c77-40e0-9495-4098ce539694");
-const LLUUID SND_GLASS_RUBBER ("2de4da5a-faf8-46be-bac6-c4d74f1e5767");
-const LLUUID SND_GLASS_WOOD ("6e3fb0f7-6d9c-42ca-b86b-1122ff562d7d");
-const LLUUID SND_METAL_FLESH ("14209133-4961-4acc-9649-53fc38ee1667");
-const LLUUID SND_METAL_GLASS ("bc4a4348-cfcc-4e5e-908e-8a52a8915fe6");
-const LLUUID SND_METAL_METAL ("9e5c1297-6eed-40c0-825a-d9bcd86e3193");
-const LLUUID SND_METAL_PLASTIC ("e534761c-1894-4b61-b20c-658a6fb68157");
-const LLUUID SND_METAL_RUBBER ("8761f73f-6cf9-4186-8aaa-0948ed002db1");
-const LLUUID SND_METAL_WOOD ("874a26fd-142f-4173-8c5b-890cd846c74d");
-const LLUUID SND_PLASTIC_PLASTIC ("0e24a717-b97e-4b77-9c94-b59a5a88b2da");
-const LLUUID SND_RUBBER_PLASTIC ("75cf3ade-9a5b-4c4d-bb35-f9799bda7fb2");
-const LLUUID SND_RUBBER_RUBBER ("153c8bf7-fb89-4d89-b263-47e58b1b4774");
-const LLUUID SND_STONE_FLESH ("55c3e0ce-275a-46fa-82ff-e0465f5e8703");
-const LLUUID SND_STONE_GLASS ("24babf58-7156-4841-9a3f-761bdbb8e237");
-const LLUUID SND_STONE_METAL ("aca261d8-e145-4610-9e20-9eff990f2c12");
-const LLUUID SND_STONE_PLASTIC ("0642fba6-5dcf-4d62-8e7b-94dbb529d117");
-const LLUUID SND_STONE_RUBBER ("25a863e8-dc42-4e8a-a357-e76422ace9b5");
-const LLUUID SND_STONE_STONE ("9538f37c-456e-4047-81be-6435045608d4");
-const LLUUID SND_STONE_WOOD ("8c0f84c3-9afd-4396-b5f5-9bca2c911c20");
-const LLUUID SND_WOOD_FLESH ("be582e5d-b123-41a2-a150-454c39e961c8");
-const LLUUID SND_WOOD_PLASTIC ("c70141d4-ba06-41ea-bcbc-35ea81cb8335");
-const LLUUID SND_WOOD_RUBBER ("7d1826f4-24c4-4aac-8c2e-eff45df37783");
-const LLUUID SND_WOOD_WOOD ("063c97d3-033a-4e9b-98d8-05c8074922cb");
+extern const LLUUID SND_SILENCE;
+extern const LLUUID SND_BUBBLES;
+extern const LLUUID SND_WELCOME;
+extern const LLUUID SND_SQUISH;
+extern const LLUUID SND_SUBPOD;
+extern const LLUUID SND_FOOTSTEPS;
+extern const LLUUID SND_STEP_LEFT;
+extern const LLUUID SND_STEP_RIGHT;
+extern const LLUUID SND_BALL_COLLISION;
-const LLUUID SND_SLIDE_FLESH_FLESH ("614eec22-f73d-4fdc-8691-a37dc5c58333");
-const LLUUID SND_SLIDE_FLESH_PLASTIC (SND_NULL);
-const LLUUID SND_SLIDE_FLESH_RUBBER (SND_NULL);
-const LLUUID SND_SLIDE_FLESH_FABRIC ("3678b9b9-2a0c-42b5-9c83-80b64ad6e898");
-const LLUUID SND_SLIDE_FLESH_GRAVEL ("02eaa42a-ce1a-4b6b-9c38-cd7ad0e8f4a6");
-const LLUUID SND_SLIDE_FLESH_GRAVEL_02 ("e7d3b501-79f8-4419-b842-ab6843e0f840");
-const LLUUID SND_SLIDE_FLESH_GRAVEL_03 ("4c3e8b52-6244-4e44-85a6-f4ab994418ed");
-const LLUUID SND_SLIDE_GLASS_GRAVEL ("ca491e77-5c47-4ea1-8021-b3ebbf636cab");
-const LLUUID SND_SLIDE_GLASS_GRAVEL_02 ("30794d49-91ce-48e3-a527-c06f67bd6cbe");
-const LLUUID SND_SLIDE_GLASS_GRAVEL_03 ("04c78e54-fd8d-46b6-8ab9-7678b5d6e5cb");
-const LLUUID SND_SLIDE_GLASS_FLESH (SND_NULL);
-const LLUUID SND_SLIDE_GLASS_GLASS (SND_NULL);
-const LLUUID SND_SLIDE_GLASS_PLASTIC (SND_NULL);
-const LLUUID SND_SLIDE_GLASS_RUBBER (SND_NULL);
-const LLUUID SND_SLIDE_GLASS_WOOD (SND_NULL);
-const LLUUID SND_SLIDE_METAL_FABRIC ("18b66e81-2958-42d4-a373-7a5054919adc");
-const LLUUID SND_SLIDE_METAL_FLESH ("dde65837-633c-4841-af2f-62ec471bf61e");
-const LLUUID SND_SLIDE_METAL_FLESH_02 ("f3cc2cbe-1a1a-4db7-a8d2-e9c8f8fa1f4f");
-const LLUUID SND_SLIDE_METAL_GLASS ("4188be39-7b1f-4495-bf2b-83ddd82eea05");
-const LLUUID SND_SLIDE_METAL_GLASS_02 ("336faa2b-9d96-4e14-93ad-b63b60074379");
-const LLUUID SND_SLIDE_METAL_GLASS_03 ("34d912aa-cf73-4462-b7d0-dcba2c66caba");
-const LLUUID SND_SLIDE_METAL_GLASS_04 ("97ffc063-e872-4469-8e95-1450ac6bad2b");
-const LLUUID SND_SLIDE_METAL_GRAVEL ("2bbff37d-009a-4cfc-9a0d-817652c08fbe");
-const LLUUID SND_SLIDE_METAL_GRAVEL_02 ("a906a228-783b-49e7-9f0a-e20a41d0e39f");
-const LLUUID SND_SLIDE_METAL_METAL ("09461277-c691-45de-b2c5-89dfd3712f79");
-const LLUUID SND_SLIDE_METAL_METAL_02 ("e00a5d97-8fdc-46c1-bd53-7e312727466c");
-const LLUUID SND_SLIDE_METAL_METAL_03 ("8ebfa780-c440-4b52-ab65-5edf3bc15bf1");
-const LLUUID SND_SLIDE_METAL_METAL_04 ("d6d03cb2-5b16-4e31-b7d4-2a81d2a0909b");
-const LLUUID SND_SLIDE_METAL_METAL_05 ("3a46f447-916e-47de-a1e5-95d1af46bd0f");
-const LLUUID SND_SLIDE_METAL_METAL_06 ("cd423231-e70d-4fd2-ad26-f1c6cf5f0610");
-const LLUUID SND_SLIDE_METAL_PLASTIC (SND_NULL);
-const LLUUID SND_SLIDE_METAL_RUBBER ("12d97bc0-3c15-4744-b6bd-77d1316eb4f0");
-const LLUUID SND_SLIDE_METAL_WOOD ("4afb6926-a73f-4cb7-85d5-0f9a40107434");
-const LLUUID SND_SLIDE_METAL_WOOD_02 ("349970bf-187d-4bcb-b2cf-e7bb6581590f");
-const LLUUID SND_SLIDE_METAL_WOOD_03 ("64bf6e87-73d4-4cb4-84f7-55cecfd97cd3");
-const LLUUID SND_SLIDE_METAL_WOOD_04 ("0dc670a9-dbe8-41bc-b8ee-4d96d99219d5");
-const LLUUID SND_SLIDE_METAL_WOOD_05 ("6e3cc57b-c9aa-4829-86a1-8e82aeaccb47");
-const LLUUID SND_SLIDE_METAL_WOOD_06 ("c1237f4c-8c88-4da1-bfbc-2af26a8d9e5a");
-const LLUUID SND_SLIDE_METAL_WOOD_07 ("0e1ec243-063b-4dcb-a903-52b8dffed3d2");
-const LLUUID SND_SLIDE_METAL_WOOD_08 ("66736d0f-533d-4007-a8ee-0f27c2034126");
-const LLUUID SND_SLIDE_PLASTIC_GRAVEL ("35092c21-5c48-4b4d-a818-3cf240af2348");
-const LLUUID SND_SLIDE_PLASTIC_GRAVEL_02("c37f5776-0020-47e8-89a0-c74cc6f5742d");
-const LLUUID SND_SLIDE_PLASTIC_GRAVEL_03("d2fc8db6-2e66-464a-8ccb-f99b61ee4987");
-const LLUUID SND_SLIDE_PLASTIC_GRAVEL_04("93cbdb10-6e82-4c0b-a547-7b3b79ac25f6");
-const LLUUID SND_SLIDE_PLASTIC_GRAVEL_05("2f6d0542-fcd1-4264-a17b-f57bf5ebf402");
-const LLUUID SND_SLIDE_PLASTIC_GRAVEL_06("5b8887d4-3be2-45a0-b25d-85af3b1e6392");
-const LLUUID SND_SLIDE_PLASTIC_PLASTIC (SND_NULL);
-const LLUUID SND_SLIDE_PLASTIC_PLASTIC_02 (SND_NULL);
-const LLUUID SND_SLIDE_PLASTIC_PLASTIC_03 (SND_NULL);
-const LLUUID SND_SLIDE_PLASTIC_FABRIC ("7294d9ad-3e41-4373-992c-a9f21d5d66ad");
-const LLUUID SND_SLIDE_PLASTIC_FABRIC_02("58608ce1-f524-472f-b447-bbe6ce4a46e0");
-const LLUUID SND_SLIDE_PLASTIC_FABRIC_03("06ae285e-0b34-4ea6-84ab-9c6c31b414fc");
-const LLUUID SND_SLIDE_PLASTIC_FABRIC_04("211613db-0461-49bd-9554-5c14ad8b31f6");
-const LLUUID SND_SLIDE_RUBBER_PLASTIC ("a98ffa5a-e48e-4f9d-9242-b9a3210ad84a");
-const LLUUID SND_SLIDE_RUBBER_PLASTIC_02 ("d4136c40-eeaa-49c6-a982-8e5a16f5d93a");
-const LLUUID SND_SLIDE_RUBBER_PLASTIC_03 ("29ec0fb2-0b23-47b2-835b-c83cc7cf9fb0");
-const LLUUID SND_SLIDE_RUBBER_RUBBER (SND_NULL);
-const LLUUID SND_SLIDE_STONE_FLESH (SND_NULL);
-const LLUUID SND_SLIDE_STONE_GLASS (SND_NULL);
-const LLUUID SND_SLIDE_STONE_METAL (SND_NULL);
-const LLUUID SND_SLIDE_STONE_PLASTIC ("afd0bcc3-d41a-4572-9e7f-08a29eeb0b8a");
-const LLUUID SND_SLIDE_STONE_PLASTIC_02 ("881b720a-96cf-4128-bb98-5d87e03e93c7");
-const LLUUID SND_SLIDE_STONE_PLASTIC_03 ("293dac42-658a-4c5a-a7a2-6d4c5e5658b0");
-const LLUUID SND_SLIDE_STONE_RUBBER ("0724b946-6a3f-4eeb-bb50-0a3b33120974");
-const LLUUID SND_SLIDE_STONE_RUBBER_02 ("ada93d00-76e2-4bf1-9ad9-493727630717");
-const LLUUID SND_SLIDE_STONE_STONE ("ade766dc-2e75-4699-9b41-7c8e53d2b3f2");
-const LLUUID SND_SLIDE_STONE_STONE_02 ("66698375-6594-47b0-8046-c3973de1291d");
-const LLUUID SND_SLIDE_STONE_WOOD ("174ef324-ed50-4f65-9479-b4da580aeb3c");
-const LLUUID SND_SLIDE_STONE_WOOD_02 ("33d517fd-ff11-4d01-a7b5-0e3abf818dcf");
-const LLUUID SND_SLIDE_STONE_WOOD_03 ("1bac4b63-e6fd-4659-9761-991284cf4582");
-const LLUUID SND_SLIDE_STONE_WOOD_04 ("a7d28564-6821-4c01-a378-cde98fba7ba9");
-const LLUUID SND_SLIDE_WOOD_FABRIC ("22c58e74-22cd-4960-9ab7-5bf08ab824e5");
-const LLUUID SND_SLIDE_WOOD_FABRIC_02 ("0b0ed22e-4a0f-4617-a4cf-20d0f2b78ccc");
-const LLUUID SND_SLIDE_WOOD_FABRIC_03 ("42b80abb-9823-4b74-a210-326ccf23636a");
-const LLUUID SND_SLIDE_WOOD_FABRIC_04 ("8538298a-1e6b-4b69-a9ee-5e01e4a02b35");
-const LLUUID SND_SLIDE_WOOD_FLESH ("84b026f3-a11c-4366-aa7c-07edcd89b2bb");
-const LLUUID SND_SLIDE_WOOD_FLESH_02 ("2644191f-4848-47ba-8ba7-bddc0bfcb3da");
-const LLUUID SND_SLIDE_WOOD_FLESH_03 ("edb978e4-9be9-456f-b2fc-e8502bfe25be");
-const LLUUID SND_SLIDE_WOOD_FLESH_04 ("bf2b972e-f42a-46d7-b53e-5fca38f5bc61");
-const LLUUID SND_SLIDE_WOOD_GRAVEL ("d063bb4d-0eff-4403-a6cc-c6c6c073e624");
-const LLUUID SND_SLIDE_WOOD_GRAVEL_02 ("511eb679-6d93-47fa-9141-c3ef9261c919");
-const LLUUID SND_SLIDE_WOOD_GRAVEL_03 ("4ed1fd43-4707-4e5c-b7b7-21ec4e72c1ac");
-const LLUUID SND_SLIDE_WOOD_GRAVEL_04 ("99ea89b3-aa76-4b87-99c8-670365c6d8c3");
-const LLUUID SND_SLIDE_WOOD_PLASTIC ("505ca3c4-94a0-4e28-8fc1-ea72a428396b");
-const LLUUID SND_SLIDE_WOOD_PLASTIC_02 ("fc404011-df71-4ed0-8f22-b72bdd18f63c");
-const LLUUID SND_SLIDE_WOOD_PLASTIC_03 ("67dbe225-26df-4efa-8c8b-f1ef669fec45");
-const LLUUID SND_SLIDE_WOOD_RUBBER (SND_NULL);
-const LLUUID SND_SLIDE_WOOD_WOOD ("3079d569-b3e8-4df4-9e09-f0d4611213ef");
-const LLUUID SND_SLIDE_WOOD_WOOD_02 ("276b093d-dbcb-4279-a89e-a54b0b416af6");
-const LLUUID SND_SLIDE_WOOD_WOOD_03 ("c3f3ca5e-2768-4081-847f-247139310fdb");
-const LLUUID SND_SLIDE_WOOD_WOOD_04 ("f08d44b8-ff87-4a98-9561-c72f1f2fec81");
-const LLUUID SND_SLIDE_WOOD_WOOD_05 ("2d8a58cf-f139-4238-8503-27d334d05c85");
-const LLUUID SND_SLIDE_WOOD_WOOD_06 ("e157ebbd-b12d-4225-aa7c-d47b026a7687");
-const LLUUID SND_SLIDE_WOOD_WOOD_07 ("35e17956-e7b4-478c-b274-e37db8a166b2");
-const LLUUID SND_SLIDE_WOOD_WOOD_08 ("e606fc65-0643-4964-9979-ff964fa6a62c");
+extern const LLUUID SND_OOOH_SCARE_ME;
+extern const LLUUID SND_PAYBACK_TIME;
+extern const LLUUID SND_READY_FOR_BATTLE;
+extern const LLUUID SND_FLESH_FLESH;
+extern const LLUUID SND_FLESH_PLASTIC;
+extern const LLUUID SND_FLESH_RUBBER;
+extern const LLUUID SND_GLASS_FLESH;
+extern const LLUUID SND_GLASS_GLASS;
+extern const LLUUID SND_GLASS_PLASTIC;
+extern const LLUUID SND_GLASS_RUBBER;
+extern const LLUUID SND_GLASS_WOOD;
+extern const LLUUID SND_METAL_FLESH;
+extern const LLUUID SND_METAL_GLASS;
+extern const LLUUID SND_METAL_METAL;
+extern const LLUUID SND_METAL_PLASTIC;
+extern const LLUUID SND_METAL_RUBBER;
+extern const LLUUID SND_METAL_WOOD;
+extern const LLUUID SND_PLASTIC_PLASTIC;
+extern const LLUUID SND_RUBBER_PLASTIC;
+extern const LLUUID SND_RUBBER_RUBBER;
+extern const LLUUID SND_STONE_FLESH;
+extern const LLUUID SND_STONE_GLASS;
+extern const LLUUID SND_STONE_METAL;
+extern const LLUUID SND_STONE_PLASTIC;
+extern const LLUUID SND_STONE_RUBBER;
+extern const LLUUID SND_STONE_STONE;
+extern const LLUUID SND_STONE_WOOD;
+extern const LLUUID SND_WOOD_FLESH;
+extern const LLUUID SND_WOOD_PLASTIC;
+extern const LLUUID SND_WOOD_RUBBER;
+extern const LLUUID SND_WOOD_WOOD;
-const LLUUID SND_ROLL_FLESH_FLESH (SND_NULL);
-const LLUUID SND_ROLL_FLESH_PLASTIC ("89a0be4c-848d-4a6e-8886-298f56c2cff4");
-const LLUUID SND_ROLL_FLESH_PLASTIC_02 ("beb06343-1aa1-4af2-b320-5d2ec31c53b1");
-const LLUUID SND_ROLL_FLESH_RUBBER (SND_NULL);
-const LLUUID SND_ROLL_GLASS_GRAVEL ("ba795c74-7e09-4572-b495-e09886a46b86");
-const LLUUID SND_ROLL_GLASS_GRAVEL_02 ("4c93c3b7-14cb-4d9b-a7df-628ad935f1f2");
-const LLUUID SND_ROLL_GLASS_FLESH (SND_NULL);
-const LLUUID SND_ROLL_GLASS_GLASS (SND_NULL);
-const LLUUID SND_ROLL_GLASS_PLASTIC (SND_NULL);
-const LLUUID SND_ROLL_GLASS_RUBBER (SND_NULL);
-const LLUUID SND_ROLL_GLASS_WOOD ("d40b1f48-a061-4f6e-b18f-4326a3dd5c29");
-const LLUUID SND_ROLL_GLASS_WOOD_02 ("78cd407a-bb36-4163-ba09-20f2e6d9d44b");
-const LLUUID SND_ROLL_GRAVEL_GRAVEL ("c7354cc3-6df5-4738-8dbb-b28a6ac46a05");
-const LLUUID SND_ROLL_GRAVEL_GRAVEL_02 ("01d194c4-72a6-47df-81a5-8db430faff87");
-const LLUUID SND_ROLL_METAL_FABRIC ("ce6e6564-20fd-48e4-81e2-cd3f81c00a3e");
-const LLUUID SND_ROLL_METAL_FABRIC_02 ("fc4d0065-32f6-4bb0-9f3f-f4737eb27163");
-const LLUUID SND_ROLL_METAL_FLESH (SND_NULL);
-const LLUUID SND_ROLL_METAL_GLASS ("63d530bb-a41f-402b-aa1f-be6b11959809");
-const LLUUID SND_ROLL_METAL_GLASS_02 ("f62642c2-6db5-4faa-8b77-939067d837c3");
-const LLUUID SND_ROLL_METAL_GLASS_03 ("db5b5a15-2817-4cd7-9f0b-9ad49b5e52c8");
-const LLUUID SND_ROLL_METAL_GRAVEL ("447164e3-9646-4c1a-a16d-606892891466");
-const LLUUID SND_ROLL_METAL_METAL ("c3c22cf3-5d1f-4cc3-b4b5-708b9f65979c");
-const LLUUID SND_ROLL_METAL_METAL_02 ("d8386277-a1ea-460e-b6fd-bb285c323bf1");
-const LLUUID SND_ROLL_METAL_METAL_03 ("69ee1f02-f9cd-4c8b-aedd-39a2d6705680");
-const LLUUID SND_ROLL_METAL_METAL_04 ("5cc6b5fd-26ce-47ad-b21d-3a7c190dd375");
-const LLUUID SND_ROLL_METAL_PLASTIC ("c6a9bbf6-df15-4713-9f84-7237fce4051e");
-const LLUUID SND_ROLL_METAL_PLASTIC_01 ("0fedb59b-2dbb-4cec-b6cc-8559ec027749");
-const LLUUID SND_ROLL_METAL_RUBBER (SND_NULL);
-const LLUUID SND_ROLL_METAL_WOOD ("1d76af57-01b1-4c73-9a1d-69523bfa50ea");
-const LLUUID SND_ROLL_METAL_WOOD_02 ("78aa4e71-8e7c-4b90-a561-3ebdc639f99b");
-const LLUUID SND_ROLL_METAL_WOOD_03 ("777d95bf-962f-48fa-93bf-8c1806557d72");
-const LLUUID SND_ROLL_METAL_WOOD_04 ("1833da76-45e2-4a8b-97da-d17413e056c9");
-const LLUUID SND_ROLL_METAL_WOOD_05 ("b13e1232-3d8d-42e9-92ec-b30f9f823962");
-const LLUUID SND_ROLL_PLASTIC_FABRIC ("616a1f03-209f-4c55-b264-83a000b6ef0a");
-const LLUUID SND_ROLL_PLASTIC_PLASTIC ("873f3d82-00b2-4082-9c69-7aef3461dba1");
-const LLUUID SND_ROLL_PLASTIC_PLASTIC_02 ("cc39879f-ebc8-4405-a4fc-8342f5bed31e");
-const LLUUID SND_ROLL_RUBBER_PLASTIC (SND_NULL);
-const LLUUID SND_ROLL_RUBBER_RUBBER (SND_NULL);
-const LLUUID SND_ROLL_STONE_FLESH (SND_NULL);
-const LLUUID SND_ROLL_STONE_GLASS (SND_NULL);
-const LLUUID SND_ROLL_STONE_METAL (SND_NULL);
-const LLUUID SND_ROLL_STONE_PLASTIC ("155f65a8-cae7-476e-a58b-fd362be7fd0e");
-const LLUUID SND_ROLL_STONE_RUBBER (SND_NULL);
-const LLUUID SND_ROLL_STONE_STONE ("67d56e3f-6ed5-4658-9418-14f020c38b11");
-const LLUUID SND_ROLL_STONE_STONE_02 ("43d99d10-d75b-4246-accf-4ceb2c909aa7");
-const LLUUID SND_ROLL_STONE_STONE_03 ("f04e83ff-eed7-4e99-8f45-eb97e4e1d3b7");
-const LLUUID SND_ROLL_STONE_STONE_04 ("10fcc5ad-fa89-48d6-b774-986b580c1efc");
-const LLUUID SND_ROLL_STONE_STONE_05 ("3d86f5a3-1a91-49d9-b99f-8521a7422497");
-const LLUUID SND_ROLL_STONE_WOOD ("53e46fb7-6c21-4fe1-bffe-0567475d48fa");
-const LLUUID SND_ROLL_STONE_WOOD_02 ("5eba8c9a-a014-4299-87f1-315c45ec795b");
-const LLUUID SND_ROLL_STONE_WOOD_03 ("ea6c05fc-6e9c-4526-8a20-bc47810bb549");
-const LLUUID SND_ROLL_STONE_WOOD_04 ("64618cbf-3f42-4728-8094-e77807545efb");
-const LLUUID SND_ROLL_WOOD_FLESH ("26ee185d-6fc3-49f8-89ba-51cab04cfc42");
-const LLUUID SND_ROLL_WOOD_FLESH_02 ("334faa25-1e80-4c99-b29f-4c9c2a3d079d");
-const LLUUID SND_ROLL_WOOD_FLESH_03 ("2f876626-4dce-4f71-a91e-a25302edfab7");
-const LLUUID SND_ROLL_WOOD_FLESH_04 ("d6877aac-07fc-4931-bcde-585f223802ad");
-const LLUUID SND_ROLL_WOOD_GRAVEL ("2a23ebb5-a4a2-4f1f-8d75-7384239354aa");
-const LLUUID SND_ROLL_WOOD_GRAVEL_02 ("208bf26d-f097-450c-95c4-9d26317c613c");
-const LLUUID SND_ROLL_WOOD_GRAVEL_03 ("a26ecaf4-92c6-4e32-9864-56b7c70cab8e");
-const LLUUID SND_ROLL_WOOD_PLASTIC ("71c1000a-9f16-4cc3-8ede-ec4aa3bf5723");
-const LLUUID SND_ROLL_WOOD_PLASTIC_02 ("7bc20ba6-1e6d-4eea-83ad-c5cc3ae0e409");
-const LLUUID SND_ROLL_WOOD_RUBBER (SND_NULL);
-const LLUUID SND_ROLL_WOOD_WOOD ("2cc8eec4-bb4a-4ba8-b783-71526ec708e8");
-const LLUUID SND_ROLL_WOOD_WOOD_02 ("0a1f8070-a11a-4b4c-b260-5ffb6acb0a5d");
-const LLUUID SND_ROLL_WOOD_WOOD_03 ("160bef64-da9c-4be8-b07b-a5060b501700");
-const LLUUID SND_ROLL_WOOD_WOOD_04 ("1c62ea16-cc60-48ed-829a-68b8f4cf0c1c");
-const LLUUID SND_ROLL_WOOD_WOOD_05 ("be9cc8fe-b920-4bf5-8924-453088cbc03f");
-const LLUUID SND_ROLL_WOOD_WOOD_06 ("a76cfe60-56b0-43b1-8f31-93e56947d78b");
-const LLUUID SND_ROLL_WOOD_WOOD_07 ("0c6aa481-b5bc-4573-ae83-8e16ff27e750");
-const LLUUID SND_ROLL_WOOD_WOOD_08 ("214ab2c7-871a-451b-b0db-4c5677199011");
-const LLUUID SND_ROLL_WOOD_WOOD_09 ("0086e4db-3ac6-4545-b414-6f359bedd9a5");
-const LLUUID SND_SLIDE_STONE_STONE_01 ("2a7dcbd1-d3e6-4767-8432-8322648e7b9d");
+extern const LLUUID SND_SLIDE_FLESH_FLESH;
+extern const LLUUID SND_SLIDE_FLESH_PLASTIC;
+extern const LLUUID SND_SLIDE_FLESH_RUBBER;
+extern const LLUUID SND_SLIDE_FLESH_FABRIC;
+extern const LLUUID SND_SLIDE_FLESH_GRAVEL;
+extern const LLUUID SND_SLIDE_FLESH_GRAVEL_02;
+extern const LLUUID SND_SLIDE_FLESH_GRAVEL_03;
+extern const LLUUID SND_SLIDE_GLASS_GRAVEL;
+extern const LLUUID SND_SLIDE_GLASS_GRAVEL_02;
+extern const LLUUID SND_SLIDE_GLASS_GRAVEL_03;
+extern const LLUUID SND_SLIDE_GLASS_FLESH;
+extern const LLUUID SND_SLIDE_GLASS_GLASS;
+extern const LLUUID SND_SLIDE_GLASS_PLASTIC;
+extern const LLUUID SND_SLIDE_GLASS_RUBBER;
+extern const LLUUID SND_SLIDE_GLASS_WOOD;
+extern const LLUUID SND_SLIDE_METAL_FABRIC;
+extern const LLUUID SND_SLIDE_METAL_FLESH;
+extern const LLUUID SND_SLIDE_METAL_FLESH_02;
+extern const LLUUID SND_SLIDE_METAL_GLASS;
+extern const LLUUID SND_SLIDE_METAL_GLASS_02;
+extern const LLUUID SND_SLIDE_METAL_GLASS_03;
+extern const LLUUID SND_SLIDE_METAL_GLASS_04;
+extern const LLUUID SND_SLIDE_METAL_GRAVEL;
+extern const LLUUID SND_SLIDE_METAL_GRAVEL_02;
+extern const LLUUID SND_SLIDE_METAL_METAL;
+extern const LLUUID SND_SLIDE_METAL_METAL_02;
+extern const LLUUID SND_SLIDE_METAL_METAL_03;
+extern const LLUUID SND_SLIDE_METAL_METAL_04;
+extern const LLUUID SND_SLIDE_METAL_METAL_05;
+extern const LLUUID SND_SLIDE_METAL_METAL_06;
+extern const LLUUID SND_SLIDE_METAL_PLASTIC;
+extern const LLUUID SND_SLIDE_METAL_RUBBER;
+extern const LLUUID SND_SLIDE_METAL_WOOD;
+extern const LLUUID SND_SLIDE_METAL_WOOD_02;
+extern const LLUUID SND_SLIDE_METAL_WOOD_03;
+extern const LLUUID SND_SLIDE_METAL_WOOD_04;
+extern const LLUUID SND_SLIDE_METAL_WOOD_05;
+extern const LLUUID SND_SLIDE_METAL_WOOD_06;
+extern const LLUUID SND_SLIDE_METAL_WOOD_07;
+extern const LLUUID SND_SLIDE_METAL_WOOD_08;
+extern const LLUUID SND_SLIDE_PLASTIC_GRAVEL;
+extern const LLUUID SND_SLIDE_PLASTIC_GRAVEL_02;
+extern const LLUUID SND_SLIDE_PLASTIC_GRAVEL_03;
+extern const LLUUID SND_SLIDE_PLASTIC_GRAVEL_04;
+extern const LLUUID SND_SLIDE_PLASTIC_GRAVEL_05;
+extern const LLUUID SND_SLIDE_PLASTIC_GRAVEL_06;
+extern const LLUUID SND_SLIDE_PLASTIC_PLASTIC;
+extern const LLUUID SND_SLIDE_PLASTIC_PLASTIC_02;
+extern const LLUUID SND_SLIDE_PLASTIC_PLASTIC_03;
+extern const LLUUID SND_SLIDE_PLASTIC_FABRIC;
+extern const LLUUID SND_SLIDE_PLASTIC_FABRIC_02;
+extern const LLUUID SND_SLIDE_PLASTIC_FABRIC_03;
+extern const LLUUID SND_SLIDE_PLASTIC_FABRIC_04;
+extern const LLUUID SND_SLIDE_RUBBER_PLASTIC;
+extern const LLUUID SND_SLIDE_RUBBER_PLASTIC_02;
+extern const LLUUID SND_SLIDE_RUBBER_PLASTIC_03;
+extern const LLUUID SND_SLIDE_RUBBER_RUBBER;
+extern const LLUUID SND_SLIDE_STONE_FLESH;
+extern const LLUUID SND_SLIDE_STONE_GLASS;
+extern const LLUUID SND_SLIDE_STONE_METAL;
+extern const LLUUID SND_SLIDE_STONE_PLASTIC;
+extern const LLUUID SND_SLIDE_STONE_PLASTIC_02;
+extern const LLUUID SND_SLIDE_STONE_PLASTIC_03;
+extern const LLUUID SND_SLIDE_STONE_RUBBER;
+extern const LLUUID SND_SLIDE_STONE_RUBBER_02;
+extern const LLUUID SND_SLIDE_STONE_STONE;
+extern const LLUUID SND_SLIDE_STONE_STONE_02;
+extern const LLUUID SND_SLIDE_STONE_WOOD;
+extern const LLUUID SND_SLIDE_STONE_WOOD_02;
+extern const LLUUID SND_SLIDE_STONE_WOOD_03;
+extern const LLUUID SND_SLIDE_STONE_WOOD_04;
+extern const LLUUID SND_SLIDE_WOOD_FABRIC;
+extern const LLUUID SND_SLIDE_WOOD_FABRIC_02;
+extern const LLUUID SND_SLIDE_WOOD_FABRIC_03;
+extern const LLUUID SND_SLIDE_WOOD_FABRIC_04;
+extern const LLUUID SND_SLIDE_WOOD_FLESH;
+extern const LLUUID SND_SLIDE_WOOD_FLESH_02;
+extern const LLUUID SND_SLIDE_WOOD_FLESH_03;
+extern const LLUUID SND_SLIDE_WOOD_FLESH_04;
+extern const LLUUID SND_SLIDE_WOOD_GRAVEL;
+extern const LLUUID SND_SLIDE_WOOD_GRAVEL_02;
+extern const LLUUID SND_SLIDE_WOOD_GRAVEL_03;
+extern const LLUUID SND_SLIDE_WOOD_GRAVEL_04;
+extern const LLUUID SND_SLIDE_WOOD_PLASTIC;
+extern const LLUUID SND_SLIDE_WOOD_PLASTIC_02;
+extern const LLUUID SND_SLIDE_WOOD_PLASTIC_03;
+extern const LLUUID SND_SLIDE_WOOD_RUBBER;
+extern const LLUUID SND_SLIDE_WOOD_WOOD;
+extern const LLUUID SND_SLIDE_WOOD_WOOD_02;
+extern const LLUUID SND_SLIDE_WOOD_WOOD_03;
+extern const LLUUID SND_SLIDE_WOOD_WOOD_04;
+extern const LLUUID SND_SLIDE_WOOD_WOOD_05;
+extern const LLUUID SND_SLIDE_WOOD_WOOD_06;
+extern const LLUUID SND_SLIDE_WOOD_WOOD_07;
+extern const LLUUID SND_SLIDE_WOOD_WOOD_08;
-const LLUUID SND_STONE_DIRT_01 ("97727335-392c-4338-ac4b-23a7883279c2");
-const LLUUID SND_STONE_DIRT_02 ("cbe75eb2-3375-41d8-9e3f-2ae46b4164ed");
-const LLUUID SND_STONE_DIRT_03 ("31e236ee-001b-4c8e-ad6c-c2074cb64357");
-const LLUUID SND_STONE_DIRT_04 ("c8091652-e04b-4a11-84ba-15dba06e7a1b");
-const LLUUID SND_STONE_STONE_02 ("ba4ef5ac-7435-4240-b826-c24ba8fa5a78");
-const LLUUID SND_STONE_STONE_04 ("ea296329-0f09-4993-af1b-e6784bab1dc9");
+extern const LLUUID SND_ROLL_FLESH_FLESH;
+extern const LLUUID SND_ROLL_FLESH_PLASTIC;
+extern const LLUUID SND_ROLL_FLESH_PLASTIC_02;
+extern const LLUUID SND_ROLL_FLESH_RUBBER;
+extern const LLUUID SND_ROLL_GLASS_GRAVEL;
+extern const LLUUID SND_ROLL_GLASS_GRAVEL_02;
+extern const LLUUID SND_ROLL_GLASS_FLESH;
+extern const LLUUID SND_ROLL_GLASS_GLASS;
+extern const LLUUID SND_ROLL_GLASS_PLASTIC;
+extern const LLUUID SND_ROLL_GLASS_RUBBER;
+extern const LLUUID SND_ROLL_GLASS_WOOD;
+extern const LLUUID SND_ROLL_GLASS_WOOD_02;
+extern const LLUUID SND_ROLL_GRAVEL_GRAVEL;
+extern const LLUUID SND_ROLL_GRAVEL_GRAVEL_02;
+extern const LLUUID SND_ROLL_METAL_FABRIC;
+extern const LLUUID SND_ROLL_METAL_FABRIC_02;
+extern const LLUUID SND_ROLL_METAL_FLESH;
+extern const LLUUID SND_ROLL_METAL_GLASS;
+extern const LLUUID SND_ROLL_METAL_GLASS_02;
+extern const LLUUID SND_ROLL_METAL_GLASS_03;
+extern const LLUUID SND_ROLL_METAL_GRAVEL;
+extern const LLUUID SND_ROLL_METAL_METAL;
+extern const LLUUID SND_ROLL_METAL_METAL_02;
+extern const LLUUID SND_ROLL_METAL_METAL_03;
+extern const LLUUID SND_ROLL_METAL_METAL_04;
+extern const LLUUID SND_ROLL_METAL_PLASTIC;
+extern const LLUUID SND_ROLL_METAL_PLASTIC_01;
+extern const LLUUID SND_ROLL_METAL_RUBBER;
+extern const LLUUID SND_ROLL_METAL_WOOD;
+extern const LLUUID SND_ROLL_METAL_WOOD_02;
+extern const LLUUID SND_ROLL_METAL_WOOD_03;
+extern const LLUUID SND_ROLL_METAL_WOOD_04;
+extern const LLUUID SND_ROLL_METAL_WOOD_05;
+extern const LLUUID SND_ROLL_PLASTIC_FABRIC;
+extern const LLUUID SND_ROLL_PLASTIC_PLASTIC;
+extern const LLUUID SND_ROLL_PLASTIC_PLASTIC_02;
+extern const LLUUID SND_ROLL_RUBBER_PLASTIC;
+extern const LLUUID SND_ROLL_RUBBER_RUBBER;
+extern const LLUUID SND_ROLL_STONE_FLESH;
+extern const LLUUID SND_ROLL_STONE_GLASS;
+extern const LLUUID SND_ROLL_STONE_METAL;
+extern const LLUUID SND_ROLL_STONE_PLASTIC;
+extern const LLUUID SND_ROLL_STONE_RUBBER;
+extern const LLUUID SND_ROLL_STONE_STONE;
+extern const LLUUID SND_ROLL_STONE_STONE_02;
+extern const LLUUID SND_ROLL_STONE_STONE_03;
+extern const LLUUID SND_ROLL_STONE_STONE_04;
+extern const LLUUID SND_ROLL_STONE_STONE_05;
+extern const LLUUID SND_ROLL_STONE_WOOD;
+extern const LLUUID SND_ROLL_STONE_WOOD_02;
+extern const LLUUID SND_ROLL_STONE_WOOD_03;
+extern const LLUUID SND_ROLL_STONE_WOOD_04;
+extern const LLUUID SND_ROLL_WOOD_FLESH;
+extern const LLUUID SND_ROLL_WOOD_FLESH_02;
+extern const LLUUID SND_ROLL_WOOD_FLESH_03;
+extern const LLUUID SND_ROLL_WOOD_FLESH_04;
+extern const LLUUID SND_ROLL_WOOD_GRAVEL;
+extern const LLUUID SND_ROLL_WOOD_GRAVEL_02;
+extern const LLUUID SND_ROLL_WOOD_GRAVEL_03;
+extern const LLUUID SND_ROLL_WOOD_PLASTIC;
+extern const LLUUID SND_ROLL_WOOD_PLASTIC_02;
+extern const LLUUID SND_ROLL_WOOD_RUBBER;
+extern const LLUUID SND_ROLL_WOOD_WOOD;
+extern const LLUUID SND_ROLL_WOOD_WOOD_02;
+extern const LLUUID SND_ROLL_WOOD_WOOD_03;
+extern const LLUUID SND_ROLL_WOOD_WOOD_04;
+extern const LLUUID SND_ROLL_WOOD_WOOD_05;
+extern const LLUUID SND_ROLL_WOOD_WOOD_06;
+extern const LLUUID SND_ROLL_WOOD_WOOD_07;
+extern const LLUUID SND_ROLL_WOOD_WOOD_08;
+extern const LLUUID SND_ROLL_WOOD_WOOD_09;
+extern const LLUUID SND_SLIDE_STONE_STONE_01;
+extern const LLUUID SND_STONE_DIRT_01;
+extern const LLUUID SND_STONE_DIRT_02;
+extern const LLUUID SND_STONE_DIRT_03;
+extern const LLUUID SND_STONE_DIRT_04;
-// extra guids
-#if 0
-const LLUUID SND_ ("a839b8ac-b0af-4ba9-9fde-188754744e02");
-const LLUUID SND_ ("20165fa8-836f-4993-85dc-1529172dcd14");
-const LLUUID SND_ ("fba8e17b-a4b3-4693-9fce-c14800f8a349");
-const LLUUID SND_ ("2d48db8b-7260-4b02-ad2a-b2c6bee60e94");
-const LLUUID SND_ ("956d344b-1808-4d8b-88b1-cbc82b7a96a1");
-const LLUUID SND_ ("b8303cc6-f0b4-4c6f-a199-81f87aba342e");
-const LLUUID SND_ ("fbf7cd0c-bc8f-4cba-9c19-11f4dd03a06b");
-const LLUUID SND_ ("85047f7d-933a-4ce5-a7b5-34670243e1ab");
-const LLUUID SND_ ("0f81acf7-6a2e-4490-957f-c7b0eda00559");
-const LLUUID SND_ ("5631a6a1-79b4-4de8-bccf-1880b6882da1");
-const LLUUID SND_ ("43c87a6b-ffb2-437b-89a0-9deba890a4fc");
-const LLUUID SND_ ("58878d1d-3156-4d01-ac3c-0c4fb99f4d53");
-const LLUUID SND_ ("9a83f321-44bf-40f6-b006-46c085515345");
-const LLUUID SND_ ("ff144533-33ab-40f2-bac8-39c34699ecc4");
-const LLUUID SND_ ("09018e87-d52c-4cd5-9805-015f413319e7");
-const LLUUID SND_ ("17d4c057-7edd-401e-9589-d5b9fe981bf2");
-#endif
+extern const LLUUID SND_STONE_STONE_02;
+extern const LLUUID SND_STONE_STONE_04;
#endif
diff --git a/indra/llmessage/tests/llareslistener_test.cpp b/indra/llmessage/tests/llareslistener_test.cpp
index ac4886ccf4..6ee74c8e7a 100644
--- a/indra/llmessage/tests/llareslistener_test.cpp
+++ b/indra/llmessage/tests/llareslistener_test.cpp
@@ -4,7 +4,7 @@
* @date 2009-02-26
* @brief Tests of llareslistener.h.
*
- * $LicenseInfo:firstyear=2009&license=internal$
+ * $LicenseInfo:firstyear=2009&license=viewergpl$
* Copyright (c) 2009, Linden Research, Inc.
* $/LicenseInfo$
*/
diff --git a/indra/llmessage/tests/llcurl_stub.cpp b/indra/llmessage/tests/llcurl_stub.cpp
index e6a5ad9946..ffbe7bd202 100644
--- a/indra/llmessage/tests/llcurl_stub.cpp
+++ b/indra/llmessage/tests/llcurl_stub.cpp
@@ -20,6 +20,7 @@
*/
#include "linden_common.h"
+#include "llcurl.h"
LLCurl::Responder::Responder()
: mReferenceCount(0)
diff --git a/indra/llmessage/tests/llhttpclientadapter_test.cpp b/indra/llmessage/tests/llhttpclientadapter_test.cpp
index 250fa100b6..7065c9d7e4 100644
--- a/indra/llmessage/tests/llhttpclientadapter_test.cpp
+++ b/indra/llmessage/tests/llhttpclientadapter_test.cpp
@@ -50,7 +50,7 @@ std::vector<std::string> put_urls;
std::vector<LLSD> put_body;
std::vector<boost::intrusive_ptr<LLCurl::Responder> > put_responders;
-void LLHTTPClient::put(std::string const &url, LLSD const &body, boost::intrusive_ptr<LLCurl::Responder> responder,float)
+void LLHTTPClient::put(const std::string& url, const LLSD& body, boost::intrusive_ptr<LLCurl::Responder> responder, const LLSD& headers, const F32 timeout)
{
put_urls.push_back(url);
put_responders.push_back(responder);
diff --git a/indra/llmessage/tests/llsdmessage_test.cpp b/indra/llmessage/tests/llsdmessage_test.cpp
index 9b018d685b..de2c7e00c8 100644
--- a/indra/llmessage/tests/llsdmessage_test.cpp
+++ b/indra/llmessage/tests/llsdmessage_test.cpp
@@ -21,6 +21,7 @@
#include <iostream>
// std headers
#include <stdexcept>
+#include <typeinfo>
// external library headers
// other Linden headers
#include "../test/lltut.h"
@@ -63,6 +64,32 @@ namespace tut
{
threw = true;
}
+ catch (const std::runtime_error& ex)
+ {
+ // This clause is because on Linux, on the viewer side, for this
+ // one test program (though not others!), the
+ // LLEventPump::DupPumpName exception isn't caught by the clause
+ // above. Warn the user...
+ std::cerr << "Failed to catch " << typeid(ex).name() << std::endl;
+ // But if the expected exception was thrown, allow the test to
+ // succeed anyway. Not sure how else to handle this odd case.
+ if (std::string(typeid(ex).name()) == typeid(LLEventPump::DupPumpName).name())
+ {
+ threw = true;
+ }
+ else
+ {
+ // We don't even recognize this exception. Let it propagate
+ // out to TUT to fail the test.
+ throw;
+ }
+ }
+ catch (...)
+ {
+ std::cerr << "Utterly failed to catch expected exception!" << std::endl;
+ // This case is full of fail. We HAVE to address it.
+ throw;
+ }
ensure("second LLSDMessage should throw", threw);
}