Resolved Conflicts:
	indra/newview/llviewermedia.cpp
	indra/plugins/base_media/CMakeLists.txt

Trivial fix for indra/newview/llviewermedia.cpp.
Moved 'prepare' dependency from base_media to
base_basic because media already depends on basic.
This commit is contained in:
Aleric Inglewood
2011-05-10 04:46:58 +02:00
54 changed files with 427 additions and 751 deletions

View File

@@ -120,7 +120,7 @@
none
</widgettype>
<impl>
media_plugin_quicktime
media_plugin_webkit
</impl>
</mimetype>
<mimetype name="none/none">
@@ -130,6 +130,9 @@
<widgettype>
none
</widgettype>
<impl>
media_plugin_webkit
</impl>
</mimetype>
<mimetype name="audio/*">
<label name="audio2_label">
@@ -138,6 +141,9 @@
<widgettype>
audio
</widgettype>
<impl>
media_plugin_quicktime
</impl>
</mimetype>
<mimetype name="video/*">
<label name="video2_label">
@@ -146,6 +152,9 @@
<widgettype>
movie
</widgettype>
<impl>
media_plugin_quicktime
</impl>
</mimetype>
<mimetype name="image/*">
<label name="image2_label">
@@ -154,6 +163,9 @@
<widgettype>
image
</widgettype>
<impl>
media_plugin_webkit
</impl>
</mimetype>
<mimetype menu="1" name="video/vnd.secondlife.qt.legacy">
<label name="vnd.secondlife.qt.legacy_label">
@@ -173,6 +185,9 @@
<widgettype>
web
</widgettype>
<impl>
media_plugin_webkit
</impl>
</mimetype>
<mimetype name="application/ogg">
<label name="application/ogg_label">
@@ -181,6 +196,9 @@
<widgettype>
audio
</widgettype>
<impl>
media_plugin_quicktime
</impl>
</mimetype>
<mimetype name="application/pdf">
<label name="application/pdf_label">
@@ -189,6 +207,9 @@
<widgettype>
image
</widgettype>
<impl>
media_plugin_webkit
</impl>
</mimetype>
<mimetype name="application/postscript">
<label name="application/postscript_label">
@@ -197,6 +218,9 @@
<widgettype>
image
</widgettype>
<impl>
media_plugin_webkit
</impl>
</mimetype>
<mimetype name="application/rtf">
<label name="application/rtf_label">
@@ -205,6 +229,9 @@
<widgettype>
image
</widgettype>
<impl>
media_plugin_webkit
</impl>
</mimetype>
<mimetype name="application/smil">
<label name="application/smil_label">
@@ -214,7 +241,7 @@
movie
</widgettype>
<impl>
media_plugin_quicktime
media_plugin_webkit
</impl>
</mimetype>
<mimetype name="application/xhtml+xml">
@@ -224,6 +251,9 @@
<widgettype>
web
</widgettype>
<impl>
media_plugin_webkit
</impl>
</mimetype>
<mimetype name="application/x-director">
<label name="application/x-director_label">
@@ -232,6 +262,9 @@
<widgettype>
image
</widgettype>
<impl>
media_plugin_webkit
</impl>
</mimetype>
<mimetype name="audio/mid">
<label name="audio/mid_label">

View File

@@ -13718,6 +13718,17 @@
<key>Value</key>
<integer>1</integer>
</map>
<key>WarnFirstPhysicsWearable</key>
<map>
<key>Comment</key>
<string>Enables Physics Wearable warning dialog</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>1</integer>
</map>
<key>WatchdogEnabled</key>
<map>
<key>Comment</key>

View File

@@ -89,7 +89,7 @@
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>1</integer>
<integer>0</integer>
</map>
<key>SGBlockCardSpam</key>
<map>

View File

@@ -11390,6 +11390,7 @@
<param
id="1105"
group="1"
sex="female"
wearable="shape"
name="Breast_Physics_LeftRight_Controller"
label="Breast Physics LeftRight Controller"

Binary file not shown.

View File

