Cleanup. Removal of dead code. Added/renamed object flag accessors.
This commit is contained in:
@@ -945,7 +945,6 @@ char const* const _PREHASH_SysGPU = LLMessageStringTable::getInstance()->getStri
|
||||
char const* const _PREHASH_AvatarInterestsReply = LLMessageStringTable::getInstance()->getString("AvatarInterestsReply");
|
||||
char const* const _PREHASH_StartLure = LLMessageStringTable::getInstance()->getString("StartLure");
|
||||
char const* const _PREHASH_SysRAM = LLMessageStringTable::getInstance()->getString("SysRAM");
|
||||
char const* const _PREHASH_ObjectPosition = LLMessageStringTable::getInstance()->getString("ObjectPosition");
|
||||
char const* const _PREHASH_SitPosition = LLMessageStringTable::getInstance()->getString("SitPosition");
|
||||
char const* const _PREHASH_StartTime = LLMessageStringTable::getInstance()->getString("StartTime");
|
||||
char const* const _PREHASH_BornOn = LLMessageStringTable::getInstance()->getString("BornOn");
|
||||
@@ -1001,7 +1000,6 @@ char const* const _PREHASH_SnapshotID = LLMessageStringTable::getInstance()->get
|
||||
char const* const _PREHASH_Aspect = LLMessageStringTable::getInstance()->getString("Aspect");
|
||||
char const* const _PREHASH_ParamSize = LLMessageStringTable::getInstance()->getString("ParamSize");
|
||||
char const* const _PREHASH_VoteCast = LLMessageStringTable::getInstance()->getString("VoteCast");
|
||||
char const* const _PREHASH_CastsShadows = LLMessageStringTable::getInstance()->getString("CastsShadows");
|
||||
char const* const _PREHASH_EveryoneMask = LLMessageStringTable::getInstance()->getString("EveryoneMask");
|
||||
char const* const _PREHASH_ObjectSpinUpdate = LLMessageStringTable::getInstance()->getString("ObjectSpinUpdate");
|
||||
char const* const _PREHASH_MaturePublish = LLMessageStringTable::getInstance()->getString("MaturePublish");
|
||||
@@ -1050,7 +1048,6 @@ char const* const _PREHASH_SimIP = LLMessageStringTable::getInstance()->getStrin
|
||||
char const* const _PREHASH_GodID = LLMessageStringTable::getInstance()->getString("GodID");
|
||||
char const* const _PREHASH_TeleportMinPrice = LLMessageStringTable::getInstance()->getString("TeleportMinPrice");
|
||||
char const* const _PREHASH_VoteItem = LLMessageStringTable::getInstance()->getString("VoteItem");
|
||||
char const* const _PREHASH_ObjectRotation = LLMessageStringTable::getInstance()->getString("ObjectRotation");
|
||||
char const* const _PREHASH_SitRotation = LLMessageStringTable::getInstance()->getString("SitRotation");
|
||||
char const* const _PREHASH_SnapSelection = LLMessageStringTable::getInstance()->getString("SnapSelection");
|
||||
char const* const _PREHASH_SoundTrigger = LLMessageStringTable::getInstance()->getString("SoundTrigger");
|
||||
|
||||
@@ -945,7 +945,6 @@ extern char const* const _PREHASH_SysGPU;
|
||||
extern char const* const _PREHASH_AvatarInterestsReply;
|
||||
extern char const* const _PREHASH_StartLure;
|
||||
extern char const* const _PREHASH_SysRAM;
|
||||
extern char const* const _PREHASH_ObjectPosition;
|
||||
extern char const* const _PREHASH_SitPosition;
|
||||
extern char const* const _PREHASH_StartTime;
|
||||
extern char const* const _PREHASH_BornOn;
|
||||
@@ -1001,7 +1000,6 @@ extern char const* const _PREHASH_SnapshotID;
|
||||
extern char const* const _PREHASH_Aspect;
|
||||
extern char const* const _PREHASH_ParamSize;
|
||||
extern char const* const _PREHASH_VoteCast;
|
||||
extern char const* const _PREHASH_CastsShadows;
|
||||
extern char const* const _PREHASH_EveryoneMask;
|
||||
extern char const* const _PREHASH_ObjectSpinUpdate;
|
||||
extern char const* const _PREHASH_MaturePublish;
|
||||
@@ -1050,7 +1048,6 @@ extern char const* const _PREHASH_SimIP;
|
||||
extern char const* const _PREHASH_GodID;
|
||||
extern char const* const _PREHASH_TeleportMinPrice;
|
||||
extern char const* const _PREHASH_VoteItem;
|
||||
extern char const* const _PREHASH_ObjectRotation;
|
||||
extern char const* const _PREHASH_SitRotation;
|
||||
extern char const* const _PREHASH_SnapSelection;
|
||||
extern char const* const _PREHASH_SoundTrigger;
|
||||
|
||||
@@ -2,31 +2,25 @@
|
||||
* @file object_flags.h
|
||||
* @brief Flags for object creation and transmission
|
||||
*
|
||||
* $LicenseInfo:firstyear=2001&license=viewergpl$
|
||||
*
|
||||
* Copyright (c) 2001-2009, Linden Research, Inc.
|
||||
*
|
||||
* $LicenseInfo:firstyear=2001&license=viewerlgpl$
|
||||
* 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
|
||||
* Copyright (C) 2010, Linden Research, Inc.
|
||||
*
|
||||
* 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
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation;
|
||||
* version 2.1 of the License only.
|
||||
*
|
||||
* 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.
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
|
||||
* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
|
||||
* COMPLETENESS OR PERFORMANCE.
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
|
||||
* $/LicenseInfo$
|
||||
*/
|
||||
|
||||
@@ -34,43 +28,39 @@
|
||||
#define LL_OBJECT_FLAGS_H
|
||||
|
||||
// downstream flags from sim->viewer
|
||||
const U32 FLAGS_USE_PHYSICS = 0x00000001;
|
||||
const U32 FLAGS_CREATE_SELECTED = 0x00000002;
|
||||
const U32 FLAGS_OBJECT_MODIFY = 0x00000004;
|
||||
const U32 FLAGS_OBJECT_COPY = 0x00000008;
|
||||
const U32 FLAGS_OBJECT_ANY_OWNER = 0x00000010;
|
||||
const U32 FLAGS_OBJECT_YOU_OWNER = 0x00000020;
|
||||
const U32 FLAGS_SCRIPTED = 0x00000040;
|
||||
const U32 FLAGS_HANDLE_TOUCH = 0x00000080;
|
||||
const U32 FLAGS_OBJECT_MOVE = 0x00000100;
|
||||
const U32 FLAGS_TAKES_MONEY = 0x00000200;
|
||||
const U32 FLAGS_PHANTOM = 0x00000400;
|
||||
const U32 FLAGS_INVENTORY_EMPTY = 0x00000800;
|
||||
const U32 FLAGS_USE_PHYSICS = (1U << 0);
|
||||
const U32 FLAGS_CREATE_SELECTED = (1U << 1);
|
||||
const U32 FLAGS_OBJECT_MODIFY = (1U << 2);
|
||||
const U32 FLAGS_OBJECT_COPY = (1U << 3);
|
||||
const U32 FLAGS_OBJECT_ANY_OWNER = (1U << 4);
|
||||
const U32 FLAGS_OBJECT_YOU_OWNER = (1U << 5);
|
||||
const U32 FLAGS_SCRIPTED = (1U << 6);
|
||||
const U32 FLAGS_HANDLE_TOUCH = (1U << 7);
|
||||
const U32 FLAGS_OBJECT_MOVE = (1U << 8);
|
||||
const U32 FLAGS_TAKES_MONEY = (1U << 9);
|
||||
const U32 FLAGS_PHANTOM = (1U << 10);
|
||||
const U32 FLAGS_INVENTORY_EMPTY = (1U << 11);
|
||||
|
||||
const U32 FLAGS_JOINT_HINGE = 0x00001000;
|
||||
const U32 FLAGS_JOINT_P2P = 0x00002000;
|
||||
const U32 FLAGS_JOINT_LP2P = 0x00004000;
|
||||
// const U32 FLAGS_JOINT_WHEEL = 0x00008000;
|
||||
const U32 FLAGS_INCLUDE_IN_SEARCH = 0x00008000;
|
||||
const U32 FLAGS_INCLUDE_IN_SEARCH = (1U << 15);
|
||||
|
||||
const U32 FLAGS_ALLOW_INVENTORY_DROP = 0x00010000;
|
||||
const U32 FLAGS_OBJECT_TRANSFER = 0x00020000;
|
||||
const U32 FLAGS_OBJECT_GROUP_OWNED = 0x00040000;
|
||||
//const U32 FLAGS_OBJECT_YOU_OFFICER = 0x00080000;
|
||||
const U32 FLAGS_ALLOW_INVENTORY_DROP = (1U << 16);
|
||||
const U32 FLAGS_OBJECT_TRANSFER = (1U << 17);
|
||||
const U32 FLAGS_OBJECT_GROUP_OWNED = (1U << 18);
|
||||
//const U32 FLAGS_UNUSED_000 = (1U << 19); // was FLAGS_OBJECT_YOU_OFFICER
|
||||
|
||||
const U32 FLAGS_CAMERA_DECOUPLED = 0x00100000;
|
||||
const U32 FLAGS_ANIM_SOURCE = 0x00200000;
|
||||
const U32 FLAGS_CAMERA_SOURCE = 0x00400000;
|
||||
const U32 FLAGS_CAMERA_DECOUPLED = (1U << 20);
|
||||
const U32 FLAGS_ANIM_SOURCE = (1U << 21);
|
||||
const U32 FLAGS_CAMERA_SOURCE = (1U << 22);
|
||||
|
||||
const U32 FLAGS_CAST_SHADOWS = 0x00800000;
|
||||
//const U32 FLAGS_UNUSED_001 = (1U << 23); // was FLAGS_CAST_SHADOWS
|
||||
|
||||
const U32 FLAGS_OBJECT_OWNER_MODIFY = 0x10000000;
|
||||
const U32 FLAGS_OBJECT_OWNER_MODIFY = (1U << 28);
|
||||
|
||||
const U32 FLAGS_TEMPORARY_ON_REZ = 0x20000000;
|
||||
const U32 FLAGS_TEMPORARY = 0x40000000;
|
||||
const U32 FLAGS_ZLIB_COMPRESSED = 0x80000000;
|
||||
const U32 FLAGS_TEMPORARY_ON_REZ = (1U << 29);
|
||||
const U32 FLAGS_TEMPORARY = (1U << 30);
|
||||
//const U32 FLAGS_UNUSED_007 = (1U << 31); // was FLAGS_ZLIB_COMPRESSED
|
||||
|
||||
const U32 FLAGS_LOCAL = FLAGS_ANIM_SOURCE | FLAGS_CAMERA_SOURCE;
|
||||
const U32 FLAGS_LOCAL = FLAGS_ANIM_SOURCE | FLAGS_CAMERA_SOURCE;
|
||||
|
||||
typedef enum e_havok_joint_type
|
||||
{
|
||||
|
||||
@@ -203,7 +203,7 @@ void ImportTracker::get_update(S32 newid, BOOL justCreated, BOOL createSelected)
|
||||
msg->addBOOLFast(_PREHASH_UsePhysics, gSavedSettings.getBOOL("EmeraldBuildPrefs_Physical"));
|
||||
msg->addBOOLFast(_PREHASH_IsTemporary, gSavedSettings.getBOOL("EmeraldBuildPrefs_Temporary"));
|
||||
msg->addBOOLFast(_PREHASH_IsPhantom, gSavedSettings.getBOOL("EmeraldBuildPrefs_Phantom") );
|
||||
msg->addBOOL("CastsShadows", true );
|
||||
msg->addBOOL("CastsShadows", false );
|
||||
msg->sendReliable(gAgent.getRegion()->getHost());
|
||||
|
||||
if(gSavedSettings.getBOOL("EmeraldBuildPrefs_EmbedItem"))
|
||||
|
||||
@@ -110,9 +110,6 @@ void click_popup_minimize(void*);
|
||||
void click_popup_grab_drag(LLUICtrl *, void*);
|
||||
void click_popup_grab_lift(LLUICtrl *, void*);
|
||||
void click_popup_grab_spin(LLUICtrl *, void*);
|
||||
void click_popup_rotate_left(void*);
|
||||
void click_popup_rotate_reset(void*);
|
||||
void click_popup_rotate_right(void*);
|
||||
void click_popup_dozer_mode(LLUICtrl *, void *user);
|
||||
void commit_slider_dozer_size(LLUICtrl *, void*);
|
||||
void commit_slider_dozer_force(LLUICtrl *, void*);
|
||||
@@ -947,25 +944,6 @@ void commit_slider_zoom(LLUICtrl *ctrl, void*)
|
||||
gAgentCamera.setCameraZoomFraction(zoom_level);
|
||||
}
|
||||
|
||||
void click_popup_rotate_left(void*)
|
||||
{
|
||||
LLSelectMgr::getInstance()->selectionRotateAroundZ( 45.f );
|
||||
dialog_refresh_all();
|
||||
}
|
||||
|
||||
void click_popup_rotate_reset(void*)
|
||||
{
|
||||
LLSelectMgr::getInstance()->selectionResetRotation();
|
||||
dialog_refresh_all();
|
||||
}
|
||||
|
||||
void click_popup_rotate_right(void*)
|
||||
{
|
||||
LLSelectMgr::getInstance()->selectionRotateAroundZ( -45.f );
|
||||
dialog_refresh_all();
|
||||
}
|
||||
|
||||
|
||||
void click_popup_dozer_mode(LLUICtrl *, void *user)
|
||||
{
|
||||
S32 mode = (S32)(intptr_t) user;
|
||||
|
||||
@@ -408,7 +408,7 @@ void LLHoverView::updateText()
|
||||
LLViewerObject *parent = (LLViewerObject *)object->getParent();
|
||||
|
||||
if (object &&
|
||||
(object->usePhysics() ||
|
||||
(object->flagUsePhysics() ||
|
||||
object->flagScripted() ||
|
||||
object->flagHandleTouch() || (parent && parent->flagHandleTouch()) ||
|
||||
object->flagTakesMoney() || (parent && parent->flagTakesMoney()) ||
|
||||
@@ -423,7 +423,7 @@ void LLHoverView::updateText()
|
||||
line.append(LLTrans::getString("TooltipFlagScript") + " ");
|
||||
}
|
||||
|
||||
if (object->usePhysics())
|
||||
if (object->flagUsePhysics())
|
||||
{
|
||||
line.append(LLTrans::getString("TooltipFlagPhysics") + " ");
|
||||
}
|
||||
@@ -456,7 +456,7 @@ void LLHoverView::updateText()
|
||||
line.append(LLTrans::getString("TooltipFlagTemporary") + " ");
|
||||
}
|
||||
|
||||
if (object->usePhysics() ||
|
||||
if (object->flagUsePhysics() ||
|
||||
object->flagHandleTouch() ||
|
||||
(parent && parent->flagHandleTouch()) )
|
||||
{
|
||||
|
||||
@@ -394,7 +394,6 @@ LLPanelObject::LLPanelObject(const std::string& name)
|
||||
mIsPhysical(FALSE),
|
||||
mIsTemporary(FALSE),
|
||||
mIsPhantom(FALSE),
|
||||
mCastShadows(TRUE),
|
||||
mSelectedType(MI_BOX)
|
||||
{
|
||||
}
|
||||
@@ -659,7 +658,7 @@ void LLPanelObject::getState( )
|
||||
BOOL is_flexible = volobjp && volobjp->isFlexible();
|
||||
|
||||
// Physics checkbox
|
||||
mIsPhysical = root_objectp->usePhysics();
|
||||
mIsPhysical = root_objectp->flagUsePhysics();
|
||||
mCheckPhysics->set( mIsPhysical );
|
||||
mCheckPhysics->setEnabled( roots_selected>0
|
||||
&& (editable || gAgent.isGodlike())
|
||||
@@ -673,12 +672,6 @@ void LLPanelObject::getState( )
|
||||
mCheckPhantom->set( mIsPhantom );
|
||||
mCheckPhantom->setEnabled( roots_selected>0 && editable && !is_flexible );
|
||||
|
||||
#if 0 // 1.9.2
|
||||
mCastShadows = root_objectp->flagCastShadows();
|
||||
mCheckCastShadows->set( mCastShadows );
|
||||
mCheckCastShadows->setEnabled( roots_selected==1 && editable );
|
||||
#endif
|
||||
|
||||
// Update material part
|
||||
// slightly inefficient - materials are unique per object, not per TE
|
||||
U8 material_code = 0;
|
||||
@@ -1525,22 +1518,6 @@ void LLPanelObject::sendIsPhantom()
|
||||
}
|
||||
}
|
||||
|
||||
void LLPanelObject::sendCastShadows()
|
||||
{
|
||||
BOOL value = mCheckCastShadows->get();
|
||||
if( mCastShadows != value )
|
||||
{
|
||||
LLSelectMgr::getInstance()->selectionUpdateCastShadows(value);
|
||||
mCastShadows = value;
|
||||
|
||||
llinfos << "update cast shadows sent" << llendl;
|
||||
}
|
||||
else
|
||||
{
|
||||
llinfos << "update cast shadows not changed" << llendl;
|
||||
}
|
||||
}
|
||||
|
||||
// static
|
||||
void LLPanelObject::onCommitMaterial( LLUICtrl* ctrl, void* userdata )
|
||||
{
|
||||
@@ -2369,10 +2346,6 @@ void LLPanelObject::clearCtrls()
|
||||
mCheckTemporary ->setEnabled( FALSE );
|
||||
mCheckPhantom ->set(FALSE);
|
||||
mCheckPhantom ->setEnabled( FALSE );
|
||||
#if 0 // 1.9.2
|
||||
mCheckCastShadows->set(FALSE);
|
||||
mCheckCastShadows->setEnabled( FALSE );
|
||||
#endif
|
||||
mComboMaterial ->setEnabled( FALSE );
|
||||
mLabelMaterial ->setEnabled( FALSE );
|
||||
// Disable text labels
|
||||
@@ -2468,14 +2441,6 @@ void LLPanelObject::onCommitPhantom( LLUICtrl* ctrl, void* userdata )
|
||||
self->sendIsPhantom();
|
||||
}
|
||||
|
||||
// static
|
||||
void LLPanelObject::onCommitCastShadows( LLUICtrl* ctrl, void* userdata )
|
||||
{
|
||||
LLPanelObject* self = (LLPanelObject*) userdata;
|
||||
self->sendCastShadows();
|
||||
}
|
||||
|
||||
|
||||
// static
|
||||
void LLPanelObject::onSelectSculpt(LLUICtrl* ctrl, void* userdata)
|
||||
{
|
||||
|
||||
@@ -72,7 +72,6 @@ public:
|
||||
static void onCommitPhysics( LLUICtrl* ctrl, void* userdata);
|
||||
static void onCommitTemporary( LLUICtrl* ctrl, void* userdata);
|
||||
static void onCommitPhantom( LLUICtrl* ctrl, void* userdata);
|
||||
static void onCommitCastShadows( LLUICtrl* ctrl, void* userdata);
|
||||
|
||||
static void onLinkObj( void* user_data);
|
||||
static void onUnlinkObj( void* user_data);
|
||||
@@ -110,7 +109,6 @@ protected:
|
||||
void sendIsPhysical();
|
||||
void sendIsTemporary();
|
||||
void sendIsPhantom();
|
||||
void sendCastShadows();
|
||||
void sendSculpt();
|
||||
|
||||
void getVolumeParams(LLVolumeParams& volume_params);
|
||||
@@ -207,7 +205,6 @@ protected:
|
||||
LLCheckBoxCtrl *mCheckPhysics;
|
||||
LLCheckBoxCtrl *mCheckTemporary;
|
||||
LLCheckBoxCtrl *mCheckPhantom;
|
||||
LLCheckBoxCtrl *mCheckCastShadows;
|
||||
|
||||
LLTextureCtrl *mCtrlSculptTexture;
|
||||
LLTextBox *mLabelSculptType;
|
||||
@@ -222,7 +219,6 @@ protected:
|
||||
BOOL mIsPhysical; // to avoid sending "physical" when not changed
|
||||
BOOL mIsTemporary; // to avoid sending "temporary" when not changed
|
||||
BOOL mIsPhantom; // to avoid sending "phantom" when not changed
|
||||
BOOL mCastShadows; // to avoid sending "cast shadows" when not changed
|
||||
S32 mSelectedType; // So we know what selected type we last were
|
||||
|
||||
LLUUID mSculptTextureRevert; // so we can revert the sculpt texture on cancel
|
||||
|
||||
@@ -2292,50 +2292,6 @@ void LLSelectMgr::packObjectIDAsParam(LLSelectNode* node, void *)
|
||||
gMessageSystem->addString("Parameter", buf);
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Rotation options
|
||||
//-----------------------------------------------------------------------------
|
||||
void LLSelectMgr::selectionResetRotation()
|
||||
{
|
||||
struct f : public LLSelectedObjectFunctor
|
||||
{
|
||||
virtual bool apply(LLViewerObject* object)
|
||||
{
|
||||
LLQuaternion identity(0.f, 0.f, 0.f, 1.f);
|
||||
object->setRotation(identity);
|
||||
if (object->mDrawable.notNull())
|
||||
{
|
||||
gPipeline.markMoved(object->mDrawable, TRUE);
|
||||
}
|
||||
object->sendRotationUpdate();
|
||||
return true;
|
||||
}
|
||||
} func;
|
||||
getSelection()->applyToRootObjects(&func);
|
||||
}
|
||||
|
||||
void LLSelectMgr::selectionRotateAroundZ(F32 degrees)
|
||||
{
|
||||
LLQuaternion rot( degrees * DEG_TO_RAD, LLVector3(0,0,1) );
|
||||
struct f : public LLSelectedObjectFunctor
|
||||
{
|
||||
LLQuaternion mRot;
|
||||
f(const LLQuaternion& rot) : mRot(rot) {}
|
||||
virtual bool apply(LLViewerObject* object)
|
||||
{
|
||||
object->setRotation( object->getRotationEdit() * mRot );
|
||||
if (object->mDrawable.notNull())
|
||||
{
|
||||
gPipeline.markMoved(object->mDrawable, TRUE);
|
||||
}
|
||||
object->sendRotationUpdate();
|
||||
return true;
|
||||
}
|
||||
} func(rot);
|
||||
getSelection()->applyToRootObjects(&func);
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// selectionTexScaleAutofit()
|
||||
//-----------------------------------------------------------------------------
|
||||
@@ -4200,13 +4156,6 @@ void LLSelectMgr::selectionUpdatePhantom(BOOL is_phantom)
|
||||
getSelection()->applyToObjects(&func);
|
||||
}
|
||||
|
||||
void LLSelectMgr::selectionUpdateCastShadows(BOOL cast_shadows)
|
||||
{
|
||||
LLSelectMgrApplyFlags func( FLAGS_CAST_SHADOWS, cast_shadows);
|
||||
getSelection()->applyToObjects(&func);
|
||||
}
|
||||
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
// Helpful packing functions for sendObjectMessage()
|
||||
//----------------------------------------------------------------------
|
||||
|
||||
@@ -505,7 +505,6 @@ public:
|
||||
void selectionUpdatePhysics(BOOL use_physics);
|
||||
void selectionUpdateTemporary(BOOL is_temporary);
|
||||
void selectionUpdatePhantom(BOOL is_ghost);
|
||||
void selectionUpdateCastShadows(BOOL cast_shadows);
|
||||
void selectionDump();
|
||||
|
||||
BOOL selectionAllPCode(LLPCode code); // all objects have this PCode
|
||||
@@ -543,8 +542,6 @@ public:
|
||||
void selectionTexScaleAutofit(F32 repeats_per_meter);
|
||||
void adjustTexturesByScale(BOOL send_to_sim, BOOL stretch);
|
||||
|
||||
void selectionResetRotation(); // sets rotation quat to identity
|
||||
void selectionRotateAroundZ(F32 degrees);
|
||||
bool selectionMove(const LLVector3& displ, F32 rx, F32 ry, F32 rz,
|
||||
U32 update_type);
|
||||
void sendSelectionMove();
|
||||
|
||||
@@ -214,9 +214,9 @@ BOOL LLToolGrab::handleObjectHit(const LLPickInfo& info)
|
||||
|
||||
// Clicks on scripted or physical objects are temporary grabs, so
|
||||
// not "Build mode"
|
||||
mHideBuildHighlight = script_touch || objectp->usePhysics();
|
||||
mHideBuildHighlight = script_touch || objectp->flagUsePhysics();
|
||||
|
||||
if (!objectp->usePhysics())
|
||||
if (!objectp->flagUsePhysics())
|
||||
{
|
||||
// In mouselook, we shouldn't be able to grab non-physical,
|
||||
// non-touchable objects. If it has a touch handler, we
|
||||
|
||||
@@ -275,7 +275,7 @@ BOOL LLToolPie::pickAndShowMenu(BOOL always_show)
|
||||
// Switch to grab tool if physical or triggerable
|
||||
if (object &&
|
||||
!object->isAvatar() &&
|
||||
((object->usePhysics() || (parent && !parent->isAvatar() && parent->usePhysics())) || touchable) &&
|
||||
((object->flagUsePhysics() || (parent && !parent->isAvatar() && parent->flagUsePhysics())) || touchable) &&
|
||||
!always_show)
|
||||
{
|
||||
// [RLVa:KB] - Checked: 2010-01-02 (RLVa-1.1.0l) | Modified: RLVa-1.1.0l
|
||||
@@ -703,8 +703,8 @@ BOOL LLToolPie::handleHover(S32 x, S32 y, MASK mask)
|
||||
gViewerWindow->getWindow()->setCursor(UI_CURSOR_ARROW);
|
||||
}
|
||||
// [/RLVa:KB]
|
||||
else if ((object && !object->isAvatar() && object->usePhysics())
|
||||
|| (parent && !parent->isAvatar() && parent->usePhysics()))
|
||||
else if ((object && !object->isAvatar() && object->flagUsePhysics())
|
||||
|| (parent && !parent->isAvatar() && parent->flagUsePhysics()))
|
||||
{
|
||||
gViewerWindow->getWindow()->setCursor(UI_CURSOR_TOOLGRAB);
|
||||
}
|
||||
|
||||
@@ -564,7 +564,6 @@ BOOL get_visibility(void*);
|
||||
void request_friendship(const LLUUID& agent_id);
|
||||
|
||||
// Tools menu
|
||||
void handle_force_unlock(void*);
|
||||
void handle_selected_texture_info(void*);
|
||||
void handle_dump_image_list(void*);
|
||||
|
||||
@@ -6337,30 +6336,6 @@ void dump_inventory(void*)
|
||||
gInventory.dumpInventory();
|
||||
}
|
||||
|
||||
// forcibly unlock an object
|
||||
void handle_force_unlock(void*)
|
||||
{
|
||||
// First, make it public.
|
||||
LLSelectMgr::getInstance()->sendOwner(LLUUID::null, LLUUID::null, TRUE);
|
||||
|
||||
// Second, lie to the viewer and mark it editable and unowned
|
||||
|
||||
struct f : public LLSelectedObjectFunctor
|
||||
{
|
||||
virtual bool apply(LLViewerObject* object)
|
||||
{
|
||||
object->mFlags |= FLAGS_OBJECT_MOVE;
|
||||
object->mFlags |= FLAGS_OBJECT_MODIFY;
|
||||
object->mFlags |= FLAGS_OBJECT_COPY;
|
||||
|
||||
object->mFlags &= ~FLAGS_OBJECT_ANY_OWNER;
|
||||
object->mFlags &= ~FLAGS_OBJECT_YOU_OWNER;
|
||||
return true;
|
||||
}
|
||||
} func;
|
||||
LLSelectMgr::getInstance()->getSelection()->applyToObjects(&func);
|
||||
}
|
||||
|
||||
void handle_dump_followcam(void*)
|
||||
{
|
||||
LLFollowCamMgr::dump();
|
||||
|
||||
@@ -5231,7 +5231,7 @@ void process_avatar_animation(LLMessageSystem *mesgsys, void **user_data)
|
||||
LLViewerObject* object = gObjectList.findObject(object_id);
|
||||
if (object)
|
||||
{
|
||||
object->mFlags |= FLAGS_ANIM_SOURCE;
|
||||
object->setFlagsWithoutUpdate(FLAGS_ANIM_SOURCE, TRUE);
|
||||
|
||||
BOOL anim_found = FALSE;
|
||||
LLVOAvatar::AnimSourceIterator anim_it = avatarp->mAnimationSources.find(object_id);
|
||||
@@ -5378,7 +5378,7 @@ void process_set_follow_cam_properties(LLMessageSystem *mesgsys, void **user_dat
|
||||
LLViewerObject* objectp = gObjectList.findObject(source_id);
|
||||
if (objectp)
|
||||
{
|
||||
objectp->mFlags |= FLAGS_CAMERA_SOURCE;
|
||||
objectp->setFlagsWithoutUpdate(FLAGS_CAMERA_SOURCE, TRUE);
|
||||
}
|
||||
|
||||
S32 num_objects = mesgsys->getNumberOfBlocks("CameraProperty");
|
||||
|
||||
@@ -460,7 +460,7 @@ void LLViewerObject::dump() const
|
||||
/*
|
||||
llinfos << "Velocity: " << getVelocity() << llendl;
|
||||
llinfos << "AnyOwner: " << permAnyOwner() << " YouOwner: " << permYouOwner() << " Edit: " << mPermEdit << llendl;
|
||||
llinfos << "UsePhysics: " << usePhysics() << " CanSelect " << mbCanSelect << " UserSelected " << mUserSelected << llendl;
|
||||
llinfos << "UsePhysics: " << flagUsePhysics() << " CanSelect " << mbCanSelect << " UserSelected " << mUserSelected << llendl;
|
||||
llinfos << "AppAngle: " << mAppAngle << llendl;
|
||||
llinfos << "PixelArea: " << mPixelArea << llendl;
|
||||
|
||||
@@ -2068,6 +2068,8 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys,
|
||||
//
|
||||
//
|
||||
|
||||
// If we're going to skip this message, why are we
|
||||
// doing all the parenting, etc above?
|
||||
U32 packet_id = mesgsys->getCurrentRecvPacketID();
|
||||
if (packet_id < mLatestRecvPacketID &&
|
||||
mLatestRecvPacketID - packet_id < 65536)
|
||||
@@ -2128,12 +2130,11 @@ U32 LLViewerObject::processUpdateMessage(LLMessageSystem *mesgsys,
|
||||
}
|
||||
}
|
||||
|
||||
if (new_rot != mLastRot
|
||||
if (new_rot != getRotation()
|
||||
|| new_angv != old_angv)
|
||||
{
|
||||
if (new_rot != mLastRot)
|
||||
if (new_rot != getRotation())
|
||||
{
|
||||
mLastRot = new_rot;
|
||||
setRotation(new_rot);
|
||||
}
|
||||
|
||||
@@ -4164,38 +4165,6 @@ void LLViewerObject::sendMaterialUpdate() const
|
||||
|
||||
}
|
||||
|
||||
// formerly send_object_rotation
|
||||
void LLViewerObject::sendRotationUpdate() const
|
||||
{
|
||||
LLViewerRegion* regionp = getRegion();
|
||||
if(!regionp) return;
|
||||
gMessageSystem->newMessageFast(_PREHASH_ObjectRotation);
|
||||
gMessageSystem->nextBlockFast(_PREHASH_AgentData);
|
||||
gMessageSystem->addUUIDFast(_PREHASH_AgentID, gAgent.getID() );
|
||||
gMessageSystem->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID());
|
||||
gMessageSystem->nextBlockFast(_PREHASH_ObjectData);
|
||||
gMessageSystem->addU32Fast(_PREHASH_ObjectLocalID, mLocalID);
|
||||
gMessageSystem->addQuatFast(_PREHASH_Rotation, getRotationEdit());
|
||||
//llinfos << "Sent rotation " << getRotationEdit() << llendl;
|
||||
gMessageSystem->sendReliable( regionp->getHost() );
|
||||
}
|
||||
|
||||
/* Obsolete, we use MultipleObjectUpdate instead
|
||||
//// formerly send_object_position_global
|
||||
//void LLViewerObject::sendPositionUpdate() const
|
||||
//{
|
||||
// gMessageSystem->newMessageFast(_PREHASH_ObjectPosition);
|
||||
// gMessageSystem->nextBlockFast(_PREHASH_AgentData);
|
||||
// gMessageSystem->addUUIDFast(_PREHASH_AgentID, gAgent.getID() );
|
||||
// gMessageSystem->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID());
|
||||
// gMessageSystem->nextBlockFast(_PREHASH_ObjectData);
|
||||
// gMessageSystem->addU32Fast(_PREHASH_ObjectLocalID, mLocalID );
|
||||
// gMessageSystem->addVector3Fast(_PREHASH_Position, getPositionRegion());
|
||||
// LLViewerRegion* regionp = getRegion();
|
||||
// gMessageSystem->sendReliable(regionp->getHost());
|
||||
//}
|
||||
*/
|
||||
|
||||
//formerly send_object_shape(LLViewerObject *object)
|
||||
void LLViewerObject::sendShapeUpdate()
|
||||
{
|
||||
@@ -5280,7 +5249,7 @@ BOOL LLViewerObject::permAnyOwner() const
|
||||
{
|
||||
if (isRootEdit())
|
||||
{
|
||||
return ((mFlags & FLAGS_OBJECT_ANY_OWNER) != 0);
|
||||
return flagObjectAnyOwner();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -5302,7 +5271,7 @@ BOOL LLViewerObject::permYouOwner() const
|
||||
return TRUE;
|
||||
}
|
||||
# endif
|
||||
return ((mFlags & FLAGS_OBJECT_YOU_OWNER) != 0);
|
||||
return flagObjectYouOwner();
|
||||
#endif
|
||||
}
|
||||
else
|
||||
@@ -5316,7 +5285,7 @@ BOOL LLViewerObject::permGroupOwner() const
|
||||
{
|
||||
if (isRootEdit())
|
||||
{
|
||||
return ((mFlags & FLAGS_OBJECT_GROUP_OWNED) != 0);
|
||||
return flagObjectGroupOwned();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -5339,7 +5308,7 @@ BOOL LLViewerObject::permOwnerModify() const
|
||||
return TRUE;
|
||||
}
|
||||
# endif
|
||||
return ((mFlags & FLAGS_OBJECT_OWNER_MODIFY) != 0);
|
||||
return flagObjectOwnerModify();
|
||||
#endif
|
||||
}
|
||||
else
|
||||
@@ -5363,7 +5332,7 @@ BOOL LLViewerObject::permModify() const
|
||||
return TRUE;
|
||||
}
|
||||
# endif
|
||||
return ((mFlags & FLAGS_OBJECT_MODIFY) != 0);
|
||||
return flagObjectModify();
|
||||
#endif
|
||||
}
|
||||
else
|
||||
@@ -5387,7 +5356,7 @@ BOOL LLViewerObject::permCopy() const
|
||||
return TRUE;
|
||||
}
|
||||
# endif
|
||||
return ((mFlags & FLAGS_OBJECT_COPY) != 0);
|
||||
return flagObjectCopy();
|
||||
#endif
|
||||
}
|
||||
else
|
||||
@@ -5411,7 +5380,7 @@ BOOL LLViewerObject::permMove() const
|
||||
return TRUE;
|
||||
}
|
||||
# endif
|
||||
return ((mFlags & FLAGS_OBJECT_MOVE) != 0);
|
||||
return flagObjectMove();
|
||||
#endif
|
||||
}
|
||||
else
|
||||
@@ -5435,7 +5404,7 @@ BOOL LLViewerObject::permTransfer() const
|
||||
return TRUE;
|
||||
}
|
||||
# endif
|
||||
return ((mFlags & FLAGS_OBJECT_TRANSFER) != 0);
|
||||
return flagObjectTransfer();
|
||||
#endif
|
||||
}
|
||||
else
|
||||
@@ -5483,19 +5452,12 @@ void LLViewerObject::markForUpdate(BOOL priority)
|
||||
|
||||
bool LLViewerObject::getIncludeInSearch() const
|
||||
{
|
||||
return ((mFlags & FLAGS_INCLUDE_IN_SEARCH) != 0);
|
||||
return flagIncludeInSearch();
|
||||
}
|
||||
|
||||
void LLViewerObject::setIncludeInSearch(bool include_in_search)
|
||||
{
|
||||
if (include_in_search)
|
||||
{
|
||||
mFlags |= FLAGS_INCLUDE_IN_SEARCH;
|
||||
}
|
||||
else
|
||||
{
|
||||
mFlags &= ~FLAGS_INCLUDE_IN_SEARCH;
|
||||
}
|
||||
setFlags(FLAGS_INCLUDE_IN_SEARCH, include_in_search);
|
||||
}
|
||||
|
||||
void LLViewerObject::setRegion(LLViewerRegion *regionp)
|
||||
@@ -5520,8 +5482,8 @@ void LLViewerObject::setRegion(LLViewerRegion *regionp)
|
||||
|
||||
bool LLViewerObject::specialHoverCursor() const
|
||||
{
|
||||
return (mFlags & FLAGS_USE_PHYSICS)
|
||||
|| (mFlags & FLAGS_HANDLE_TOUCH)
|
||||
return flagUsePhysics()
|
||||
|| flagHandleTouch()
|
||||
|| (mClickAction != 0);
|
||||
}
|
||||
|
||||
@@ -5534,10 +5496,15 @@ void LLViewerObject::updateFlags(BOOL physics_changed)
|
||||
gMessageSystem->addUUIDFast(_PREHASH_AgentID, gAgent.getID() );
|
||||
gMessageSystem->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID());
|
||||
gMessageSystem->addU32Fast(_PREHASH_ObjectLocalID, getLocalID() );
|
||||
gMessageSystem->addBOOLFast(_PREHASH_UsePhysics, usePhysics() );
|
||||
gMessageSystem->addBOOLFast(_PREHASH_UsePhysics, flagUsePhysics() );
|
||||
gMessageSystem->addBOOL("IsTemporary", flagTemporaryOnRez() );
|
||||
gMessageSystem->addBOOL("IsPhantom", flagPhantom() );
|
||||
gMessageSystem->addBOOL("CastsShadows", flagCastShadows() );
|
||||
|
||||
// stinson 02/28/2012 : This CastsShadows BOOL is no longer used in either the viewer or the simulator
|
||||
// The simulator code does not even unpack this value when the message is received.
|
||||
// This could be potentially hijacked in the future for another use should the urgent need arise.
|
||||
gMessageSystem->addBOOL("CastsShadows", FALSE );
|
||||
|
||||
if (physics_changed)
|
||||
{
|
||||
gMessageSystem->nextBlock("ExtraPhysics");
|
||||
@@ -5551,6 +5518,19 @@ void LLViewerObject::updateFlags(BOOL physics_changed)
|
||||
}
|
||||
|
||||
BOOL LLViewerObject::setFlags(U32 flags, BOOL state)
|
||||
{
|
||||
BOOL setit = setFlagsWithoutUpdate(flags, state);
|
||||
|
||||
// BUG: Sometimes viewer physics and simulator physics get
|
||||
// out of sync. To fix this, always send update to simulator.
|
||||
// if (setit)
|
||||
{
|
||||
updateFlags();
|
||||
}
|
||||
return setit;
|
||||
}
|
||||
|
||||
BOOL LLViewerObject::setFlagsWithoutUpdate(U32 flags, BOOL state)
|
||||
{
|
||||
BOOL setit = FALSE;
|
||||
if (state)
|
||||
@@ -5569,13 +5549,6 @@ BOOL LLViewerObject::setFlags(U32 flags, BOOL state)
|
||||
setit = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
// BUG: Sometimes viewer physics and simulator physics get
|
||||
// out of sync. To fix this, always send update to simulator.
|
||||
// if (setit)
|
||||
{
|
||||
updateFlags();
|
||||
}
|
||||
return setit;
|
||||
}
|
||||
|
||||
|
||||
@@ -314,7 +314,6 @@ public:
|
||||
|
||||
inline void setRotation(const F32 x, const F32 y, const F32 z, BOOL damped = FALSE);
|
||||
inline void setRotation(const LLQuaternion& quat, BOOL damped = FALSE);
|
||||
void sendRotationUpdate() const;
|
||||
|
||||
/*virtual*/ void setNumTEs(const U8 num_tes);
|
||||
/*virtual*/ void setTE(const U8 te, const LLTextureEntry &texture_entry);
|
||||
@@ -483,20 +482,27 @@ public:
|
||||
BOOL permCopy() const;
|
||||
BOOL permMove() const;
|
||||
BOOL permTransfer() const;
|
||||
inline BOOL usePhysics() const { return ((mFlags & FLAGS_USE_PHYSICS) != 0); }
|
||||
inline BOOL flagUsePhysics() const { return ((mFlags & FLAGS_USE_PHYSICS) != 0); }
|
||||
inline BOOL flagObjectAnyOwner() const { return ((mFlags & FLAGS_OBJECT_ANY_OWNER) != 0); }
|
||||
inline BOOL flagObjectYouOwner() const { return ((mFlags & FLAGS_OBJECT_YOU_OWNER) != 0); }
|
||||
inline BOOL flagObjectGroupOwned() const { return ((mFlags & FLAGS_OBJECT_GROUP_OWNED) != 0); }
|
||||
inline BOOL flagObjectOwnerModify() const { return ((mFlags & FLAGS_OBJECT_OWNER_MODIFY) != 0); }
|
||||
inline BOOL flagObjectModify() const { return ((mFlags & FLAGS_OBJECT_MODIFY) != 0); }
|
||||
inline BOOL flagObjectCopy() const { return ((mFlags & FLAGS_OBJECT_COPY) != 0); }
|
||||
inline BOOL flagObjectMove() const { return ((mFlags & FLAGS_OBJECT_MOVE) != 0); }
|
||||
inline BOOL flagObjectTransfer() const { return ((mFlags & FLAGS_OBJECT_TRANSFER) != 0); }
|
||||
inline BOOL flagIncludeInSearch() const { return ((mFlags & FLAGS_INCLUDE_IN_SEARCH) != 0); }
|
||||
inline BOOL flagScripted() const { return ((mFlags & FLAGS_SCRIPTED) != 0); }
|
||||
inline BOOL flagHandleTouch() const { return ((mFlags & FLAGS_HANDLE_TOUCH) != 0); }
|
||||
inline BOOL flagTakesMoney() const { return ((mFlags & FLAGS_TAKES_MONEY) != 0); }
|
||||
inline BOOL flagPhantom() const { return ((mFlags & FLAGS_PHANTOM) != 0); }
|
||||
inline BOOL flagInventoryEmpty() const { return ((mFlags & FLAGS_INVENTORY_EMPTY) != 0); }
|
||||
inline BOOL flagCastShadows() const { return ((mFlags & FLAGS_CAST_SHADOWS) != 0); }
|
||||
inline BOOL flagAllowInventoryAdd() const { return ((mFlags & FLAGS_ALLOW_INVENTORY_DROP) != 0); }
|
||||
inline BOOL flagTemporary() const { return ((mFlags & FLAGS_TEMPORARY) != 0); }
|
||||
inline BOOL flagTemporaryOnRez() const { return ((mFlags & FLAGS_TEMPORARY_ON_REZ) != 0); }
|
||||
inline BOOL flagAnimSource() const { return ((mFlags & FLAGS_ANIM_SOURCE) != 0); }
|
||||
inline BOOL flagCameraSource() const { return ((mFlags & FLAGS_CAMERA_SOURCE) != 0); }
|
||||
inline BOOL flagCameraDecoupled() const { return ((mFlags & FLAGS_CAMERA_DECOUPLED) != 0); }
|
||||
inline BOOL flagObjectMove() const { return ((mFlags & FLAGS_OBJECT_MOVE) != 0); }
|
||||
|
||||
U8 getPhysicsShapeType() const;
|
||||
inline F32 getPhysicsGravity() const { return mPhysicsGravity; }
|
||||
@@ -519,6 +525,7 @@ public:
|
||||
|
||||
void updateFlags(BOOL physics_changed = FALSE);
|
||||
BOOL setFlags(U32 flag, BOOL state);
|
||||
BOOL setFlagsWithoutUpdate(U32 flag, BOOL state);
|
||||
void setPhysicsShapeType(U8 type);
|
||||
void setPhysicsGravity(F32 gravity);
|
||||
void setPhysicsFriction(F32 friction);
|
||||
@@ -610,9 +617,11 @@ public:
|
||||
U32 mGLName; // GL "name" used by selection code
|
||||
BOOL mbCanSelect; // true if user can select this object by clicking
|
||||
|
||||
private:
|
||||
// Grabbed from UPDATE_FLAGS
|
||||
U32 mFlags;
|
||||
|
||||
public:
|
||||
// Sent to sim in UPDATE_FLAGS, received in ObjectPhysicsProperties
|
||||
U8 mPhysicsShapeType;
|
||||
F32 mPhysicsGravity;
|
||||
@@ -690,6 +699,7 @@ protected:
|
||||
F64 mLastInterpUpdateSecs; // Last update for purposes of interpolation
|
||||
F64 mLastMessageUpdateSecs; // Last update from a message from the simulator
|
||||
TPACKETID mLatestRecvPacketID; // Latest time stamp on message from simulator
|
||||
|
||||
// extra data sent from the sim...currently only used for tree species info
|
||||
U8* mData;
|
||||
public://Jay: IDGAF
|
||||
@@ -731,7 +741,6 @@ protected:
|
||||
|
||||
F32 mTimeDilation; // Time dilation sent with the object.
|
||||
F32 mRotTime; // Amount (in seconds) that object has rotated according to angular velocity (llSetTargetOmega)
|
||||
LLQuaternion mLastRot; // last rotation received from the simulator
|
||||
|
||||
LLVOJointInfo* mJointInfo;
|
||||
U8 mState; // legacy
|
||||
|
||||
@@ -650,9 +650,9 @@ LLSD LLObjectBackup::primsToLLSD(LLViewerObject::child_list_t child_list, bool i
|
||||
prim_llsd["scale"] = object->getScale().getValue();
|
||||
|
||||
// Flags
|
||||
prim_llsd["shadows"] = object->flagCastShadows();
|
||||
prim_llsd["shadows"] = FALSE;
|
||||
prim_llsd["phantom"] = object->flagPhantom();
|
||||
prim_llsd["physical"] = (BOOL)(object->mFlags & FLAGS_USE_PHYSICS);
|
||||
prim_llsd["physical"] = object->flagUsePhysics();
|
||||
|
||||
// Volume params
|
||||
LLVolumeParams params = object->getVolume()->getParams();
|
||||
@@ -994,9 +994,9 @@ void LLObjectBackup::xmlToPrim(LLSD prim_llsd, LLViewerObject* object)
|
||||
|
||||
object->setScale(prim_llsd["scale"]);
|
||||
|
||||
if (prim_llsd.has("shadows"))
|
||||
/*if (prim_llsd.has("shadows"))
|
||||
if (prim_llsd["shadows"].asInteger() == 1)
|
||||
object->setFlags(FLAGS_CAST_SHADOWS, true);
|
||||
object->setFlags(FLAGS_CAST_SHADOWS, true);*/
|
||||
|
||||
if (prim_llsd.has("phantom"))
|
||||
if (prim_llsd["phantom"].asInteger() == 1)
|
||||
@@ -1068,7 +1068,6 @@ void LLObjectBackup::xmlToPrim(LLSD prim_llsd, LLViewerObject* object)
|
||||
//if (mPrimImportIter != mThisGroup.endMap())
|
||||
// mPrimImportIter++;
|
||||
|
||||
object->sendRotationUpdate();
|
||||
object->sendTEUpdate();
|
||||
object->sendShapeUpdate();
|
||||
LLSelectMgr::getInstance()->sendMultipleUpdate(UPD_SCALE | UPD_POSITION);
|
||||
|
||||
@@ -406,9 +406,7 @@ void LLViewerObjectList::processObjectUpdate(LLMessageSystem *mesgsys,
|
||||
}
|
||||
else if (compressed)
|
||||
{
|
||||
U8 compbuffer[2048];
|
||||
S32 uncompressed_length = 2048;
|
||||
S32 compressed_length;
|
||||
compressed_dp.reset();
|
||||
|
||||
U32 flags = 0;
|
||||
@@ -417,21 +415,9 @@ void LLViewerObjectList::processObjectUpdate(LLMessageSystem *mesgsys,
|
||||
mesgsys->getU32Fast(_PREHASH_ObjectData, _PREHASH_UpdateFlags, flags, i);
|
||||
}
|
||||
|
||||
if (flags & FLAGS_ZLIB_COMPRESSED)
|
||||
{
|
||||
compressed_length = mesgsys->getSizeFast(_PREHASH_ObjectData, i, _PREHASH_Data);
|
||||
mesgsys->getBinaryDataFast(_PREHASH_ObjectData, _PREHASH_Data, compbuffer, 0, i);
|
||||
uncompressed_length = 2048;
|
||||
uncompress(compressed_dpbuffer, (unsigned long *)&uncompressed_length,
|
||||
compbuffer, compressed_length);
|
||||
compressed_dp.assignBuffer(compressed_dpbuffer, uncompressed_length);
|
||||
}
|
||||
else
|
||||
{
|
||||
uncompressed_length = mesgsys->getSizeFast(_PREHASH_ObjectData, i, _PREHASH_Data);
|
||||
mesgsys->getBinaryDataFast(_PREHASH_ObjectData, _PREHASH_Data, compressed_dpbuffer, 0, i);
|
||||
compressed_dp.assignBuffer(compressed_dpbuffer, uncompressed_length);
|
||||
}
|
||||
uncompressed_length = mesgsys->getSizeFast(_PREHASH_ObjectData, i, _PREHASH_Data);
|
||||
mesgsys->getBinaryDataFast(_PREHASH_ObjectData, _PREHASH_Data, compressed_dpbuffer, 0, i);
|
||||
compressed_dp.assignBuffer(compressed_dpbuffer, uncompressed_length);
|
||||
|
||||
|
||||
if (update_type != OUT_TERSE_IMPROVED)
|
||||
|
||||
@@ -713,7 +713,7 @@ void LLVOAvatarSelf::stopMotionFromSource(const LLUUID& source_id)
|
||||
LLViewerObject* object = gObjectList.findObject(source_id);
|
||||
if (object)
|
||||
{
|
||||
object->mFlags &= ~FLAGS_ANIM_SOURCE;
|
||||
object->setFlagsWithoutUpdate(FLAGS_ANIM_SOURCE, FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3132,7 +3132,7 @@ void renderPhysicalBeacons(LLDrawable* drawablep)
|
||||
if (vobj
|
||||
&& !vobj->isAvatar()
|
||||
//&& !vobj->getParent()
|
||||
&& vobj->usePhysics())
|
||||
&& vobj->flagUsePhysics())
|
||||
{
|
||||
if (gPipeline.sRenderBeacons)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user