Merge branch 'master' of http://github.com/HazimGazov/Inertia
Conflicts: indra/newview/llvoavatar.cpp
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -9,3 +9,4 @@
|
|||||||
*.pyc
|
*.pyc
|
||||||
*.orig
|
*.orig
|
||||||
*.rej
|
*.rej
|
||||||
|
/edited-files.txt
|
||||||
|
|||||||
@@ -513,6 +513,14 @@ U8 LLMaterialTable::getMCode(const std::string& name)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// <edit>
|
||||||
|
if(name.find("MCode") == 0)
|
||||||
|
{
|
||||||
|
S32 s;
|
||||||
|
sscanf(name.c_str(), "MCode%d", &s);
|
||||||
|
return U8(s);
|
||||||
|
}
|
||||||
|
// </edit>
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -530,7 +538,10 @@ std::string LLMaterialTable::getName(U8 mcode)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return NULL;
|
// <edit>
|
||||||
|
//return NULL;
|
||||||
|
return llformat("MCode%d", mcode);
|
||||||
|
// </edit>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -709,7 +709,7 @@
|
|||||||
<string>http://www.secondlife.com</string>
|
<string>http://www.secondlife.com</string>
|
||||||
</map>
|
</map>
|
||||||
<key>BlockAvatarAppearanceMessages</key>
|
<key>BlockAvatarAppearanceMessages</key>
|
||||||
<map>
|
<map>
|
||||||
<key>Comment</key>
|
<key>Comment</key>
|
||||||
<string>Ignore's appearance messages (for simulating Ruth)</string>
|
<string>Ignore's appearance messages (for simulating Ruth)</string>
|
||||||
<key>Persist</key>
|
<key>Persist</key>
|
||||||
@@ -718,7 +718,18 @@
|
|||||||
<string>Boolean</string>
|
<string>Boolean</string>
|
||||||
<key>Value</key>
|
<key>Value</key>
|
||||||
<integer>0</integer>
|
<integer>0</integer>
|
||||||
</map>
|
</map>
|
||||||
|
<key>BroadcastViewerEffects</key>
|
||||||
|
<map>
|
||||||
|
<key>Comment</key>
|
||||||
|
<string>Broadcast Viewer Effects</string>
|
||||||
|
<key>Persist</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>Type</key>
|
||||||
|
<string>Boolean</string>
|
||||||
|
<key>Value</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
</map>
|
||||||
<key>BrowserProxyAddress</key>
|
<key>BrowserProxyAddress</key>
|
||||||
<map>
|
<map>
|
||||||
<key>Comment</key>
|
<key>Comment</key>
|
||||||
@@ -4241,17 +4252,6 @@
|
|||||||
<key>Value</key>
|
<key>Value</key>
|
||||||
<integer>0</integer>
|
<integer>0</integer>
|
||||||
</map>
|
</map>
|
||||||
<key>RadarChatKeysChannel</key>
|
|
||||||
<map>
|
|
||||||
<key>Comment</key>
|
|
||||||
<string>Private channel used to broadcast the key of incoming avatars</string>
|
|
||||||
<key>Persist</key>
|
|
||||||
<integer>1</integer>
|
|
||||||
<key>Type</key>
|
|
||||||
<string>S32</string>
|
|
||||||
<key>Value</key>
|
|
||||||
<integer>-8888888</integer>
|
|
||||||
</map>
|
|
||||||
<key>FloaterLandRect5</key>
|
<key>FloaterLandRect5</key>
|
||||||
<map>
|
<map>
|
||||||
<key>Comment</key>
|
<key>Comment</key>
|
||||||
|
|||||||
@@ -68,6 +68,7 @@ private:
|
|||||||
BOOL mEnableLLWind;
|
BOOL mEnableLLWind;
|
||||||
BOOL mEnableClouds;
|
BOOL mEnableClouds;
|
||||||
BOOL mInitialEnableClouds;
|
BOOL mInitialEnableClouds;
|
||||||
|
BOOL mBroadcastViewerEffects;
|
||||||
U32 mSpeedRezInterval;
|
U32 mSpeedRezInterval;
|
||||||
U32 mLinksForChattingObjects;
|
U32 mLinksForChattingObjects;
|
||||||
U32 mTimeFormat;
|
U32 mTimeFormat;
|
||||||
@@ -120,6 +121,7 @@ void LLPrefsInertImpl::refreshValues()
|
|||||||
mRevokePermsOnStandUp = gSavedSettings.getBOOL("RevokePermsOnStandUp");
|
mRevokePermsOnStandUp = gSavedSettings.getBOOL("RevokePermsOnStandUp");
|
||||||
mEnableLLWind = gSavedSettings.getBOOL("WindEnabled");
|
mEnableLLWind = gSavedSettings.getBOOL("WindEnabled");
|
||||||
mEnableClouds = gSavedSettings.getBOOL("CloudsEnabled");
|
mEnableClouds = gSavedSettings.getBOOL("CloudsEnabled");
|
||||||
|
mBroadcastViewerEffects = gSavedSettings.getBOOL("BroadcastViewerEffects");
|
||||||
}
|
}
|
||||||
|
|
||||||
void LLPrefsInertImpl::refresh()
|
void LLPrefsInertImpl::refresh()
|
||||||
@@ -193,6 +195,8 @@ void LLPrefsInertImpl::cancel()
|
|||||||
gSavedSettings.setU32("LinksForChattingObjects", mLinksForChattingObjects);
|
gSavedSettings.setU32("LinksForChattingObjects", mLinksForChattingObjects);
|
||||||
gSavedSettings.setBOOL("RevokePermsOnStandUp", mRevokePermsOnStandUp);
|
gSavedSettings.setBOOL("RevokePermsOnStandUp", mRevokePermsOnStandUp);
|
||||||
gSavedSettings.setBOOL("WindEnabled", mEnableLLWind);
|
gSavedSettings.setBOOL("WindEnabled", mEnableLLWind);
|
||||||
|
gSavedSettings.setBOOL("BroadcastViewerEffects", mBroadcastViewerEffects);
|
||||||
|
|
||||||
gLLWindEnabled = mEnableLLWind;
|
gLLWindEnabled = mEnableLLWind;
|
||||||
|
|
||||||
if(mInitialEnableClouds != gSavedSettings.getBOOL("CloudsEnabled"))
|
if(mInitialEnableClouds != gSavedSettings.getBOOL("CloudsEnabled"))
|
||||||
|
|||||||
@@ -68,21 +68,6 @@ typedef enum e_radar_alert_type
|
|||||||
ALERT_TYPE_CHATRANGE = 3
|
ALERT_TYPE_CHATRANGE = 3
|
||||||
} ERadarAlertType;
|
} ERadarAlertType;
|
||||||
|
|
||||||
void announce(std::string msg)
|
|
||||||
{
|
|
||||||
//llinfos << "Radar broadcasting key: " << key.asString() << " - on channel " << gSavedSettings.getS32("RadarChatKeysChannel") << llendl;
|
|
||||||
gMessageSystem->newMessage("ScriptDialogReply");
|
|
||||||
gMessageSystem->nextBlock("AgentData");
|
|
||||||
gMessageSystem->addUUID("AgentID", gAgent.getID());
|
|
||||||
gMessageSystem->addUUID("SessionID", gAgent.getSessionID());
|
|
||||||
gMessageSystem->nextBlock("Data");
|
|
||||||
gMessageSystem->addUUID("ObjectID", gAgent.getID());
|
|
||||||
gMessageSystem->addS32("ChatChannel", gSavedSettings.getS32("RadarChatKeysChannel"));
|
|
||||||
gMessageSystem->addS32("ButtonIndex", 1);
|
|
||||||
gMessageSystem->addString("ButtonLabel", msg);
|
|
||||||
gAgent.sendReliableMessage();
|
|
||||||
}
|
|
||||||
|
|
||||||
void chat_avatar_status(std::string name, LLUUID key, ERadarAlertType type, bool entering)
|
void chat_avatar_status(std::string name, LLUUID key, ERadarAlertType type, bool entering)
|
||||||
{
|
{
|
||||||
if (gSavedSettings.getBOOL("RadarChatAlerts"))
|
if (gSavedSettings.getBOOL("RadarChatAlerts"))
|
||||||
@@ -121,10 +106,6 @@ void chat_avatar_status(std::string name, LLUUID key, ERadarAlertType type, bool
|
|||||||
LLFloaterChat::addChat(chat);
|
LLFloaterChat::addChat(chat);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (type == ALERT_TYPE_SIM && entering && gSavedSettings.getBOOL("RadarChatKeys"))
|
|
||||||
{
|
|
||||||
announce(key.asString());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
LLAvatarListEntry::LLAvatarListEntry(const LLUUID& id, const std::string &name, const LLVector3d &position) :
|
LLAvatarListEntry::LLAvatarListEntry(const LLUUID& id, const std::string &name, const LLVector3d &position) :
|
||||||
@@ -1052,20 +1033,7 @@ void LLFloaterAvatarList::onClickGetKey(void *userdata)
|
|||||||
|
|
||||||
void LLFloaterAvatarList::onClickSendKeys(void *userdata)
|
void LLFloaterAvatarList::onClickSendKeys(void *userdata)
|
||||||
{
|
{
|
||||||
LLFloaterAvatarList *self = (LLFloaterAvatarList*)userdata;
|
//TODO remove
|
||||||
std::map<LLUUID, LLAvatarListEntry>::iterator iter;
|
|
||||||
LLAvatarListEntry *entry;
|
|
||||||
|
|
||||||
if (self->mAvatars.size() == 0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
for (iter = self->mAvatars.begin(); iter != self->mAvatars.end(); iter++)
|
|
||||||
{
|
|
||||||
entry = &iter->second;
|
|
||||||
|
|
||||||
if (!entry->isDead() && entry->isInSim())
|
|
||||||
announce(entry->getID().asString());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void send_freeze(const LLUUID& avatar_id, bool freeze)
|
static void send_freeze(const LLUUID& avatar_id, bool freeze)
|
||||||
|
|||||||
@@ -71,11 +71,12 @@
|
|||||||
|
|
||||||
BOOL LLAgent::setLookAt(ELookAtType target_type, LLViewerObject *object, LLVector3 position)
|
BOOL LLAgent::setLookAt(ELookAtType target_type, LLViewerObject *object, LLVector3 position)
|
||||||
{
|
{
|
||||||
if (object && target_type != LOOKAT_TARGET_NONE && gSavedSettings.getBOOL("PrivateLookAt"))
|
if(gSavedSettings.getBOOL("PrivateLookAt"))
|
||||||
{
|
{
|
||||||
target_type = LOOKAT_TARGET_NONE;
|
if(!mLookAt || mLookAt->isDead())
|
||||||
object = mAvatarObject;
|
return FALSE;
|
||||||
position.clearVec();
|
position.clearVec();
|
||||||
|
return mLookAt->setLookAt(LOOKAT_TARGET_NONE, mAvatarObject, position);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(object && object->isAttachment())
|
if(object && object->isAttachment())
|
||||||
@@ -104,18 +105,11 @@ BOOL LLAgent::setLookAt(ELookAtType target_type, LLViewerObject *object, LLVecto
|
|||||||
BOOL LLAgent::setPointAt(EPointAtType target_type, LLViewerObject *object, LLVector3 position)
|
BOOL LLAgent::setPointAt(EPointAtType target_type, LLViewerObject *object, LLVector3 position)
|
||||||
{
|
{
|
||||||
// disallow pointing at attachments and avatars
|
// disallow pointing at attachments and avatars
|
||||||
if (object && (object->isAttachment() || object->isAvatar()))
|
if (object && (object->isAttachment() || object->isAvatar()) || gSavedSettings.getBOOL("PrivateLookAt"))
|
||||||
{
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (object && target_type != POINTAT_TARGET_NONE && gSavedSettings.getBOOL("PrivateLookAt"))
|
|
||||||
{
|
|
||||||
target_type = POINTAT_TARGET_NONE;
|
|
||||||
object = NULL;
|
|
||||||
position.clearVec();
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!mPointAt || mPointAt->isDead())
|
if(!mPointAt || mPointAt->isDead())
|
||||||
{
|
{
|
||||||
mPointAt = (LLHUDEffectPointAt *)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_POINTAT);
|
mPointAt = (LLHUDEffectPointAt *)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_POINTAT);
|
||||||
|
|||||||
@@ -47,6 +47,12 @@
|
|||||||
|
|
||||||
|
|
||||||
#include "llxmltree.h"
|
#include "llxmltree.h"
|
||||||
|
// <edit>
|
||||||
|
#include "llresmgr.h"
|
||||||
|
#include "llhudrender.h"
|
||||||
|
#include "llviewerwindow.h"
|
||||||
|
#include "llviewercontrol.h"
|
||||||
|
// </edit>
|
||||||
|
|
||||||
|
|
||||||
BOOL LLHUDEffectLookAt::sDebugLookAt = FALSE;
|
BOOL LLHUDEffectLookAt::sDebugLookAt = FALSE;
|
||||||
@@ -498,6 +504,8 @@ void LLHUDEffectLookAt::setSourceObject(LLViewerObject* objectp)
|
|||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
void LLHUDEffectLookAt::render()
|
void LLHUDEffectLookAt::render()
|
||||||
{
|
{
|
||||||
|
if (gSavedSettings.getBOOL("PrivateLookAt") &&
|
||||||
|
(gAgent.getAvatarObject() == ((LLVOAvatar*)(LLViewerObject*)mSourceObject))) return;
|
||||||
if (sDebugLookAt && mSourceObject.notNull())
|
if (sDebugLookAt && mSourceObject.notNull())
|
||||||
{
|
{
|
||||||
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
|
gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
|
||||||
@@ -521,6 +529,34 @@ void LLHUDEffectLookAt::render()
|
|||||||
gGL.vertex3f(0.f, 0.f, 1.f);
|
gGL.vertex3f(0.f, 0.f, 1.f);
|
||||||
} gGL.end();
|
} gGL.end();
|
||||||
gGL.popMatrix();
|
gGL.popMatrix();
|
||||||
|
// <edit>
|
||||||
|
const std::string text = ((LLVOAvatar*)(LLViewerObject*)mSourceObject)->getFullname();
|
||||||
|
LLVector3 offset = gAgent.getCameraPositionAgent() - target;
|
||||||
|
offset.normalize();
|
||||||
|
LLVector3 shadow_offset = offset * 0.49f;
|
||||||
|
offset *= 0.5f;
|
||||||
|
const LLFontGL* font = LLResMgr::getInstance()->getRes(LLFONT_SANSSERIF);
|
||||||
|
LLGLEnable gl_blend(GL_BLEND);
|
||||||
|
glPushMatrix();
|
||||||
|
gViewerWindow->setupViewport();
|
||||||
|
hud_render_utf8text(text,
|
||||||
|
target + shadow_offset,
|
||||||
|
*font,
|
||||||
|
LLFontGL::NORMAL,
|
||||||
|
-0.5f * font->getWidthF32(text) + 2.0f,
|
||||||
|
-2.0f,
|
||||||
|
LLColor4::black,
|
||||||
|
FALSE);
|
||||||
|
hud_render_utf8text(text,
|
||||||
|
target + offset,
|
||||||
|
*font,
|
||||||
|
LLFontGL::NORMAL,
|
||||||
|
-0.5f * font->getWidthF32(text),
|
||||||
|
0.0f,
|
||||||
|
(*mAttentions)[mTargetType].mColor,
|
||||||
|
FALSE);
|
||||||
|
glPopMatrix();
|
||||||
|
// </edit>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -79,6 +79,7 @@ void LLHUDManager::updateEffects()
|
|||||||
|
|
||||||
void LLHUDManager::sendEffects()
|
void LLHUDManager::sendEffects()
|
||||||
{
|
{
|
||||||
|
if(!gSavedSettings.getBOOL("BroadcastViewerEffects"))return;
|
||||||
S32 i;
|
S32 i;
|
||||||
for (i = 0; i < mHUDEffects.count(); i++)
|
for (i = 0; i < mHUDEffects.count(); i++)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -4011,7 +4011,7 @@ void LLObjectBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
LLSimpleListener* callback = mInventoryPanel->getListenerByName("Inventory.AttachCustom");
|
LLSimpleListener* callback = mInventoryPanel->getListenerByName("Inventory.AttachCustom");
|
||||||
new_item->addListener(callback, "on_click", NULL);
|
new_item->addListener(callback, "on_click", LLSD());
|
||||||
}
|
}
|
||||||
// </edit>
|
// </edit>
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -383,9 +383,15 @@ void LLPanelFace::getState()
|
|||||||
|
|
||||||
if( objectp
|
if( objectp
|
||||||
&& objectp->getPCode() == LL_PCODE_VOLUME
|
&& objectp->getPCode() == LL_PCODE_VOLUME
|
||||||
&& objectp->permModify())
|
// <edit>
|
||||||
{
|
//&& objectp->permModify())
|
||||||
BOOL editable = objectp->permModify();
|
)
|
||||||
|
// </edit>
|
||||||
|
{
|
||||||
|
// <edit>
|
||||||
|
//BOOL editable = objectp->permModify();
|
||||||
|
BOOL editable = TRUE;
|
||||||
|
// </edit>
|
||||||
|
|
||||||
// only turn on auto-adjust button if there is a media renderer and the media is loaded
|
// only turn on auto-adjust button if there is a media renderer and the media is loaded
|
||||||
childSetEnabled("textbox autofix",FALSE);
|
childSetEnabled("textbox autofix",FALSE);
|
||||||
|
|||||||
@@ -164,6 +164,8 @@ BOOL LLPanelObject::postBuild()
|
|||||||
mComboMaterial = getChild<LLComboBox>("material");
|
mComboMaterial = getChild<LLComboBox>("material");
|
||||||
childSetCommitCallback("material",onCommitMaterial,this);
|
childSetCommitCallback("material",onCommitMaterial,this);
|
||||||
mComboMaterial->removeall();
|
mComboMaterial->removeall();
|
||||||
|
// <edit>
|
||||||
|
/*
|
||||||
// *TODO:translate
|
// *TODO:translate
|
||||||
for (LLMaterialTable::info_list_t::iterator iter = LLMaterialTable::basic.mMaterialInfoList.begin();
|
for (LLMaterialTable::info_list_t::iterator iter = LLMaterialTable::basic.mMaterialInfoList.begin();
|
||||||
iter != LLMaterialTable::basic.mMaterialInfoList.end(); ++iter)
|
iter != LLMaterialTable::basic.mMaterialInfoList.end(); ++iter)
|
||||||
@@ -174,6 +176,12 @@ BOOL LLPanelObject::postBuild()
|
|||||||
mComboMaterial->add(minfop->mName);
|
mComboMaterial->add(minfop->mName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
for(U8 mcode = 0; mcode < 0x10; mcode++)
|
||||||
|
{
|
||||||
|
mComboMaterial->add(LLMaterialTable::basic.getName(mcode));
|
||||||
|
}
|
||||||
|
// </edit>
|
||||||
mComboMaterialItemCount = mComboMaterial->getItemCount();
|
mComboMaterialItemCount = mComboMaterial->getItemCount();
|
||||||
|
|
||||||
// Base Type
|
// Base Type
|
||||||
@@ -362,9 +370,19 @@ void LLPanelObject::getState( )
|
|||||||
}
|
}
|
||||||
|
|
||||||
// can move or rotate only linked group with move permissions, or sub-object with move and modify perms
|
// can move or rotate only linked group with move permissions, or sub-object with move and modify perms
|
||||||
|
// <edit>
|
||||||
|
// Enables position, size, and rotation textboxes
|
||||||
|
// but they're also editable
|
||||||
|
// No arrow crap though
|
||||||
|
/*
|
||||||
BOOL enable_move = objectp->permMove() && !objectp->isAttachment() && (objectp->permModify() || !gSavedSettings.getBOOL("EditLinkedParts"));
|
BOOL enable_move = objectp->permMove() && !objectp->isAttachment() && (objectp->permModify() || !gSavedSettings.getBOOL("EditLinkedParts"));
|
||||||
BOOL enable_scale = objectp->permMove() && objectp->permModify();
|
BOOL enable_scale = objectp->permMove() && objectp->permModify();
|
||||||
BOOL enable_rotate = objectp->permMove() && ( (objectp->permModify() && !objectp->isAttachment()) || !gSavedSettings.getBOOL("EditLinkedParts"));
|
BOOL enable_rotate = objectp->permMove() && ( (objectp->permModify() && !objectp->isAttachment()) || !gSavedSettings.getBOOL("EditLinkedParts"));
|
||||||
|
*/
|
||||||
|
BOOL enable_move = TRUE;
|
||||||
|
BOOL enable_scale = TRUE;
|
||||||
|
BOOL enable_rotate = TRUE;
|
||||||
|
// </edit>
|
||||||
|
|
||||||
S32 selected_count = LLSelectMgr::getInstance()->getSelection()->getObjectCount();
|
S32 selected_count = LLSelectMgr::getInstance()->getSelection()->getObjectCount();
|
||||||
BOOL single_volume = (LLSelectMgr::getInstance()->selectionAllPCode( LL_PCODE_VOLUME ))
|
BOOL single_volume = (LLSelectMgr::getInstance()->selectionAllPCode( LL_PCODE_VOLUME ))
|
||||||
@@ -449,7 +467,15 @@ void LLPanelObject::getState( )
|
|||||||
|
|
||||||
// BUG? Check for all objects being editable?
|
// BUG? Check for all objects being editable?
|
||||||
S32 roots_selected = LLSelectMgr::getInstance()->getSelection()->getRootObjectCount();
|
S32 roots_selected = LLSelectMgr::getInstance()->getSelection()->getRootObjectCount();
|
||||||
BOOL editable = root_objectp->permModify();
|
// <edit>
|
||||||
|
// Makes status and material available
|
||||||
|
// I would like it if they were semi-gray, you could copy the value,
|
||||||
|
// but not editable
|
||||||
|
|
||||||
|
//BOOL editable = root_objectp->permModify();
|
||||||
|
BOOL editable = TRUE;
|
||||||
|
|
||||||
|
// </edit>
|
||||||
|
|
||||||
// Select Single Message
|
// Select Single Message
|
||||||
childSetVisible("select_single", FALSE);
|
childSetVisible("select_single", FALSE);
|
||||||
@@ -535,6 +561,8 @@ void LLPanelObject::getState( )
|
|||||||
{
|
{
|
||||||
mComboMaterial->setEnabled( TRUE );
|
mComboMaterial->setEnabled( TRUE );
|
||||||
mLabelMaterial->setEnabled( TRUE );
|
mLabelMaterial->setEnabled( TRUE );
|
||||||
|
// <edit>
|
||||||
|
/*
|
||||||
if (material_code == LL_MCODE_LIGHT)
|
if (material_code == LL_MCODE_LIGHT)
|
||||||
{
|
{
|
||||||
if (mComboMaterial->getItemCount() == mComboMaterialItemCount)
|
if (mComboMaterial->getItemCount() == mComboMaterialItemCount)
|
||||||
@@ -552,6 +580,9 @@ void LLPanelObject::getState( )
|
|||||||
// *TODO:Translate
|
// *TODO:Translate
|
||||||
mComboMaterial->setSimple(std::string(LLMaterialTable::basic.getName(material_code)));
|
mComboMaterial->setSimple(std::string(LLMaterialTable::basic.getName(material_code)));
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
mComboMaterial->setSimple(std::string(LLMaterialTable::basic.getName(material_code)));
|
||||||
|
// </edit>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -721,8 +752,11 @@ void LLPanelObject::getState( )
|
|||||||
// Cut interpretation varies based on base object type
|
// Cut interpretation varies based on base object type
|
||||||
F32 cut_begin, cut_end, adv_cut_begin, adv_cut_end;
|
F32 cut_begin, cut_end, adv_cut_begin, adv_cut_end;
|
||||||
|
|
||||||
if ( selected_item == MI_SPHERE || selected_item == MI_TORUS ||
|
// <edit>
|
||||||
selected_item == MI_TUBE || selected_item == MI_RING )
|
//if ( selected_item == MI_SPHERE || selected_item == MI_TORUS ||
|
||||||
|
// selected_item == MI_TUBE || selected_item == MI_RING )
|
||||||
|
if(!linear_path)
|
||||||
|
// </edit>
|
||||||
{
|
{
|
||||||
cut_begin = begin_t;
|
cut_begin = begin_t;
|
||||||
cut_end = end_t;
|
cut_end = end_t;
|
||||||
@@ -746,7 +780,10 @@ void LLPanelObject::getState( )
|
|||||||
F32 twist = volume_params.getTwist();
|
F32 twist = volume_params.getTwist();
|
||||||
F32 twist_begin = volume_params.getTwistBegin();
|
F32 twist_begin = volume_params.getTwistBegin();
|
||||||
// Check the path type for conversion.
|
// Check the path type for conversion.
|
||||||
if (path == LL_PCODE_PATH_LINE || path == LL_PCODE_PATH_FLEXIBLE)
|
// <edit>
|
||||||
|
//if (path == LL_PCODE_PATH_LINE || path == LL_PCODE_PATH_FLEXIBLE)
|
||||||
|
if(linear_path)
|
||||||
|
// </edit>
|
||||||
{
|
{
|
||||||
twist *= OBJECT_TWIST_LINEAR_MAX;
|
twist *= OBJECT_TWIST_LINEAR_MAX;
|
||||||
twist_begin *= OBJECT_TWIST_LINEAR_MAX;
|
twist_begin *= OBJECT_TWIST_LINEAR_MAX;
|
||||||
@@ -839,7 +876,11 @@ void LLPanelObject::getState( )
|
|||||||
BOOL top_shear_x_visible = TRUE;
|
BOOL top_shear_x_visible = TRUE;
|
||||||
BOOL top_shear_y_visible = TRUE;
|
BOOL top_shear_y_visible = TRUE;
|
||||||
BOOL twist_visible = TRUE;
|
BOOL twist_visible = TRUE;
|
||||||
BOOL advanced_cut_visible = FALSE;
|
// <edit>
|
||||||
|
// Enable advanced cut (aka dimple, aka path, aka profile cut) for everything
|
||||||
|
//BOOL advanced_cut_visible = FALSE;
|
||||||
|
BOOL advanced_cut_visible = TRUE;
|
||||||
|
// </edit>
|
||||||
BOOL taper_visible = FALSE;
|
BOOL taper_visible = FALSE;
|
||||||
BOOL skew_visible = FALSE;
|
BOOL skew_visible = FALSE;
|
||||||
BOOL radius_offset_visible = FALSE;
|
BOOL radius_offset_visible = FALSE;
|
||||||
@@ -1423,8 +1464,13 @@ void LLPanelObject::getVolumeParams(LLVolumeParams& volume_params)
|
|||||||
F32 begin_s, end_s;
|
F32 begin_s, end_s;
|
||||||
F32 begin_t, end_t;
|
F32 begin_t, end_t;
|
||||||
|
|
||||||
if (selected_type == MI_SPHERE || selected_type == MI_TORUS ||
|
// <edit>
|
||||||
selected_type == MI_TUBE || selected_type == MI_RING)
|
//if (selected_type == MI_SPHERE || selected_type == MI_TORUS ||
|
||||||
|
// selected_type == MI_TUBE || selected_type == MI_RING)
|
||||||
|
BOOL linear_path = (path == LL_PCODE_PATH_LINE) ||
|
||||||
|
(path == LL_PCODE_PATH_FLEXIBLE);
|
||||||
|
if(!linear_path)
|
||||||
|
// </edit>
|
||||||
{
|
{
|
||||||
begin_s = adv_cut_begin;
|
begin_s = adv_cut_begin;
|
||||||
end_s = adv_cut_end;
|
end_s = adv_cut_end;
|
||||||
@@ -1695,7 +1741,10 @@ void LLPanelObject::sendPosition(BOOL btn_down)
|
|||||||
// Clamp the Z height
|
// Clamp the Z height
|
||||||
const F32 height = newpos.mV[VZ];
|
const F32 height = newpos.mV[VZ];
|
||||||
const F32 min_height = LLWorld::getInstance()->getMinAllowedZ(mObject);
|
const F32 min_height = LLWorld::getInstance()->getMinAllowedZ(mObject);
|
||||||
const F32 max_height = LLWorld::getInstance()->getRegionMaxHeight();
|
// <edit>
|
||||||
|
//const F32 max_height = LLWorld::getInstance()->getRegionMaxHeight();
|
||||||
|
const F32 max_height = F32(340282346638528859811704183484516925440.0f);
|
||||||
|
// </edit>
|
||||||
|
|
||||||
if (!mObject->isAttachment())
|
if (!mObject->isAttachment())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -335,7 +335,10 @@ void LLPreviewTexture::draw()
|
|||||||
// virtual
|
// virtual
|
||||||
BOOL LLPreviewTexture::canSaveAs() const
|
BOOL LLPreviewTexture::canSaveAs() const
|
||||||
{
|
{
|
||||||
return mIsCopyable && !mLoadingFullImage && mImage.notNull() && !mImage->isMissingAsset();
|
// <edit>
|
||||||
|
//return mIsCopyable && !mLoadingFullImage && mImage.notNull() && !mImage->isMissingAsset();
|
||||||
|
return !mLoadingFullImage && mImage.notNull() && !mImage->isMissingAsset();
|
||||||
|
// </edit>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -361,7 +364,10 @@ void LLPreviewTexture::saveAs()
|
|||||||
}
|
}
|
||||||
mLoadingFullImage = TRUE;
|
mLoadingFullImage = TRUE;
|
||||||
getWindow()->incBusyCount();
|
getWindow()->incBusyCount();
|
||||||
mImage->setLoadedCallback( LLPreviewTexture::onFileLoadedForSave,
|
// <edit>
|
||||||
|
//mImage->setLoadedCallback( LLPreviewTexture::onFileLoadedForSave,
|
||||||
|
mImage->setLoadedCallbackNoAux( LLPreviewTexture::onFileLoadedForSave,
|
||||||
|
// </edit>
|
||||||
0, TRUE, FALSE, new LLUUID( mItemUUID ) );
|
0, TRUE, FALSE, new LLUUID( mItemUUID ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -424,6 +430,18 @@ void LLPreviewTexture::onFileLoadedForSave(BOOL success,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// <edit>
|
||||||
|
// virtual
|
||||||
|
LLUUID LLPreviewTexture::getItemID()
|
||||||
|
{
|
||||||
|
const LLViewerInventoryItem* item = getItem();
|
||||||
|
if(item)
|
||||||
|
{
|
||||||
|
return item->getUUID();
|
||||||
|
}
|
||||||
|
return LLUUID::null;
|
||||||
|
}
|
||||||
|
// </edit>
|
||||||
|
|
||||||
// It takes a while until we get height and width information.
|
// It takes a while until we get height and width information.
|
||||||
// When we receive it, reshape the window accordingly.
|
// When we receive it, reshape the window accordingly.
|
||||||
|
|||||||
@@ -63,6 +63,9 @@ public:
|
|||||||
|
|
||||||
virtual BOOL canSaveAs() const;
|
virtual BOOL canSaveAs() const;
|
||||||
virtual void saveAs();
|
virtual void saveAs();
|
||||||
|
// <edit>
|
||||||
|
virtual LLUUID getItemID();
|
||||||
|
// </edit>
|
||||||
|
|
||||||
virtual void loadAsset();
|
virtual void loadAsset();
|
||||||
virtual EAssetStatus getAssetStatus();
|
virtual EAssetStatus getAssetStatus();
|
||||||
|
|||||||
@@ -1577,7 +1577,8 @@ void LLVOAvatar::getSpatialExtents(LLVector3& newMin, LLVector3& newMax)
|
|||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
void LLVOAvatar::renderCollisionVolumes()
|
void LLVOAvatar::renderCollisionVolumes()
|
||||||
{
|
{
|
||||||
LLGLDepthTest gls_depth(GL_FALSE);
|
//BLATANTLY STOLEN FROM SIMMAN DURRR
|
||||||
|
LLGLDepthTest gls_depth(GL_FALSE); //make it so the skeleton shows through the mesh and prims (good for milfags)
|
||||||
for (S32 i = 0; i < mNumCollisionVolumes; i++)
|
for (S32 i = 0; i < mNumCollisionVolumes; i++)
|
||||||
{
|
{
|
||||||
mCollisionVolumes[i].renderCollision();
|
mCollisionVolumes[i].renderCollision();
|
||||||
|
|||||||
@@ -125,6 +125,11 @@
|
|||||||
label="Preview animations on the avatar instead on a dummy before uploading" left="10"
|
label="Preview animations on the avatar instead on a dummy before uploading" left="10"
|
||||||
mouse_opaque="true" name="preview_anim_in_world_check" radio_style="false"
|
mouse_opaque="true" name="preview_anim_in_world_check" radio_style="false"
|
||||||
width="400" />
|
width="400" />
|
||||||
|
<check_box bottom_delta="-20" control_name="BroadcastViewerEffects" enabled="true"
|
||||||
|
follows="left|top" font="SansSerifSmall" height="16" initial_value="true"
|
||||||
|
label="Broadcast Viewer Effects" left="10"
|
||||||
|
mouse_opaque="true" name="broadcast_viewer_effects" radio_style="false"
|
||||||
|
width="400" />
|
||||||
<check_box bottom_delta="-20" control_name="PrivateLookAt" enabled="true"
|
<check_box bottom_delta="-20" control_name="PrivateLookAt" enabled="true"
|
||||||
follows="left|top" font="SansSerifSmall" height="16" initial_value="false"
|
follows="left|top" font="SansSerifSmall" height="16" initial_value="false"
|
||||||
label="Do not look at or point to objects (defeats ShowLookAt)" left="10"
|
label="Do not look at or point to objects (defeats ShowLookAt)" left="10"
|
||||||
@@ -136,7 +141,7 @@
|
|||||||
mouse_opaque="true" name="revoke_perms_on_stand_up_check" radio_style="false"
|
mouse_opaque="true" name="revoke_perms_on_stand_up_check" radio_style="false"
|
||||||
width="400" />
|
width="400" />
|
||||||
<check_box bottom_delta="-20" control_name="SaveScriptsAsMono" enabled="true"
|
<check_box bottom_delta="-20" control_name="SaveScriptsAsMono" enabled="true"
|
||||||
follows="left|top" font="SansSerifSmall" height="16" initial_value="false"
|
follows="left|top" font="SansSerifSmall" height="16" initial_value="true"
|
||||||
label="Save scripts in inventory as Mono scripts instead of LSL2" left="10"
|
label="Save scripts in inventory as Mono scripts instead of LSL2" left="10"
|
||||||
mouse_opaque="true" name="save_scripts_as_mono_check" radio_style="false"
|
mouse_opaque="true" name="save_scripts_as_mono_check" radio_style="false"
|
||||||
width="400" />
|
width="400" />
|
||||||
|
|||||||
Reference in New Issue
Block a user