@@ -7733,6 +7733,8 @@ void LLAgent::sendAgentSetAppearance()
}
static bool send_physics_params = false;
send_physics_params |= !!getWearable(WT_PHYSICS);
S32 transmitted_params = 0;
for (LLViewerVisualParam* param = (LLViewerVisualParam*)mAvatarObject->getFirstVisualParam();
param;
@@ -7740,11 +7742,16 @@ void LLAgent::sendAgentSetAppearance()
{
if (param->getGroup() == VISUAL_PARAM_GROUP_TWEAKABLE) // do not transmit params of group VISUAL_PARAM_GROUP_TWEAKABLE_NO_TRANSMIT
{
//A hack to prevent ruthing on older viewers when phys wearables aren't being worn.
if(!send_physics_params && param->getID() >= 10000)
{
break;
}
msg->nextBlockFast(_PREHASH_VisualParam );
// We don't send the param ids. Instead, we assume that the receiver has the same params in the same sequence.
const F32 param_value = param->getWeight();
const U8 new_weight = F32_to_U8(param_value, param->getMinWeight(), param->getMaxWeight());
msg->addU8Fast(_PREHASH_ParamValue, new_weight );
transmitted_params++;
}
@@ -7886,6 +7893,30 @@ struct LLSetWearableData
LLWearable* mNewWearable;
};
static bool isFirstPhysicsWearable(EWearableType type, LLInventoryItem *new_item, LLWearable *new_wearable)
{
if (type == WT_PHYSICS && gSavedSettings.getWarning("FirstPhysicsWearable"))
{
class WearableDelayedCallback
{
public:
static void setDelayedWearable( const LLSD& notification, const LLSD& response, LLUUID item_id, LLWearable *wearable )
{
if(LLNotification::getSelectedOption(notification, response) == 0) //User selected wear
{
gSavedSettings.setWarning("FirstPhysicsWearable",FALSE);
LLInventoryItem *item = gInventory.getItem(item_id);
if(item)
gAgent.setWearable(item,wearable); //re-enter.
}
}
};
LLNotifications::instance().add("FirstPhysicsWearable",LLSD(),LLSD(),boost::bind(WearableDelayedCallback::setDelayedWearable, _1, _2, new_item->getUUID(),new_wearable));
return true;
}
return false;
}
BOOL LLAgent::needsReplacement(EWearableType wearableType, S32 remove)
{
return TRUE;
@@ -7955,6 +7986,11 @@ void LLAgent::setWearableOutfit(
}
}
if (isFirstPhysicsWearable(type, new_item, new_wearable))
{
return;
}
mWearableEntry[ type ].mItemID = new_item->getUUID();
mWearableEntry[ type ].mWearable = new_wearable;
}
@@ -8019,6 +8055,11 @@ void LLAgent::setWearable( LLInventoryItem* new_item, LLWearable* new_wearable )
}
// [/RLVa:KB]
if (isFirstPhysicsWearable(type, new_item, new_wearable))
{
return;
}
if( old_wearable )
{
const LLUUID& old_item_id = mWearableEntry[ type ].mItemID;

View File

@@ -1790,6 +1790,7 @@ bool LLAppViewer::initConfiguration()
LLFirstUse::addConfigVariable("FirstSculptedPrim");
LLFirstUse::addConfigVariable("FirstVoice");
LLFirstUse::addConfigVariable("FirstMedia");
LLFirstUse::addConfigVariable("FirstPhysicsWearable");
// [RLVa:KB] - Checked: RLVa-1.0.3a (2009-09-10) | Added: RLVa-1.0.3a
//LLFirstUse::addConfigVariable(RLV_SETTING_FIRSTUSE_DETACH);

View File

@@ -704,8 +704,8 @@ void LLDrawable::updateDistance(LLCamera& camera, bool force_update)
{
LLVector3 box = (facep->mExtents[1] - facep->mExtents[0]) * 0.25f;
LLVector3 v = (facep->mCenterLocal-camera.getOrigin());
LLVector3 at = camera.getAtAxis();
for (U32 j = 0; j < 3; j++)
const LLVector3& at = camera.getAtAxis();
for (U32 j = 0; j < 3; j++)
{
v.mV[j] -= box.mV[j] * at.mV[j];
}

View File

@@ -44,9 +44,7 @@
#include "llquaternion.h"
#include "xform.h"
#include "llmemtype.h"
#include "llprimitive.h"
#include "lldarray.h"
#include "llstat.h"
#include "llviewerobject.h"
#include "llrect.h"
#include "llappviewer.h" // for gFrameTimeSeconds
@@ -55,6 +53,7 @@ class LLCamera;
class LLDrawPool;
class LLDrawable;
class LLFace;
class LLFacePool;
class LLSpatialGroup;
class LLSpatialBridge;
class LLSpatialPartition;

View File

@@ -75,7 +75,6 @@
extern LLCPUInfo gSysCPU;
extern LLMemoryInfo gSysMemory;
extern U32 gPacketsIn;

View File

@@ -113,7 +113,7 @@ void hud_render_text(const LLWString &wstr, const LLVector3 &pos_agent,
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glMatrixMode(GL_MODELVIEW);
gGL.pushMatrix();
LLUI::pushMatrix();
gViewerWindow->setup2DRender();
@@ -126,6 +126,7 @@ void hud_render_text(const LLWString &wstr, const LLVector3 &pos_agent,
font.render(wstr, 0, 0, 0, color, LLFontGL::LEFT, LLFontGL::BASELINE, style, wstr.length(), 1000, &right_x);
LLUI::popMatrix();
gGL.popMatrix();
glMatrixMode(GL_PROJECTION);
glPopMatrix();

View File

@@ -102,11 +102,15 @@ public:
mLastTime(0),
mPosition_local(0),
mVelocityJoint_local(0),
mPositionLastUpdate_local(0)
mPositionLastUpdate_local(0),
mAccelerationJoint_local(0),
mVelocity_local(0)
{
mJointState = new LLJointState;
}
void getString(std::ostringstream &oss);
BOOL initialize();
~LLPhysicsMotion() {}
@@ -127,8 +131,7 @@ protected:
{
return sDefaultController[controller_key];
}
const std::string& param_name = (*entry).second.c_str();
return mCharacter->getVisualParamWeight(param_name.c_str());
return mCharacter->getVisualParamWeight((*entry).second.c_str());
}
void setParamValue(LLViewerVisualParam *param,
const F32 new_value_local,
@@ -194,6 +197,80 @@ BOOL LLPhysicsMotion::initialize()
return TRUE;
}
std::string LLPhysicsMotionController::getString()
{
std::ostringstream oss;
oss << "{" << std::endl <<
"Active: " << mActive << std::endl <<
"IsDefault: " << mIsDefault << std::endl <<
"Stopped: " << isStopped() << std::endl <<
"Name: " << getName() << std::endl <<
"ID: " << getID().asString() << std::endl;
for (motion_vec_t::iterator iter = mMotions.begin();iter != mMotions.end();++iter)
{
(*iter)->getString(oss);
}
oss << "}" << std::endl;
return oss.str();
}
void getParamString(U32 depth, LLViewerVisualParam *param, std::ostringstream &oss)
{
std::string indent;
indent.resize(depth,' ');
oss <<
indent << "getID: " << param->getID() << std::endl <<
indent << "getName: " << param->getName() << std::endl <<
indent << "getDisplayName: " << param->getDisplayName() << std::endl <<
indent << "getGroup: " << param->getGroup() << std::endl <<
indent << "getSex: " << param->getSex() << std::endl <<
indent << "getMinWeight: " << param->getMinWeight() << std::endl <<
indent << "getMaxWeight: " << param->getMaxWeight() << std::endl <<
indent << "getDefaultWeight: " << param->getDefaultWeight() << std::endl <<
indent << "getWeight: " << param->getWeight() << std::endl <<
indent << "getCurrentWeight: " << param->getCurrentWeight() << std::endl <<
indent << "getLastWeight: " << param->getLastWeight() << std::endl <<
indent << "isAnimating: " << param->isAnimating() << std::endl <<
indent << "isTweakable: " << param->isTweakable() << std::endl;
}
void LLPhysicsMotion::getString(std::ostringstream &oss)
{
oss <<
" mParamDriverName: " << mParamDriverName << std::endl <<
" mParamControllerName: " << mParamControllerName << std::endl <<
" mMotionDirectionVec: " << mMotionDirectionVec << std::endl <<
" mJointName: " << mJointName << std::endl <<
" mPosition_local: " << mPosition_local << std::endl <<
" mVelocityJoint_local: " << mVelocityJoint_local << std::endl <<
" mAccelerationJoint_local: " << mAccelerationJoint_local << std::endl <<
" mPositionLastUpdate_local: " << mPositionLastUpdate_local << std::endl <<
" mPosition_world: " << mPosition_world << std::endl <<
" mVelocity_local: " << mVelocity_local << std::endl;
if(mParamDriver)
{
oss << " <DRIVER>" << std::endl;
getParamString(2,mParamDriver,oss);
LLDriverParam *driver_param = dynamic_cast<LLDriverParam *>(mParamDriver);
if(driver_param)
{
for (LLDriverParam::entry_list_t::iterator iter = driver_param->mDriven.begin();
iter != driver_param->mDriven.end();++iter)
{
oss << " <DRIVEN>" << std::endl;
getParamString(3,iter->mParam,oss);
}
}
}
else
oss << " mParamDriver: (NULL)" << std::endl;
oss << " Controllers:" << std::endl;
for(controller_map_t::const_iterator it = mParamControllers.begin(); it!= mParamControllers.end(); ++it)
{
oss << " mParamControllers[\"" << it->first << "\"] = \"" << it->second << "\" =" << getParamValue(it->first) << std::endl;
}
}
LLPhysicsMotionController::LLPhysicsMotionController(const LLUUID &id) :
LLMotion(id),
mCharacter(NULL),

View File

@@ -51,6 +51,9 @@ class LLPhysicsMotionController :
public LLMotion
{
public:
std::string getString();
// Constructor
LLPhysicsMotionController(const LLUUID &id);

View File

@@ -212,6 +212,7 @@ void display_stats()
{
F32 fps = gRecentFrameCount / fps_log_freq;
llinfos << llformat("FPS: %.02f", fps) << llendl;
llinfos << llformat("VBO: %d glVBO: %d", LLVertexBuffer::sCount, LLVertexBuffer::sGLCount) << llendl;
gRecentFrameCount = 0;
gRecentFPSTime.reset();
}

View File

@@ -139,7 +139,7 @@ void LLViewerJointAttachment::setupDrawable(LLViewerObject *object)
LLViewerObject::const_child_list_t& child_list = object->getChildren();
for (LLViewerObject::child_list_t::const_iterator iter = child_list.begin();
iter != child_list.end(); iter++)
iter != child_list.end(); ++iter)
{
LLViewerObject* childp = *iter;
if (childp && childp->mDrawable.notNull())
@@ -197,7 +197,7 @@ BOOL LLViewerJointAttachment::addObject(LLViewerObject* object)
}
LLViewerObject::const_child_list_t& child_list = object->getChildren();
for (LLViewerObject::child_list_t::const_iterator iter = child_list.begin();
iter != child_list.end(); iter++)
iter != child_list.end(); ++iter)
{
LLViewerObject* childp = *iter;
if (childp && childp->mText.notNull())
@@ -266,7 +266,7 @@ void LLViewerJointAttachment::removeObject(LLViewerObject *object)
LLViewerObject::const_child_list_t& child_list = object->getChildren();
for (LLViewerObject::child_list_t::const_iterator iter = child_list.begin();
iter != child_list.end(); iter++)
iter != child_list.end(); ++iter)
{
LLViewerObject* childp = *iter;
if (childp && childp->mDrawable.notNull())
@@ -291,7 +291,7 @@ void LLViewerJointAttachment::removeObject(LLViewerObject *object)
}
LLViewerObject::const_child_list_t& child_list = object->getChildren();
for (LLViewerObject::child_list_t::const_iterator iter = child_list.begin();
iter != child_list.end(); iter++)
iter != child_list.end(); ++iter)
{
LLViewerObject* childp = *iter;
if (childp->mText.notNull())

View File

@@ -114,8 +114,8 @@ public:
protected:
void calcLOD();
void setupDrawable(LLViewerObject *object);
protected:
private:
BOOL mVisibleInFirst;
LLVector3 mOriginalPos;
S32 mGroup;

View File

@@ -940,9 +940,11 @@ void LLViewerMediaImpl::updateImagesMediaStreams()
return NULL;
}
LLViewerMediaTexture* placeholder_image = (LLViewerMediaTexture*)LLViewerTextureManager::findTexture( mTextureId );
LLViewerMediaTexture* placeholder_image = (LLViewerMediaTexture*)LLViewerTextureManager::getFetchedTexture( mTextureId );
LLPluginClassMedia* plugin = getMediaPlugin();
placeholder_image->getLastReferencedTimer()->reset();
if (mNeedsNewTexture
|| placeholder_image->getUseMipMaps()
|| ! placeholder_image->mIsMediaTexture

View File

@@ -3421,8 +3421,8 @@ void LLViewerObject::setPositionParent(const LLVector3 &pos_parent, BOOL damped)
// Set position relative to parent, if no parent, relative to region
if (!isRoot())
{
LLViewerObject::setPosition(pos_parent);
updateDrawable(damped);
LLViewerObject::setPosition(pos_parent, damped);
//updateDrawable(damped);
}
else
{
@@ -3463,6 +3463,7 @@ void LLViewerObject::setPositionEdit(const LLVector3 &pos_edit, BOOL damped)
LLVector3 position_offset = getPosition() * getParent()->getRotation();
((LLViewerObject *)getParent())->setPositionEdit(pos_edit - position_offset);
updateDrawable(damped);
}
else if (isJointChild())
{
@@ -3471,15 +3472,14 @@ void LLViewerObject::setPositionEdit(const LLVector3 &pos_edit, BOOL damped)
LLQuaternion inv_parent_rot = parent->getRotation();
inv_parent_rot.transQuat();
LLVector3 pos_parent = (pos_edit - parent->getPositionRegion()) * inv_parent_rot;
LLViewerObject::setPosition(pos_parent);
LLViewerObject::setPosition(pos_parent, damped);
}
else
{
LLViewerObject::setPosition(pos_edit);
LLViewerObject::setPosition(pos_edit, damped);
mPositionRegion = pos_edit;
mPositionAgent = mRegionp->getPosAgentFromRegion(mPositionRegion);
}
updateDrawable(damped);
}
}

View File

@@ -827,13 +827,14 @@ void LLViewerObjectList::clearDebugText()
void LLViewerObjectList::cleanupReferences(LLViewerObject *objectp)
{
LLMemType mt(LLMemType::MTYPE_OBJECT);
if (mDeadObjects.count(objectp->mID))
if (mDeadObjects.find(objectp->mID) != mDeadObjects.end())
{
llinfos << "Object " << objectp->mID << " already on dead list, ignoring cleanup!" << llendl;
return;
llinfos << "Object " << objectp->mID << " already on dead list!" << llendl;
}
else
{
mDeadObjects.insert(objectp->mID);
}
mDeadObjects.insert(std::pair<LLUUID, LLPointer<LLViewerObject> >(objectp->mID, objectp));
// Cleanup any references we have to this object
// Remove from object map so noone can look it up.

View File

@@ -202,8 +202,7 @@ protected:
vobj_list_t mMapObjects;
typedef std::map<LLUUID, LLPointer<LLViewerObject> > vo_map;
vo_map mDeadObjects; // Need to keep multiple entries per UUID
std::set<LLUUID> mDeadObjects;
std::map<LLUUID, LLPointer<LLViewerObject> > mUUIDObjectMap;
std::map<LLUUID, LLPointer<LLVOAvatar> > mUUIDAvatarMap;

View File

@@ -71,9 +71,9 @@ const F32 LLViewerPartSim::PART_ADAPT_RATE_MULT_RECIP = 1.0f/PART_ADAPT_RATE_MUL
U32 LLViewerPart::sNextPartID = 1;
F32 calc_desired_size(LLVector3 pos, LLVector2 scale)
F32 calc_desired_size(LLViewerCamera* camera, LLVector3 pos, LLVector2 scale)
{
F32 desired_size = (pos-LLViewerCamera::getInstance()->getOrigin()).magVec();
F32 desired_size = (pos - camera->getOrigin()).magVec();
desired_size /= 4;
return llclamp(desired_size, scale.magVec()*0.5f, PART_SIM_BOX_SIDE*2);
}
@@ -274,6 +274,7 @@ void LLViewerPartGroup::updateParticles(const F32 lastdt)
LLViewerPartSim::checkParticleCount(mParticles.size());
LLViewerCamera* camera = LLViewerCamera::getInstance();
LLViewerRegion *regionp = getRegion();
S32 end = (S32) mParticles.size();
for (S32 i = 0 ; i < (S32)mParticles.size();)
@@ -395,7 +396,7 @@ void LLViewerPartGroup::updateParticles(const F32 lastdt)
}
else
{
F32 desired_size = calc_desired_size(part->mPosAgent, part->mScale);
F32 desired_size = calc_desired_size(camera, part->mPosAgent, part->mScale);
if (!posInGroup(part->mPosAgent, desired_size))
{
// Transfer particles between groups
@@ -558,7 +559,8 @@ LLViewerPartGroup *LLViewerPartSim::put(LLViewerPart* part)
}
else
{
F32 desired_size = calc_desired_size(part->mPosAgent, part->mScale);
LLViewerCamera* camera = LLViewerCamera::getInstance();
F32 desired_size = calc_desired_size(camera, part->mPosAgent, part->mScale);
S32 count = (S32) mViewerPartGroups.size();
for (S32 i = 0; i < count; i++)

View File

@@ -219,8 +219,10 @@ struct LLAvatarTexData
struct LLTextureMaskData
{
LLTextureMaskData( const LLUUID& id )
: mAvatarID(id), mLastDiscardLevel(S32_MAX) {}
LLTextureMaskData( const LLUUID& id ) :
mAvatarID(id),
mLastDiscardLevel(S32_MAX)
{}
LLUUID mAvatarID;
S32 mLastDiscardLevel;
};
@@ -247,10 +249,9 @@ public:
}
BOOL parseXml(LLXmlTreeNode* node);
BOOL mIsJoint;
private:
std::string mName;
BOOL mIsJoint;
LLVector3 mPos;
LLVector3 mRot;
LLVector3 mScale;
@@ -770,16 +771,16 @@ LLVOAvatar::LLVOAvatar(const LLUUID& id,
mAppearanceAnimating(FALSE),
mNameString(),
mTitle(),
mRenderedName(),
mUsedNameSystem(),
mClientName(),
mNameAway(FALSE),
mNameBusy(FALSE),
mNameMute(FALSE),
mNameAppearance(FALSE),
mRenderedName(),
mUsedNameSystem(),
mClientName(),
mRenderGroupTitles(sRenderGroupTitles),
mNameFromChatOverride(false),
mNameFromChatChanged(false),
mNameAppearance(FALSE),
mRenderTag(FALSE),
mLastRegionHandle(0),
mRegionCrossingCount(0),
@@ -9388,11 +9389,11 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys )
for( S32 i = 0; i < num_blocks; i++ )
{
while( param && (!param->isTweakable()) )
while( param && (param->getGroup() != VISUAL_PARAM_GROUP_TWEAKABLE) ) // should not be any of group VISUAL_PARAM_GROUP_TWEAKABLE_NO_TRANSMIT
{
param = getNextVisualParam();
}
if( !param )
{
llwarns << "Number of params in AvatarAppearance msg does not match number of params in avatar xml file for " << getFullname() << " (Too many)." << llendl;
@@ -9407,7 +9408,7 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys )
{
mSupportsPhysics = true;
}
if(param->getID() == 507 && newWeight != getActualBoobGrav())
else if(param->getID() == 507 && newWeight != getActualBoobGrav())
{
llwarns << "Boob Grav SET to " << newWeight << " for " << getFullname() << llendl;
setActualBoobGrav(newWeight);
@@ -9443,15 +9444,13 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys )
}
}
while( param && (!param->isTweakable()) )
while( param && (param->getGroup() != VISUAL_PARAM_GROUP_TWEAKABLE) )
{
param = getNextVisualParam();
}
if( param )
{
if (param->getName() == "tattoo_red")
llinfos << getFullname() << " does not have tattoo tinting." << llendl;
else if(param->getName() == "breast_physics_leftright_spring")
if(param->getName() == "breast_physics_mass")
llinfos << getFullname() << " does not have avatar physics." << llendl;
else
llwarns << "Number of params in AvatarAppearance msg does not match number of params in avatar xml file for " << getFullname() << " (Prematurely reached end of list at " << param->getName() << ")." << llendl;

View File

@@ -219,11 +219,7 @@ LLWearable* LLWearableList::createWearableMatchedToInventoryItem( LLWearable* ol
{
lldebugs << "LLWearableList::createWearableMatchedToInventoryItem()" << llendl;
LLTransactionID tid;
LLAssetID new_asset_id;
new_asset_id = tid.makeAssetID(gAgent.getSecureSessionID());
LLWearable* wearable = new LLWearable( tid );
LLWearable* wearable = generateNewWearable();
wearable->copyDataFrom( old_wearable );
wearable->setName( item->getName() );
@@ -231,8 +227,6 @@ LLWearable* LLWearableList::createWearableMatchedToInventoryItem( LLWearable* ol
wearable->setPermissions( item->getPermissions() );
wearable->setSaleInfo( item->getSaleInfo() );
mList[ new_asset_id ] = wearable;
// Send to the dataserver
wearable->saveNewAsset();
@@ -242,22 +236,15 @@ LLWearable* LLWearableList::createWearableMatchedToInventoryItem( LLWearable* ol
LLWearable* LLWearableList::createCopyFromAvatar( LLWearable* old_wearable, const std::string& new_name )
{
lldebugs << "LLWearableList::createCopyFromAvatar()" << llendl;
LLTransactionID tid;
LLAssetID new_asset_id;
tid.generate();
new_asset_id = tid.makeAssetID(gAgent.getSecureSessionID());
LLWearable* wearable = new LLWearable( tid );
LLWearable* wearable = generateNewWearable();
wearable->copyDataFrom( old_wearable );
LLPermissions perm(old_wearable->getPermissions());
perm.setOwnerAndGroup(LLUUID::null, gAgent.getID(), LLUUID::null, true);
wearable->setPermissions(perm);
wearable->readFromAvatar(); // update from the avatar
if (!new_name.empty()) wearable->setName(new_name);
mList[ new_asset_id ] = wearable;
if (!new_name.empty()) wearable->setName(new_name);
// Send to the dataserver
wearable->saveNewAsset();
@@ -270,17 +257,13 @@ LLWearable* LLWearableList::createCopy( LLWearable* old_wearable )
{
lldebugs << "LLWearableList::createCopy()" << llendl;
LLTransactionID tid;
LLAssetID new_asset_id;
tid.generate();
new_asset_id = tid.makeAssetID(gAgent.getSecureSessionID());
LLWearable* wearable = new LLWearable( tid );
wearable->copyDataFrom( old_wearable );
LLWearable *wearable = generateNewWearable();
wearable->copyDataFrom(old_wearable);
LLPermissions perm(old_wearable->getPermissions());
perm.setOwnerAndGroup(LLUUID::null, gAgent.getID(), LLUUID::null, true);
wearable->setPermissions(perm);
mList[ new_asset_id ] = wearable;
// Send to the dataserver
wearable->saveNewAsset();
@@ -292,12 +275,7 @@ LLWearable* LLWearableList::createNewWearable( EWearableType type )
{
lldebugs << "LLWearableList::createNewWearable()" << llendl;
LLTransactionID tid;
LLAssetID new_asset_id;
tid.generate();
new_asset_id = tid.makeAssetID(gAgent.getSecureSessionID());
LLWearable* wearable = new LLWearable( tid );
LLWearable *wearable = generateNewWearable();
wearable->setType( type );
std::string name = "New ";
@@ -310,14 +288,23 @@ LLWearable* LLWearableList::createNewWearable( EWearableType type )
wearable->setPermissions(perm);
// Description and sale info have default values.
wearable->setParamsToDefaults();
wearable->setTexturesToDefaults();
mList[ new_asset_id ] = wearable;
// Send to the dataserver
wearable->saveNewAsset();
return wearable;
}
LLWearable *LLWearableList::generateNewWearable()
{
LLTransactionID tid;
tid.generate();
LLAssetID new_asset_id = tid.makeAssetID(gAgent.getSecureSessionID());
LLWearable* wearable = new LLWearable(tid);
mList[new_asset_id] = wearable;
return wearable;
}

View File

@@ -45,12 +45,11 @@ public:
S32 getLength() { return mList.size(); }
void getAsset(
const LLAssetID& assetID,
const std::string& wearable_name,
LLAssetType::EType asset_type,
void(*asset_arrived_callback)(LLWearable*, void* userdata),
void* userdata );
void getAsset(const LLAssetID& assetID,
const std::string& wearable_name,
LLAssetType::EType asset_type,
void(*asset_arrived_callback)(LLWearable*, void* userdata),
void* userdata);
LLWearable* createWearableMatchedToInventoryItem( LLWearable* old_wearable, LLViewerInventoryItem* item );
LLWearable* createCopyFromAvatar( LLWearable* old_wearable, const std::string& new_name = std::string() );
@@ -61,6 +60,8 @@ public:
static void processGetAssetReply(const char* filename, const LLAssetID& assetID, void* user_data, S32 status, LLExtStat ext_status);
protected:
LLWearable* generateNewWearable(); // used for the create... functions
private:
std::map< LLUUID, LLWearable* > mList;
};

View File

@@ -74,7 +74,7 @@ std::string LLWeb::curlEscape(const std::string& url)
std::stringstream escaped_url;
for (std::string::const_iterator iter = url.begin(); iter != url.end(); ++iter)
{
if (std::isalnum(*iter))
if (isalnum(*iter))
escaped_url << *iter;
else
escaped_url << '%' << std::hex << std::setfill('0') << std::setw(2) << std::uppercase << (int)*iter;

View File

@@ -862,7 +862,8 @@ void LLWinDebug::generateCrashStacks(struct _EXCEPTION_POINTERS *exception_infop
// Since there is exception info... Release the hounds.
gEmergencyMemoryReserve.release();
if(gSavedSettings.getControl("SaveMinidump").notNull() && gSavedSettings.getBOOL("SaveMinidump"))
LLControlVariable* save_minimap = gSavedSettings.getControl("SaveMinidump");
if(save_minimap && save_minimap->getValue().asBoolean())
{
_MINIDUMP_EXCEPTION_INFORMATION ExInfo;

View File

@@ -175,4 +175,27 @@ CMD_SCRIPT(gettext)
}
}
#include "llphysicsmotion.h"
void cmdline_printchat(std::string message);
CMD_CHAT(physparams)
{
//args[1] = avatar name
for (std::vector<LLCharacter*>::iterator iter = LLCharacter::sInstances.begin();iter != LLCharacter::sInstances.end(); ++iter)
{
LLVOAvatar* inst = (LLVOAvatar*) *iter;
if(!inst)continue;
if(inst->getFullname().find(args[1].asString())!=std::string::npos)
{
LLPhysicsMotionController *motion = (LLPhysicsMotionController*)(inst->findMotion(LLUUID("7360e029-3cb8-ebc4-863e-212df440d987")));
cmdline_printchat(std::string("Phys param info for ")+inst->getFullname()+":\n");
if(motion)
{
cmdline_printchat(motion->getString());
}
else
cmdline_printchat("Unable to find physics motion controller\n");
}
}
}
#endif //shy_mod

View File

@@ -58,44 +58,44 @@
bottom="0"
width="446"
word_wrap="true">
Singularity Viewer is developed and maintained by Siana Gearz, Shyotl Kuhr and Narv Czervik, with contributions by Henri Beauchamp, Kitty Barnett, Thickbrick Sleaford, Wolfspirit Magic and others. Singularity is based upon Ascent source code. Credits for Ascent include Hg Beeks, Charley Levenque, Hazim Gazov, Zwagoth Klaar, Qarl Fizz, and others. Ascent is based upon the Inertia source code.
Singularity Viewer includes source code contributions of the following residents: Able Whitman, Adam Marker, Agathos Frascati, Aimee Trescothick, Alejandro Rosenthal, Aleric Inglewood, Alissa Sabre, Angus Boyd, Ann Congrejo, Argent Stonecutter, Asuka Neely, Balp Allen, Benja Kepler, Biancaluce Robbiani, Blakar Ogre, blino Nakamura, Boroondas Gupte, Bulli Schumann, bushing Spatula, Carjay McGinnis, Catherine Pfeffer, Celierra Darling, Cron Stardust, Dale Glass, Drewan Keats, Dylan Haskell, Dzonatas Sol, Eddy Stryker, EponymousDylan Ra, Eva Nowicka, Farallon Greyskin, Feep Larsson, Flemming Congrejo, Fluf Fredriksson, Fremont Cunningham, Geneko Nemeth, Gigs Taggart, Ginko Bayliss, Grazer Kline, Gudmund Shepherd, Hamncheese Omlet, HappySmurf Papp, Henri Beauchamp, Hikkoshi Sakai, Hiro Sommambulist, Hoze Menges, Ian Kas, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Joghert LeSabre, Kage Pixel, Ken March, Kerutsen Sellery, Khyota Wulluf, Kunnis Basiat, Lisa Lowe, Lockhart Cordoso, maciek marksman, Magnus Balczo, Malwina Dollinger, march Korda, Matthew Dowd, McCabe Maxsted, Michelle2 Zenovka, Mm Alder, Mr Greggan, Nicholaz Beresford, Nounouch Hapmouche, Patric Mills, Paul Churchill, Paula Innis, Peekay Semyorka, Peter Lameth, Pf Shan, princess niven, Renault Clio, Ringo Tuxing, Robin Cornelius, Ryozu Kojima, Salahzar Stenvaag, Sammy Frederix, Scrippy Scofield, Seg Baphomet, Sergen Davies, SignpostMarv Martin, Simon Nolan, SpacedOut Frye, Sporked Friis, Stevex Janus, Still Defiant, Strife Onizuka, Tayra Dagostino, TBBle Kurosawa, Teardrops Fall, tenebrous pau, Tharax Ferraris, Thickbrick Sleaford, Thraxis Epsilon, tiamat bingyi, TraductoresAnonimos Alter, Tue Torok, Vadim Bigbear, Vixen Heron, Whoops Babii, Wilton Lundquist, Zarkonnen Decosta, Zi Ree, Zipherius Turas
Second Life is brought to you by Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les, Michon, Jenelle, Geo, Siz, Shapiro, Pete, Calyle, Selene, Allen, Phoebe, Goldin, Kimmora, Dakota, Slaton, Lindquist, Zoey, Hari, Othello, Rohit, Sheldon, Petra, Viale, Gordon, Kaye, Pink, Ferny, Emerson, Davy, Bri, Chan, Juan, Robert, Terrence, Nathan, Carl and many others.
Singularity Viewer is developed and maintained by Siana Gearz, Shyotl Kuhr, Aleric Inglewood and Narv Czervik, with contributions by Henri Beauchamp, Kitty Barnett, Thickbrick Sleaford, Wolfspirit Magic and others. Singularity is based upon Ascent source code. Credits for Ascent include Hg Beeks, Charley Levenque, Hazim Gazov, Zwagoth Klaar, Qarl Fizz, and others. Ascent is based upon the Inertia source code.
Linden Lab would like to thank the following residents: able whitman, Adeon Writer, adonaira aabye, Aeron Kohime,
Agathos Frascati, Aimee Trescothick, Aleric Inglewood, Alissa Sabre, Aminom Marvin, Angela Talamasca, Aralara Rajal, Armin Weatherwax, Ashrilyn Hayashida,
Athanasius Skytower, Aura Dirval, Barney Boomslang, Biancaluce Robbiani, Biker Offcourse, Borg Capalini, Bulli Schumann, catherine pfeffer, Chalice Yao,
Corre Porta, Court Goodman, Cummere Mayo, Dale Innis, Darien Caldwell, Darjeeling Schoonhoven, Daten Thielt, dimentox travanti, Dirk Talamasca, Drew Dwi,
Duckless Vandyke, Elanthius Flagstaff, Electro Burnstein, emiley tomsen, Escort DeFarge, Eva Rau, Ezian Ecksol, Fire Centaur, Fluf Fredriksson, Francisco Koolhoven, Frontera Thor, Frungi Stastny, Gally Young, gearsawe stonecutter, Gigs Taggart, Gordon Wendt, Gudmund Shepherd, Gypsy Paz, Harleen Gretzky,
Henri Beauchamp, Inma Rau, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Jessicka Graves, Joeseph Albanese, Joshua Philgarlic, Khyota Wulluf, kirstenlee Cinquetti, Latif Khalifa, Lex Neva, Lilibeth Andree, Lisa Lowe, Lunita Savira, Loosey Demonia, lum pfohl, Marcos Fonzarelli, MartinRJ Fayray, Marusame Arai, Matthew Dowd, Maya Remblai, McCabe Maxsted, Meghan Dench, Melchoir Tokhes, Menos Short, Michelle2 Zenovka, Mimika Oh, Minerva Memel, Mm Alder, Ochi Wolfe, Omei Turnbull, Pesho Replacement, Phantom Ninetails, phoenixflames kukulcan, Polo Gufler, prez pessoa, princess niven, Prokofy Neva, Qie Niangao, Rem Beattie, RodneyLee Jessop, Saijanai Kuhn, Seg Baphomet, Sergen Davies, Shirley Marquez, SignpostMarv Martin, Sindy Tsure, Sira Arbizu, Skips Jigsaw, Sougent Harrop, Spritely Pixel, Squirrel Wood, StarSong Bright, Subversive Writer, Sugarcult Dagger, Sylumm Grigorovich, Tammy Nowotny, Tanooki Darkes, Tayra Dagostino, Theoretical Chemistry, Thickbrick Sleaford, valerie rosewood, Vex Streeter, Vixen Heron, Whoops Babii, Winter Ventura, Xiki Luik, Yann Dufaux, Yina Yao, Yukinoroh Kamachi, Zolute Infinity, Zwagoth Klaar
Singularity Viewer includes source code contributions of the following residents: Able Whitman, Adam Marker, Agathos Frascati, Aimee Trescothick, Alejandro Rosenthal, Aleric Inglewood, Alissa Sabre, Angus Boyd, Ann Congrejo, Argent Stonecutter, Asuka Neely, Balp Allen, Benja Kepler, Biancaluce Robbiani, Blakar Ogre, blino Nakamura, Boroondas Gupte, Bulli Schumann, bushing Spatula, Carjay McGinnis, Catherine Pfeffer, Celierra Darling, Cron Stardust, Dale Glass, Drewan Keats, Dylan Haskell, Dzonatas Sol, Eddy Stryker, EponymousDylan Ra, Eva Nowicka, Farallon Greyskin, Feep Larsson, Flemming Congrejo, Fluf Fredriksson, Fremont Cunningham, Geneko Nemeth, Gigs Taggart, Ginko Bayliss, Grazer Kline, Gudmund Shepherd, Hamncheese Omlet, HappySmurf Papp, Henri Beauchamp, Hikkoshi Sakai, Hiro Sommambulist, Hoze Menges, Ian Kas, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Joghert LeSabre, Kage Pixel, Ken March, Kerutsen Sellery, Khyota Wulluf, Kunnis Basiat, Lisa Lowe, Lockhart Cordoso, maciek marksman, Magnus Balczo, Malwina Dollinger, march Korda, Matthew Dowd, McCabe Maxsted, Michelle2 Zenovka, Mm Alder, Mr Greggan, Nicholaz Beresford, Nounouch Hapmouche, Patric Mills, Paul Churchill, Paula Innis, Peekay Semyorka, Peter Lameth, Pf Shan, princess niven, Renault Clio, Ringo Tuxing, Robin Cornelius, Ryozu Kojima, Salahzar Stenvaag, Sammy Frederix, Scrippy Scofield, Seg Baphomet, Sergen Davies, SignpostMarv Martin, Simon Nolan, SpacedOut Frye, Sporked Friis, Stevex Janus, Still Defiant, Strife Onizuka, Tayra Dagostino, TBBle Kurosawa, Teardrops Fall, tenebrous pau, Tharax Ferraris, Thickbrick Sleaford, Thraxis Epsilon, tiamat bingyi, TraductoresAnonimos Alter, Tue Torok, Vadim Bigbear, Vixen Heron, Whoops Babii, Wilton Lundquist, Zarkonnen Decosta, Zi Ree, Zipherius Turas
Second Life is brought to you by Philip, Tessa, Andrew, Cory, James, Ben, Char, Charlie, Colin, Dan, Daniel, Doug, Eric, Hamlet, Haney, Eve, Hunter, Ian, Jeff, Jennifer, Jim, John, Lee, Mark, Peter, Phoenix, Richard, Robin, Xenon, Steve, Tanya, Eddie, Avi, Frank, Bruce, Aaron, Alice, Bob, Debra, Eileen, Helen, Janet, Louie, Leviathania, Stefan, Ray, Kevin, Tom, Mikeb, MikeT, Burgess, Elena, Tracy, Bill, Todd, Ryan, Zach, Sarah, Nova, Tim, Stephanie, Michael, Evan, Nicolas, Catherine, Rachelle, Dave, Holly, Bub, Kelly, Magellan, Ramzi, Don, Sabin, Jill, Rheya, Jeska, Torley, Kona, Callum, Charity, Ventrella, Jack, Vektor, Iris, Chris, Nicole, Mick, Reuben, Blue, Babbage, Yedwab, Deana, Lauren, Brent, Pathfinder, Chadrick, Altruima, Jesse, Teeny, Monroe, Icculus, David, Tess, Lizzie, Patsy, Isaac, Lawrence, Cyn, Bo, Gia, Annette, Marius, Tbone, Jonathan, Karen, Ginsu, Satoko, Yuko, Makiko, Thomas, Harry, Seth, Alexei, Brian, Guy, Runitai, Ethan, Data, Cornelius, Kenny, Swiss, Zero, Natria, Wendy, Stephen, Teeple, Thumper, Lucy, Dee, Mia, Liana, Warren, Branka, Aura, beez, Milo, Hermia, Red, Thrax, Joe, Sally, Magenta, Mogura, Paul, Jose, Rejean, Henrik, Lexie, Amber, Logan, Xan, Nora, Morpheus, Donovan, Leyla, MichaelFrancis, Beast, Cube, Bucky, Joshua, Stryfe, Harmony, Teresa, Claudia, Walker, Glenn, Fritz, Fordak, June, Cleopetra, Jean, Ivy, Betsy, Roosevelt, Spike, Ken, Which, Tofu, Chiyo, Rob, Zee, dustin, George, Del, Matthew, Cat, Jacqui, Lightfoot, Adrian, Viola, Alfred, Noel, Irfan, Sunil, Yool, Rika, Jane, Xtreme, Frontier, a2, Neo, Siobhan, Yoz, Justin, Elle, Qarl, Benjamin, Isabel, Gulliver, Everett, Christopher, Izzy, Stephany, Garry, Sejong, Sean, Tobin, Iridium, Meta, Anthony, Jeremy, JP, Jake, Maurice, Madhavi, Leopard, Kyle, Joon, Kari, Bert, Belinda, Jon, Kristi, Bridie, Pramod, KJ, Socrates, Maria, Ivan, Aric, Yamasaki, Adreanne, Jay, MitchK, Ceren, Coco, Durl, Jenny, Periapse, Kartic, Storrs, Lotte, Sandy, Rohn, Colossus, Zen, BigPapi, Brad, Pastrami, Kurz, Mani, Neuro, Jaime, MJ, Rowan, Sgt, Elvis, Gecko, Samuel, Sardonyx, Leo, Bryan, Niko, Soft, Poppy, Rachel, Aki, Angelo, Banzai, Alexa, Sue, CeeLo, Bender, CG, Gillian, Pelle, Nick, Echo, Zara, Christine, Shamiran, Emma, Blake, Keiko, Plexus, Joppa, Sidewinder, Erica, Ashlei, Twilight, Kristen, Brett, Q, Enus, Simon, Bevis, Kraft, Kip, Chandler, Ron, LauraP, Ram, KyleJM, Scouse, Prospero, Melissa, Marty, Nat, Hamilton, Kend, Lordan, Jimmy, Kosmo, Seraph, Green, Ekim, Wiggo, JT, Rome, Doris, Miz, Benoc, Whump, Trinity, Patch, Kate, TJ, Bao, Joohwan, Christy, Sofia, Matias, Cogsworth, Johan, Oreh, Cheah, Angela, Brandy, Mango, Lan, Aleks, Gloria, Heidy, Mitchell, Space, Colton, Bambers, Einstein, Maggie, Malbers, Rose, Winnie, Stella, Milton, Rothman, Niall, Marin, Allison, Katie, Dawn, Katt, Dusty, Kalpana, Judy, Andrea, Ambroff, Infinity, Gail, Rico, Raymond, Yi, William, Christa, M, Teagan, Scout, Molly, Dante, Corr, Dynamike, Usi, Kaylee, Vidtuts, Lil, Danica, Sascha, Kelv, Jacob, Nya, Rodney, Brandon, Elsie, Blondin, Grant, Katrin, Nyx, Gabriel, Locklainn, Claire, Devin, Minerva, Monty, Austin, Bradford, Si, Keira, H, Caitlin, Dita, Makai, Jenn, Ann, Meredith, Clare, Joy, Praveen, Cody, Edmund, Ruthe, Sirena, Gayathri, Spider, FJ, Davidoff, Tian, Jennie, Louise, Oskar, Landon, Noelle, Jarv, Ingrid, Al, Sommer, Doc, Aria, Huin, Gray, Lili, Vir, DJ, Yang, T, Simone, Maestro, Scott, Charlene, Quixote, Amanda, Susan, Zed, Anne, Enkidu, Esbee, Joroan, Katelin, Roxie, Tay, Scarlet, Kevin, Johnny, Wolfgang, Andren, Bob, Howard, Merov, Rand, Ray, Michon, Newell, Galen, Dessie, Les, Michon, Jenelle, Geo, Siz, Shapiro, Pete, Calyle, Selene, Allen, Phoebe, Goldin, Kimmora, Dakota, Slaton, Lindquist, Zoey, Hari, Othello, Rohit, Sheldon, Petra, Viale, Gordon, Kaye, Pink, Ferny, Emerson, Davy, Bri, Chan, Juan, Robert, Terrence, Nathan, Carl and many others.
Linden Lab would like to thank the following residents: able whitman, Adeon Writer, adonaira aabye, Aeron Kohime,
Agathos Frascati, Aimee Trescothick, Aleric Inglewood, Alissa Sabre, Aminom Marvin, Angela Talamasca, Aralara Rajal, Armin Weatherwax, Ashrilyn Hayashida,
Athanasius Skytower, Aura Dirval, Barney Boomslang, Biancaluce Robbiani, Biker Offcourse, Borg Capalini, Bulli Schumann, catherine pfeffer, Chalice Yao,
Corre Porta, Court Goodman, Cummere Mayo, Dale Innis, Darien Caldwell, Darjeeling Schoonhoven, Daten Thielt, dimentox travanti, Dirk Talamasca, Drew Dwi,
Duckless Vandyke, Elanthius Flagstaff, Electro Burnstein, emiley tomsen, Escort DeFarge, Eva Rau, Ezian Ecksol, Fire Centaur, Fluf Fredriksson, Francisco Koolhoven, Frontera Thor, Frungi Stastny, Gally Young, gearsawe stonecutter, Gigs Taggart, Gordon Wendt, Gudmund Shepherd, Gypsy Paz, Harleen Gretzky,
Henri Beauchamp, Inma Rau, Irene Muni, Iskar Ariantho, Jacek Antonelli, JB Kraft, Jessicka Graves, Joeseph Albanese, Joshua Philgarlic, Khyota Wulluf, kirstenlee Cinquetti, Latif Khalifa, Lex Neva, Lilibeth Andree, Lisa Lowe, Lunita Savira, Loosey Demonia, lum pfohl, Marcos Fonzarelli, MartinRJ Fayray, Marusame Arai, Matthew Dowd, Maya Remblai, McCabe Maxsted, Meghan Dench, Melchoir Tokhes, Menos Short, Michelle2 Zenovka, Mimika Oh, Minerva Memel, Mm Alder, Ochi Wolfe, Omei Turnbull, Pesho Replacement, Phantom Ninetails, phoenixflames kukulcan, Polo Gufler, prez pessoa, princess niven, Prokofy Neva, Qie Niangao, Rem Beattie, RodneyLee Jessop, Saijanai Kuhn, Seg Baphomet, Sergen Davies, Shirley Marquez, SignpostMarv Martin, Sindy Tsure, Sira Arbizu, Skips Jigsaw, Sougent Harrop, Spritely Pixel, Squirrel Wood, StarSong Bright, Subversive Writer, Sugarcult Dagger, Sylumm Grigorovich, Tammy Nowotny, Tanooki Darkes, Tayra Dagostino, Theoretical Chemistry, Thickbrick Sleaford, valerie rosewood, Vex Streeter, Vixen Heron, Whoops Babii, Winter Ventura, Xiki Luik, Yann Dufaux, Yina Yao, Yukinoroh Kamachi, Zolute Infinity, Zwagoth Klaar
3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion
APR Copyright (C) 2000-2004 The Apache Software Foundation
cURL Copyright (C) 1996-2002, Daniel Stenberg, (daniel@haxx.se)
DBus/dbus-glib Copyright (C) 2002, 2003 CodeFactory AB / Copyright (C) 2003, 2004 Red Hat, Inc.
expat Copyright (C) 1998, 1999, 2000 Thai Open Source Software Center Ltd.
FreeType Copyright (C) 1996-2002, The FreeType Project (www.freetype.org).
GL Copyright (C) 1999-2004 Brian Paul.
Havok.com(TM) Copyright (C) 1999-2001, Telekinesys Research Limited.
jpeg2000 Copyright (C) 2001, David Taubman, The University of New South Wales (UNSW)
jpeglib Copyright (C) 1991-1998, Thomas G. Lane.
ogg/vorbis Copyright (C) 2001, Xiphophorus
OpenSSL Copyright (C) 1998-2002 The OpenSSL Project.
SDL Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga
SSLeay Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
xmlrpc-epi Copyright (C) 2000 Epinions, Inc.
zlib Copyright (C) 1995-2002 Jean-loup Gailly and Mark Adler.
google-perftools Copyright (c) 2005, Google Inc.
3Dconnexion SDK Copyright (C) 1992-2007 3Dconnexion
APR Copyright (C) 2000-2004 The Apache Software Foundation
cURL Copyright (C) 1996-2002, Daniel Stenberg, (daniel@haxx.se)
DBus/dbus-glib Copyright (C) 2002, 2003 CodeFactory AB / Copyright (C) 2003, 2004 Red Hat, Inc.
expat Copyright (C) 1998, 1999, 2000 Thai Open Source Software Center Ltd.
FreeType Copyright (C) 1996-2002, The FreeType Project (www.freetype.org).
GL Copyright (C) 1999-2004 Brian Paul.
Havok.com(TM) Copyright (C) 1999-2001, Telekinesys Research Limited.
jpeg2000 Copyright (C) 2001, David Taubman, The University of New South Wales (UNSW)
jpeglib Copyright (C) 1991-1998, Thomas G. Lane.
ogg/vorbis Copyright (C) 2001, Xiphophorus
OpenSSL Copyright (C) 1998-2002 The OpenSSL Project.
SDL Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga
SSLeay Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
xmlrpc-epi Copyright (C) 2000 Epinions, Inc.
zlib Copyright (C) 1995-2002 Jean-loup Gailly and Mark Adler.
google-perftools Copyright (c) 2005, Google Inc.
All rights reserved. See licenses.txt for details.
All rights reserved. See licenses.txt for details.
Voice chat Audio coding: Polycom(R) Siren14(TM) (ITU-T Rec. G.722.1 Annex C)
Voice chat Audio coding: Polycom(R) Siren14(TM) (ITU-T Rec. G.722.1 Annex C)
To be a success in business, be daring, be first, be different. --Henry Marchant</text_editor>
To be a success in business, be daring, be first, be different. --Henry Marchant</text_editor>
</panel>
</tab_container>
<string name="you_are_at">

View File

@@ -2579,14 +2579,14 @@ Please choose the male or female avatar. You can change your mind later.
icon="alertmodal.tga"
name="GrantedModifyRights"
type="alertmodal">
You have been granted the privilege to modify [FIRST_NAME] [LAST_NAME]&apos;s objects.
You have been granted the privilege to modify [NAME]&apos;s objects.
</notification>
<notification
icon="alertmodal.tga"
name="RevokedModifyRights"
type="alertmodal">
Your privilege to modify [FIRST_NAME] [LAST_NAME]&apos;s objects has been revoked
Your privilege to modify [NAME]&apos;s objects has been revoked
</notification>
<notification
@@ -6940,5 +6940,28 @@ No
<notification icon="notifytip.tga" name="BlockedChatterAvatar" type="notifytip">Blocked chat-spam from avatar [FULL_NAME] ([SOURCE])</notification>
<notification icon="notifytip.tga" name="BlockedChatterObjects" type="notifytip">Blocked chat-spam from objects owned by [OWNER] ([SOURCE])</notification>
<notification
icon="notify.tga"
name="FirstPhysicsWearable"
priority="high"
type="notify">
By wearing a Physics Wearable certain server behavior will be enabled that many older viewers are incompatable with. On such viewers you may display incorrectly (often as 'Ruth').
If you wish to keep compatability with old viewers then you must not wear a Physics Wearable during your session. If you have already worn one during this session remove it and reconnect.
Click 'Wear' to attach the Physics Wearable, or click 'Cancel' if you wish to maintain compatability with legacy clients.
<unique/>
<form name="form">
<button
index="0"
name="Wear"
text="Wear"/>
<button
index="1"
name="Cancel"
text="Cancel"/>
</form>
</notification>
</notifications>

View File

@@ -268,19 +268,21 @@ class WindowsManifest(ViewerManifest):
self.path("skins/default/xui/en-us/mime_types_windows.xml", "skins/default/xui/en-us/mime_types.xml")
# Get llcommon and deps. If missing assume static linkage and continue.
#~ if self.prefix(src="../../libraries/i686-win32/lib/release", dst=""):
#~ try:
#~ self.path('llcommon.dll')
#~ except RuntimeError, err:
#~ print err.message
#~ print "Skipping llcommon.dll (assuming llcommon was linked statically)"
#~ try:
#~ self.path('libapr-1.dll')
#~ self.path('libaprutil-1.dll')
#~ self.path('libapriconv-1.dll')
#~ except RuntimeError, err:
#~ pass
#~ self.end_prefix()
if self.prefix(src=self.args['configuration'], dst=""):
try:
self.path('llcommon.dll')
except RuntimeError, err:
print err.message
print "Skipping llcommon.dll (assuming llcommon was linked statically)"
self.end_prefix()
if self.prefix(src="../../libraries/i686-win32/lib/release", dst=""):
try:
self.path('libapr-1.dll')
self.path('libaprutil-1.dll')
self.path('libapriconv-1.dll')
except RuntimeError, err:
pass
self.end_prefix()
# For google-perftools tcmalloc allocator.
self.path("../../libraries/i686-win32/lib/release/libtcmalloc_minimal.dll", dst="libtcmalloc_minimal.dll")
@@ -459,9 +461,6 @@ class DarwinManifest(ViewerManifest):
self.path("../../libraries/universal-darwin/lib_release/libvorbis.0.dylib", dst="MacOS/libvorbis.0.dylib")
self.path("../../libraries/universal-darwin/lib_release/libogg.0.dylib", dst="MacOS/libogg.0.dylib")
# hunspell library
#self.path("../../libraries/universal-darwin/lib_release/libhunspell-1.2.dylib", "MacOS/libhunspell-1.2.dylib");
# most everything goes in the Resources directory
if self.prefix(src="", dst="Resources"):
super(DarwinManifest, self).construct()
@@ -523,7 +522,8 @@ class DarwinManifest(ViewerManifest):
# dependencies on shared libs
mac_crash_logger_res_path = self.dst_path_of("mac-crash-logger.app/Contents/Resources")
slplugin_res_path = self.dst_path_of("SLPlugin.app/Contents/Resources")
for libfile in ("libapr-1.0.3.7.dylib",
for libfile in ("libllcommon.dylib",
"libapr-1.0.3.7.dylib",
"libaprutil-1.0.3.8.dylib",
"libexpat.0.5.0.dylib"):
target_lib = os.path.join('../../..', libfile)
@@ -800,7 +800,6 @@ class Linux_i686Manifest(LinuxManifest):
self.path("libalut.so")
self.path("libopenal.so", "libopenal.so.1")
self.path("libtcmalloc_minimal.so.0")
#self.path("libhunspell-1.2.so.0.0.0", "libhunspell-1.2.so.0")
self.path("libtcmalloc_minimal.so.0.0.0")
self.end_prefix("lib")