diff --git a/etc/message.xml b/etc/message.xml
index 1665b0017..330ecee48 100644
--- a/etc/message.xml
+++ b/etc/message.xml
@@ -565,6 +565,14 @@
false
+ ObjectPhysicsProperties
+
+
DisplayNameUpdate
+ BuildPrefs_Xsize
+
+ BuildPrefs_Ysize
+
+ BuildPrefs_Zsize
+
+ EmeraldBuildPrefs_Phantom
+
+ EmeraldBuildPrefs_Temporary
+
+ EmeraldBuildPrefs_Physical
+
+ EmeraldBuildPrefs_EmbedItem
+
+ BuildPrefs_Material
+
+ EmeraldBuildPrefs_Color
+
+ EmeraldBuildPrefs_Texture
+
+ EmeraldBuildPrefs_Alpha
+
+ EmeraldBuildPrefs_Glow
+
+ EmeraldBuildPrefs_FullBright
+
+ EmeraldBuildPrefs_Shiny
+
diff --git a/indra/newview/app_settings/settings_per_account.xml b/indra/newview/app_settings/settings_per_account.xml
index b2602e351..ba157bd6a 100644
--- a/indra/newview/app_settings/settings_per_account.xml
+++ b/indra/newview/app_settings/settings_per_account.xml
@@ -623,6 +623,17 @@
Value
+ EmeraldBuildPrefs_Item
+
diff --git a/indra/newview/ascentprefschat.cpp b/indra/newview/ascentprefschat.cpp
index f80d86a22..0410ce2aa 100644
--- a/indra/newview/ascentprefschat.cpp
+++ b/indra/newview/ascentprefschat.cpp
@@ -42,6 +42,10 @@
#include "llviewercontrol.h"
#include "lgghunspell_wrapper.h"
+#include "llstartup.h"
+
+LLDropTarget* mObjectDropTarget;
+LLPrefsAscentChat* LLPrefsAscentChat::sInst;
LLPrefsAscentChat::LLPrefsAscentChat()
{
@@ -63,6 +67,28 @@ LLPrefsAscentChat::LLPrefsAscentChat()
childSetCommitCallback("AscentInstantMessageShowResponded", onCommitAutoResponse, this);
childSetCommitCallback("AscentInstantMessageResponseRepeat", onCommitAutoResponse, this);
childSetCommitCallback("AscentInstantMessageResponseItem", onCommitAutoResponse, this);
+
+ if(sInst)delete sInst; sInst = this;
+ LLView* target_view = getChild("im_give_drop_target_rect");
+ if (target_view)
+ {
+ const std::string drop="drop target";
+ if (mObjectDropTarget) delete mObjectDropTarget;
+ mObjectDropTarget = new LLDropTarget(drop, target_view->getRect(), SinguIMResponseItemDrop);//, mAvatarID);
+ addChild(mObjectDropTarget);
+ }
+
+ if (LLStartUp::getStartupState() == STATE_STARTED)
+ {
+ LLUUID itemid = (LLUUID)gSavedPerAccountSettings.getString("AscentInstantMessageResponseItemData");
+ LLViewerInventoryItem* item = gInventory.getItem(itemid);
+
+ if (item) childSetValue("im_give_disp_rect_txt","Currently set to: "+item->getName());
+ else if (itemid.isNull()) childSetValue("im_give_disp_rect_txt","Currently not set");
+ else childSetValue("im_give_disp_rect_txt","Currently set to an item not on this account");
+ }
+ else childSetValue("im_give_disp_rect_txt","Not logged in");
+
childSetCommitCallback("im_response", onCommitAutoResponse, this);
childSetCommitCallback("KeywordsOn", onCommitKeywords, this);
@@ -80,6 +106,8 @@ LLPrefsAscentChat::LLPrefsAscentChat()
LLPrefsAscentChat::~LLPrefsAscentChat()
{
+ sInst=NULL;
+ delete mObjectDropTarget; mObjectDropTarget=NULL;
}
//static
@@ -202,6 +230,13 @@ void LLPrefsAscentChat::onCommitAutoResponse(LLUICtrl* ctrl, void* user_data)
gSavedPerAccountSettings.setString("AscentInstantMessageResponse", self->childGetValue("im_response"));
}
+//static
+void LLPrefsAscentChat::SinguIMResponseItemDrop(LLViewerInventoryItem* item)
+{
+ gSavedPerAccountSettings.setString("AscentInstantMessageResponseItemData", item->getUUID().asString());
+ sInst->childSetValue("im_give_disp_rect_txt","Currently set to: "+item->getName());
+}
+
//static
void LLPrefsAscentChat::onCommitKeywords(LLUICtrl* ctrl, void* user_data)
{
@@ -496,3 +531,4 @@ void LLPrefsAscentChat::apply()
refreshValues();
refresh();
}
+
diff --git a/indra/newview/ascentprefschat.h b/indra/newview/ascentprefschat.h
index 85b8d45d6..15c7a44be 100644
--- a/indra/newview/ascentprefschat.h
+++ b/indra/newview/ascentprefschat.h
@@ -34,6 +34,7 @@
#include "llpanel.h"
+#include "lldroptarget.h"
class LLPrefsAscentChat : public LLPanel
@@ -101,6 +102,9 @@ protected:
LLColor4 mKeywordsColor;
BOOL mKeywordsPlaySound;
LLUUID mKeywordsSound;
+private:
+ static LLPrefsAscentChat* sInst;
+ static void SinguIMResponseItemDrop(LLViewerInventoryItem* item);
};
#endif
diff --git a/indra/newview/ascentprefssys.cpp b/indra/newview/ascentprefssys.cpp
index 493bb7a69..c9f883c05 100644
--- a/indra/newview/ascentprefssys.cpp
+++ b/indra/newview/ascentprefssys.cpp
@@ -41,14 +41,19 @@
#include "llcombobox.h"
#include "llfloaterchat.h" //For POWER USER affirmation.
#include "llradiogroup.h"
+#include "lltexturectrl.h"
#include "lluictrlfactory.h"
#include "llviewercontrol.h"
+#include "llstartup.h"
+LLDropTarget* mBuildDropTarget;
+LLPrefsAscentSys* LLPrefsAscentSys::sInst;
LLPrefsAscentSys::LLPrefsAscentSys()
{
LLUICtrlFactory::getInstance()->buildPanel(this, "panel_preferences_ascent_system.xml");
+ //General -----------------------------------------------------------------------------
childSetCommitCallback("speed_rez_check", onCommitCheckBox, this);
childSetCommitCallback("double_click_teleport_check", onCommitCheckBox, this);
childSetCommitCallback("system_folder_check", onCommitCheckBox, this);
@@ -57,6 +62,7 @@ LLPrefsAscentSys::LLPrefsAscentSys()
childSetCommitCallback("power_user_check", onCommitCheckBox, this);
childSetCommitCallback("power_user_confirm_check", onCommitCheckBox, this);
+ //Command Line ------------------------------------------------------------------------
childSetCommitCallback("chat_cmd_toggle", onCommitCmdLine, this);
childSetCommitCallback("AscentCmdLinePos", onCommitCmdLine, this);
childSetCommitCallback("AscentCmdLineGround", onCommitCmdLine, this);
@@ -73,12 +79,43 @@ LLPrefsAscentSys::LLPrefsAscentSys()
childSetCommitCallback("AscentCmdLineTP2", onCommitCmdLine, this);
childSetCommitCallback("SinguCmdLineAway", onCommitCmdLine, this);
- refreshValues();
+ //Build -------------------------------------------------------------------------------
+ childSetCommitCallback("next_owner_copy", onCommitCheckBox, this);
+ childSetEnabled("next_owner_transfer", gSavedSettings.getBOOL("NextOwnerCopy"));
+ childSetCommitCallback("material", onCommitComboBox, this);
+ childSetCommitCallback("combobox shininess", onCommitComboBox, this);
+ getChild("texture control")->setDefaultImageAssetID(LLUUID(gSavedSettings.getString("EmeraldBuildPrefs_Texture")));
+ childSetCommitCallback("texture control", onCommitTexturePicker, this);
+
+ if(sInst)delete sInst; sInst = this;
+ LLView* target_view = getChild("build_item_drop_target_rect");
+ if (target_view)
+ {
+ const std::string drop="drop target";
+ if (mBuildDropTarget) delete mBuildDropTarget;
+ mBuildDropTarget = new LLDropTarget(drop, target_view->getRect(), SinguBuildItemDrop);//, mAvatarID);
+ addChild(mBuildDropTarget);
+ }
+
+ if (LLStartUp::getStartupState() == STATE_STARTED)
+ {
+ LLUUID itemid = (LLUUID)gSavedPerAccountSettings.getString("EmeraldBuildPrefs_Item");
+ LLViewerInventoryItem* item = gInventory.getItem(itemid);
+
+ if (item) childSetValue("build_item_add_disp_rect_txt", "Currently set to:\n"+item->getName());
+ else if (itemid.isNull()) childSetValue("build_item_add_disp_rect_txt", "Currently\nnot set");
+ else childSetValue("build_item_add_disp_rect_txt", "Currently set to\nan item not on this account");
+ }
+ else childSetValue("build_item_add_disp_rect_txt", "You are\nnot logged in");
+
+ refreshValues();
refresh();
}
LLPrefsAscentSys::~LLPrefsAscentSys()
{
+ sInst=NULL;
+ delete mBuildDropTarget; mBuildDropTarget=NULL;
}
//static
@@ -132,6 +169,12 @@ void LLPrefsAscentSys::onCommitCheckBox(LLUICtrl* ctrl, void* user_data)
LLFloaterChat::addChat(chat);
}
}
+ else if (ctrl->getName() == "next_owner_copy")
+ {
+ bool copy = gSavedSettings.getBOOL("NextOwnerCopy");
+ if (!copy) gSavedSettings.setBOOL("NextOwnerTransfer", true);
+ self->childSetEnabled("next_owner_transfer", copy);
+ }
}
//static
@@ -189,6 +232,24 @@ void LLPrefsAscentSys::onCommitCmdLine(LLUICtrl* ctrl, void* user_data)
gSavedSettings.setString("SinguCmdLineAway", self->childGetValue("SinguCmdLineAway"));
}
+void LLPrefsAscentSys::onCommitComboBox(LLUICtrl* ctrl, void* userdata)
+{
+ LLComboBox* box = (LLComboBox*)ctrl;
+ if(box) gSavedSettings.setString(box->getControlName(), box->getValue().asString());
+}
+
+void LLPrefsAscentSys::onCommitTexturePicker(LLUICtrl* ctrl, void* userdata)
+{
+ LLTextureCtrl* image_ctrl = (LLTextureCtrl*)ctrl;
+ if(image_ctrl) gSavedSettings.setString("EmeraldBuildPrefs_Texture", image_ctrl->getImageAssetID().asString());
+}
+
+void LLPrefsAscentSys::SinguBuildItemDrop(LLViewerInventoryItem* item)
+{
+ gSavedPerAccountSettings.setString("EmeraldBuildPrefs_Item", item->getUUID().asString());
+ sInst->childSetValue("build_item_add_disp_rect_txt","Currently set to:\n"+item->getName());
+}
+
void LLPrefsAscentSys::refreshValues()
{
//General -----------------------------------------------------------------------------
@@ -240,10 +301,29 @@ void LLPrefsAscentSys::refreshValues()
mDisableClickSit = gSavedSettings.getBOOL("DisableClickSit");
mDisplayScriptJumps = gSavedSettings.getBOOL("AscentDisplayTotalScriptJumps");
mNumScriptDiff = gSavedSettings.getF32("Ascentnumscriptdiff");
+
+ //Build -------------------------------------------------------------------------------
+ mAlpha = gSavedSettings.getF32("EmeraldBuildPrefs_Alpha");
+ mColor = gSavedSettings.getColor4("EmeraldBuildPrefs_Color");
+ mFullBright = gSavedSettings.getBOOL("EmeraldBuildPrefs_FullBright");
+ mGlow = gSavedSettings.getF32("EmeraldBuildPrefs_Glow");
+ mMaterial = gSavedSettings.getString("BuildPrefs_Material");
+ mNextCopy = gSavedSettings.getBOOL("NextOwnerCopy");
+ mNextMod = gSavedSettings.getBOOL("NextOwnerModify");
+ mNextTrans = gSavedSettings.getBOOL("NextOwnerTransfer");
+ mShiny = gSavedSettings.getString("EmeraldBuildPrefs_Shiny");
+ mTemporary = gSavedSettings.getBOOL("EmeraldBuildPrefs_Temporary");
+ mTexture = gSavedSettings.getString("EmeraldBuildPrefs_Texture");
+ mPhantom = gSavedSettings.getBOOL("EmeraldBuildPrefs_Phantom");
+ mPhysical = gSavedSettings.getBOOL("EmeraldBuildPrefs_Physical");
+ mXsize = gSavedSettings.getF32("BuildPrefs_Xsize");
+ mYsize = gSavedSettings.getF32("BuildPrefs_Ysize");
+ mZsize = gSavedSettings.getF32("BuildPrefs_Zsize");
}
void LLPrefsAscentSys::refresh()
{
+ //General -----------------------------------------------------------------------------
childSetEnabled("center_after_teleport_check", mDoubleClickTeleport);
childSetEnabled("offset_teleport_check", mDoubleClickTeleport);
childSetValue("power_user_check", mPowerUser);
@@ -252,6 +332,7 @@ void LLPrefsAscentSys::refresh()
childSetEnabled("speed_rez_interval", mSpeedRez);
childSetEnabled("speed_rez_seconds", mSpeedRez);
+ //Command Line ------------------------------------------------------------------------
childSetEnabled("cmd_line_text_2", mCmdLine);
childSetEnabled("cmd_line_text_3", mCmdLine);
childSetEnabled("cmd_line_text_4", mCmdLine);
@@ -282,6 +363,7 @@ void LLPrefsAscentSys::refresh()
childSetEnabled("AscentCmdLineTP2", mCmdLine);
childSetEnabled("SinguCmdLineAway", mCmdLine);
+ //Security ----------------------------------------------------------------------------
childSetValue("AscentCmdLinePos", mCmdLinePos);
childSetValue("AscentCmdLineGround", mCmdLineGround);
childSetValue("AscentCmdLineHeight", mCmdLineHeight);
@@ -296,6 +378,24 @@ void LLPrefsAscentSys::refresh()
childSetValue("AscentCmdLineMapTo", mCmdLineMapTo);
childSetValue("AscentCmdLineTP2", mCmdLineTP2);
childSetValue("SinguCmdLineAway", mCmdLineAway);
+
+ //Build -------------------------------------------------------------------------------
+ childSetValue("EmeraldBuildPrefs_Alpha", mAlpha);
+ getChild("EmeraldBuildPrefs_Color")->setOriginal(mColor);
+ childSetValue("EmeraldBuildPrefs_FullBright", mFullBright);
+ childSetValue("EmeraldBuildPrefs_Glow", mGlow);
+ childSetValue("BuildPrefs_Material", mMaterial);
+ childSetValue("NextOwnerCopy", mNextCopy);
+ childSetValue("NextOwnerModify", mNextMod);
+ childSetValue("NextOwnerTransfer", mNextTrans);
+ childSetValue("EmeraldBuildPrefs_Phantom", mPhantom);
+ childSetValue("EmeraldBuildPrefs_Physical", mPhysical);
+ childSetValue("EmeraldBuildPrefs_Shiny", mShiny);
+ childSetValue("EmeraldBuildPrefs_Temporary", mTemporary);
+ childSetValue("EmeraldBuildPrefs_Texture", mTexture);
+ childSetValue("BuildPrefs_Xsize", mXsize);
+ childSetValue("BuildPrefs_Ysize", mYsize);
+ childSetValue("BuildPrefs_Zsize", mZsize);
}
void LLPrefsAscentSys::cancel()
@@ -348,6 +448,24 @@ void LLPrefsAscentSys::cancel()
gSavedSettings.setBOOL("DisableClickSit", mDisableClickSit);
gSavedSettings.setBOOL("AscentDisplayTotalScriptJumps", mDisplayScriptJumps);
gSavedSettings.setF32("Ascentnumscriptdiff", mNumScriptDiff);
+
+ //Build -------------------------------------------------------------------------------
+ gSavedSettings.setF32("EmeraldBuildPrefs_Alpha", mAlpha);
+ gSavedSettings.setColor4("EmeraldBuildPrefs_Color", mColor);
+ gSavedSettings.setBOOL("EmeraldBuildPrefs_FullBright", mFullBright);
+ gSavedSettings.setF32("EmeraldBuildPrefs_Glow", mGlow);
+ gSavedSettings.setString("BuildPrefs_Material", mMaterial);
+ gSavedSettings.setBOOL("NextOwnerCopy", mNextCopy);
+ gSavedSettings.setBOOL("NextOwnerModify", mNextMod);
+ gSavedSettings.setBOOL("NextOwnerTransfer", mNextTrans);
+ gSavedSettings.setBOOL("EmeraldBuildPrefs_Phantom", mPhantom);
+ gSavedSettings.setBOOL("EmeraldBuildPrefs_Physical", mPhysical);
+ gSavedSettings.setString("EmeraldBuildPrefs_Shiny", mShiny);
+ gSavedSettings.setBOOL("EmeraldBuildPrefs_Temporary", mTemporary);
+ gSavedSettings.setString("EmeraldBuildPrefs_Texture", mTexture);
+ gSavedSettings.setF32("BuildPrefs_Xsize", mXsize);
+ gSavedSettings.setF32("BuildPrefs_Ysize", mYsize);
+ gSavedSettings.setF32("BuildPrefs_Zsize", mZsize);
}
void LLPrefsAscentSys::apply()
diff --git a/indra/newview/ascentprefssys.h b/indra/newview/ascentprefssys.h
index c31751574..deb0b6a3f 100644
--- a/indra/newview/ascentprefssys.h
+++ b/indra/newview/ascentprefssys.h
@@ -34,6 +34,7 @@
#include "llpanel.h"
+#include "lldroptarget.h"
class LLPrefsAscentSys : public LLPanel
@@ -50,6 +51,8 @@ public:
protected:
static void onCommitCheckBox(LLUICtrl* ctrl, void* user_data);
static void onCommitCmdLine(LLUICtrl* ctrl, void* user_data);
+ static void onCommitComboBox(LLUICtrl* ctrl, void* user_data);
+ static void onCommitTexturePicker(LLUICtrl* ctrl, void* user_data);
//General -----------------------------------------------------------------------------
BOOL mDoubleClickTeleport;
@@ -100,6 +103,26 @@ protected:
BOOL mDisableClickSit;
BOOL mDisplayScriptJumps;
F32 mNumScriptDiff;
+ //Build -------------------------------------------------------------------------------
+ F32 mAlpha;
+ LLColor4 mColor;
+ BOOL mFullBright;
+ F32 mGlow;
+ std::string mMaterial;
+ BOOL mNextCopy;
+ BOOL mNextMod;
+ BOOL mNextTrans;
+ std::string mShiny;
+ BOOL mTemporary;
+ std::string mTexture;
+ BOOL mPhantom;
+ BOOL mPhysical;
+ F32 mXsize;
+ F32 mYsize;
+ F32 mZsize;
+private:
+ static LLPrefsAscentSys* sInst;
+ static void SinguBuildItemDrop(LLViewerInventoryItem* item);
};
#endif
diff --git a/indra/newview/importtracker.cpp b/indra/newview/importtracker.cpp
index af61eec5c..b926d7aac 100644
--- a/indra/newview/importtracker.cpp
+++ b/indra/newview/importtracker.cpp
@@ -7,31 +7,30 @@
#include "llviewerprecompiledheaders.h"
#include "llagent.h"
-#include "llframetimer.h"
-#include "llprimitive.h"
-#include "llviewercontrol.h"
+//#include "llprimitive.h"
+#include "llcontrol.h"
#include "llviewerobjectlist.h"
#include "llviewerregion.h"
-#include "llvolumemessage.h"
-#include "llchat.h"
+//#include "llvolumemessage.h"
+//#include "llchat.h"
#include "importtracker.h"
-#include "llsdserialize.h"
+//#include "llsdserialize.h"
#include "lltooldraganddrop.h"
-#include "llassetuploadresponders.h"
-#include "lleconomy.h"
+//#include "llassetuploadresponders.h"
+//#include "lleconomy.h"
-#include "llfloaterperms.h"
+//#include "llfloaterperms.h"
-#include "llviewertexteditor.h"
+//#include "llviewertexteditor.h"
-#include "jclslpreproc.h"
+//#include "jclslpreproc.h"
ImportTracker gImportTracker;
extern LLAgent gAgent;
-void ImportTracker::importer(std::string file, void (*callback)(LLViewerObject*))
+/*void ImportTracker::importer(std::string file, void (*callback)(LLViewerObject*))
{
mDownCallback = callback;
asset_insertions = 0;
@@ -71,7 +70,7 @@ void ImportTracker::import(LLSD& ls_data)
state = BUILDING;
//llinfos << "IMPORTED, BUILDING.." << llendl;
plywood_above_head();
-}
+}*/
void ImportTracker::expectRez()
{
@@ -80,7 +79,7 @@ void ImportTracker::expectRez()
//llinfos << "EXPECTING CUBE..." << llendl;
}
-void ImportTracker::clear()
+/*void ImportTracker::clear()
{
if(linkset.isDefined())lastrootid = linkset[0]["LocalID"].asInteger();
localids.clear();
@@ -88,7 +87,7 @@ void ImportTracker::clear()
state = IDLE;
finish();
}
-void cmdline_printchat(std::string message);
+void cmdline_printchat(std::string message);*/
LLViewerObject* find(U32 local)
{
S32 i;
@@ -104,7 +103,7 @@ LLViewerObject* find(U32 local)
}
return NULL;
}
-void ImportTracker::finish()
+/*void ImportTracker::finish()
{
if(asset_insertions == 0)
{
@@ -144,13 +143,13 @@ void ImportTracker::cleanUp()
}
}
else cleargroups();
-}
+}*/
void ImportTracker::get_update(S32 newid, BOOL justCreated, BOOL createSelected)
{
switch (state)
{
- //lgg crap
+ //lgg crap to change remaining prim parameters from the ascent system build preferences subtab
case WAND:
if(justCreated && createSelected)
{
@@ -165,14 +164,16 @@ void ImportTracker::get_update(S32 newid, BOOL justCreated, BOOL createSelected)
msg->nextBlockFast(_PREHASH_ObjectData);
msg->addU32Fast(_PREHASH_ObjectLocalID, (U32)newid);
msg->addStringFast(_PREHASH_MediaURL, NULL);
-
+//sets texture stuff
LLPrimitive obj;
obj.setNumTEs(U8(10));
S32 shinnyLevel = 0;
- if(gSavedSettings.getString("EmeraldBuildPrefs_Shiny")== "None") shinnyLevel = 0;
- if(gSavedSettings.getString("EmeraldBuildPrefs_Shiny")== "Low") shinnyLevel = 1;
- if(gSavedSettings.getString("EmeraldBuildPrefs_Shiny")== "Medium") shinnyLevel = 2;
- if(gSavedSettings.getString("EmeraldBuildPrefs_Shiny")== "High") shinnyLevel = 3;
+ static LLCachedControl sshinystr(gSavedSettings, "EmeraldBuildPrefs_Shiny");
+ std::string shinystr = sshinystr;
+ //if(shinystr == "None") shinnyLevel = 0; //We're already 0.
+ if(shinystr == "Low") shinnyLevel = 1;
+ else if(shinystr == "Medium") shinnyLevel = 2;
+ else if(shinystr == "High") shinnyLevel = 3;
for (int i = 0; i < 10; i++)
{
@@ -193,21 +194,21 @@ void ImportTracker::get_update(S32 newid, BOOL justCreated, BOOL createSelected)
obj.packTEMessage(gMessageSystem);
msg->sendReliable(gAgent.getRegion()->getHost());
-
+//sets some object parameters
msg->newMessage("ObjectFlagUpdate");
msg->nextBlockFast(_PREHASH_AgentData);
msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID() );
msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID());
msg->addU32Fast(_PREHASH_ObjectLocalID, (U32)newid );
msg->addBOOLFast(_PREHASH_UsePhysics, gSavedSettings.getBOOL("EmeraldBuildPrefs_Physical"));
- msg->addBOOL("IsTemporary", gSavedSettings.getBOOL("EmeraldBuildPrefs_Temporary"));
- msg->addBOOL("IsPhantom", gSavedSettings.getBOOL("EmeraldBuildPrefs_Phantom") );
+ msg->addBOOLFast(_PREHASH_IsTemporary, gSavedSettings.getBOOL("EmeraldBuildPrefs_Temporary"));
+ msg->addBOOLFast(_PREHASH_IsPhantom, gSavedSettings.getBOOL("EmeraldBuildPrefs_Phantom") );
msg->addBOOL("CastsShadows", true );
msg->sendReliable(gAgent.getRegion()->getHost());
if(gSavedSettings.getBOOL("EmeraldBuildPrefs_EmbedItem"))
{
- LLViewerInventoryItem* item = (LLViewerInventoryItem*)gInventory.getItem((LLUUID)gSavedSettings.getString("EmeraldBuildPrefs_Item"));
+ LLViewerInventoryItem* item = (LLViewerInventoryItem*)gInventory.getItem((LLUUID)gSavedPerAccountSettings.getString("EmeraldBuildPrefs_Item"));
LLViewerObject* objectp = find((U32)newid);
if(objectp)
if(item)
@@ -250,12 +251,11 @@ void ImportTracker::get_update(S32 newid, BOOL justCreated, BOOL createSelected)
flags |= PERM_TRANSFER;
}
msg->addU32Fast(_PREHASH_Mask, flags);
- msg->sendReliable(gAgent.getRegion()->getHost());
-
+ msg->sendReliable(gAgent.getRegion()->getHost());
//llinfos << "LGG SENDING CUBE TEXTURE.." << llendl;
}
break;
- case BUILDING:
+/* case BUILDING:
if (justCreated && (int)localids.size() < linkset.size())
{
@@ -298,10 +298,10 @@ void ImportTracker::get_update(S32 newid, BOOL justCreated, BOOL createSelected)
break;
case LINKING:
link();
- break;
+ break;*/
}
}
-struct InventoryImportInfo
+/*struct InventoryImportInfo
{
U32 localid;
LLAssetType::EType type;
@@ -427,8 +427,8 @@ public:
void fire(const LLUUID &inv_item)
{
S32 file_size;
- LLAPRFile infile ;
- infile.open(data->filename, LL_APR_RB, NULL, &file_size);
+ LLAPRFile infile;
+ infile.open(data->filename, LL_APR_RB, LLAPRFile::access_t(), &file_size);
if (infile.getFileHandle())
{
//cmdline_printchat("got file handle @ postinv");
@@ -445,7 +445,7 @@ public:
case LLAssetType::AT_NOTECARD:
//cmdline_printchat("case notecard @ postinv");
{
- /*LLViewerTextEditor* edit = new LLViewerTextEditor("",LLRect(0,0,0,0),S32_MAX,"");
+ *//*LLViewerTextEditor* edit = new LLViewerTextEditor("",LLRect(0,0,0,0),S32_MAX,"");
S32 size = gVFS->getSize(data->assetid, data->type);
U8* buffer = new U8[size];
gVFS->getData(data->assetid, data->type, buffer, 0, size);
@@ -461,7 +461,7 @@ public:
file.remove();
LLVFile newfile(gVFS, data->assetid, data->type, LLVFile::APPEND);
newfile.setMaxSize(size);
- newfile.write((const U8*)card.c_str(),size);*/
+ newfile.write((const U8*)card.c_str(),size);*//*
//FAIL.
@@ -484,14 +484,14 @@ public:
U8* buffer = new U8[size];
gVFS->getData(data->assetid, data->type, buffer, 0, size);
std::string script((char*)buffer);
- BOOL domono = JCLSLPreprocessor::mono_directive(script);
- /*if(script.find("//mono\n") != -1)
+ BOOL domono = FALSE;//Phox- this needs to be fixed when the preproc is added = JCLSLPreprocessor::mono_directive(script);
+ *//*if(script.find("//mono\n") != -1)
{
domono = TRUE;
}else if(script.find("//lsl2\n") != -1)
{
domono = FALSE;
- }*/
+ }*//*
delete buffer;
buffer = 0;
body["target"] = (domono == TRUE) ? "mono" : "lsl2";
@@ -592,7 +592,7 @@ void ImportTracker::send_inventory(LLSD& prim)
std::string url = gAgent.getRegion()->getCapability("NewFileAgentInventory");
S32 file_size;
LLAPRFile infile ;
- infile.open(data->filename, LL_APR_RB, NULL, &file_size);
+ infile.open(data->filename, LL_APR_RB, LLAPRFile::access_t(), &file_size);
if (infile.getFileHandle())
{
//cmdline_printchat("got file handle");
@@ -625,8 +625,8 @@ void ImportTracker::send_inventory(LLSD& prim)
//cmdline_printchat("case cloth/bodypart");
{
S32 file_size;
- LLAPRFile infile ;
- infile.open(data->filename, LL_APR_RB, NULL, &file_size);
+ LLAPRFile infile;
+ infile.open(data->filename, LL_APR_RB, LLAPRFile::access_t(), &file_size);
if (infile.getFileHandle())
{
//cmdline_printchat("got file handle @ cloth");
@@ -716,7 +716,7 @@ void ImportTracker::send_properties(LLSD& prim, int counter)
msg->addU8Fast(_PREHASH_Field, PERM_NEXT_OWNER);
msg->addBOOLFast(_PREHASH_Set, PERM_ITEM_UNRESTRICTED);
msg->addU32Fast(_PREHASH_Mask, U32(atoi(prim["next_owner_mask"].asString().c_str())));
- /*msg->sendReliable(gAgent.getRegion()->getHost());
+ *//*msg->sendReliable(gAgent.getRegion()->getHost());
//LLMessageSystem* msg = gMessageSystem;
msg->newMessageFast(_PREHASH_ObjectPermissions);
@@ -724,13 +724,13 @@ void ImportTracker::send_properties(LLSD& prim, int counter)
msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID());
msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID());
msg->nextBlockFast(_PREHASH_HeaderData);
- msg->addBOOLFast(_PREHASH_Override, data->mOverride);*/
+ msg->addBOOLFast(_PREHASH_Override, data->mOverride);*//*
msg->nextBlockFast(_PREHASH_ObjectData);
msg->addU32Fast(_PREHASH_ObjectLocalID, prim["LocalID"].asInteger());
msg->addU8Fast(_PREHASH_Field, PERM_GROUP);
msg->addBOOLFast(_PREHASH_Set, PERM_ITEM_UNRESTRICTED);
msg->addU32Fast(_PREHASH_Mask, U32(atoi(prim["group_mask"].asString().c_str())));
- /*msg->sendReliable(gAgent.getRegion()->getHost());
+ *//*msg->sendReliable(gAgent.getRegion()->getHost());
//LLMessageSystem* msg = gMessageSystem;
msg->newMessageFast(_PREHASH_ObjectPermissions);
@@ -738,7 +738,7 @@ void ImportTracker::send_properties(LLSD& prim, int counter)
msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID());
msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID());
msg->nextBlockFast(_PREHASH_HeaderData);
- msg->addBOOLFast(_PREHASH_Override, data->mOverride);*/
+ msg->addBOOLFast(_PREHASH_Override, data->mOverride);*//*
msg->nextBlockFast(_PREHASH_ObjectData);
msg->addU32Fast(_PREHASH_ObjectLocalID, prim["LocalID"].asInteger());
msg->addU8Fast(_PREHASH_Field, PERM_EVERYONE);
@@ -1119,4 +1119,4 @@ void ImportTracker::plywood_above_head()
msg->addUUIDFast(_PREHASH_RayTargetID, LLUUID::null);
msg->sendReliable(region->getHost());
}
-
+*/
diff --git a/indra/newview/importtracker.h b/indra/newview/importtracker.h
index c9a7fb4e5..73a2d3dc5 100644
--- a/indra/newview/importtracker.h
+++ b/indra/newview/importtracker.h
@@ -7,38 +7,38 @@
#ifndef IMPORTTRACKER_H
#define IMPORTTRACKER_H
-#include "llviewerobject.h"
+//#include "llviewerobject.h"
class ImportTracker
{
public:
- enum ImportState { IDLE, WAND, BUILDING, LINKING, POSITIONING };
+ enum ImportState { IDLE, WAND/*, BUILDING, LINKING, POSITIONING*/ };
ImportTracker()
: numberExpected(0),
- state(IDLE),
+ state(IDLE)/*,
last(0),
groupcounter(0),
- updated(0)
+ updated(0)*/
{ }
- ImportTracker(LLSD &data) { state = IDLE; linkset = data; numberExpected=0;}
- ~ImportTracker() { localids.clear(); linkset.clear(); }
+ ImportTracker(LLSD &data) { state = IDLE; /*linkset = data;*/ numberExpected=0;}
+ ~ImportTracker() { /*localids.clear(); linkset.clear();*/ }
//Chalice - support import of linkset groups
- void importer(std::string file, void (*callback)(LLViewerObject*));
- void cleargroups();
- void import(LLSD &ls_data);
+ //void importer(std::string file, void (*callback)(LLViewerObject*));
+ //void cleargroups();
+ //void import(LLSD &ls_data);
void expectRez();
- void clear();
- void finish();
- void cleanUp();
+ //void clear();
+ //void finish();
+ //void cleanUp();
void get_update(S32 newid, BOOL justCreated = false, BOOL createSelected = false);
const int getState() { return state; }
- U32 asset_insertions;
+/* U32 asset_insertions;
protected:
void send_inventory(LLSD &prim);
@@ -52,11 +52,11 @@ class ImportTracker
void wear(LLSD &prim);
void position(LLSD &prim);
void plywood_above_head();
-
+*/
private:
int numberExpected;
int state;
- S32 last;
+ /* S32 last;
LLVector3 root;
LLQuaternion rootrot;
std::list localids;
@@ -71,7 +71,7 @@ class ImportTracker
std::string asset_dir;
void (*mDownCallback)(LLViewerObject*);
- U32 lastrootid;
+ U32 lastrootid;*/
};
extern ImportTracker gImportTracker;
diff --git a/indra/newview/lldroptarget.cpp b/indra/newview/lldroptarget.cpp
new file mode 100644
index 000000000..f7aaec4ad
--- /dev/null
+++ b/indra/newview/lldroptarget.cpp
@@ -0,0 +1,81 @@
+/**
+ * @file lldroptarget.cpp
+ * @Class LLDropTarget
+ *
+ * This handy class is a simple way to drop something on another
+ * view. It handles drop events, always setting itself to the size of
+ * its parent.
+ *
+ * Altered to support a callback so it can return the item
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ * Pulled into its own file for more widespread use
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ * $LicenseInfo:firstyear=2004&license=viewergpl$
+ *
+ * Copyright (c) 2004-2009, Linden Research, Inc.
+ *
+ * Second Life Viewer Source Code
+ * The source code in this file ("Source Code") is provided by Linden Lab
+ * to you under the terms of the GNU General Public License, version 2.0
+ * ("GPL"), unless you have obtained a separate licensing agreement
+ * ("Other License"), formally executed by you and Linden Lab. Terms of
+ * the GPL can be found in doc/GPL-license.txt in this distribution, or
+ * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ *
+ * There are special exceptions to the terms and conditions of the GPL as
+ * it is applied to this Source Code. View the full text of the exception
+ * in the file doc/FLOSS-exception.txt in this software distribution, or
+ * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ *
+ * By copying, modifying or distributing this software, you acknowledge
+ * that you have read and understood your obligations described above,
+ * and agree to abide by those obligations.
+ *
+ * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
+ * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
+ * COMPLETENESS OR PERFORMANCE.
+ * $/LicenseInfo$
+ */
+
+#include "lldroptarget.h"
+#include "lltooldraganddrop.h"
+#include "llinventorymodel.h"
+
+LLDropTarget::LLDropTarget(const std::string& name, const LLRect& rect, const LLUUID& agent_id) :
+ LLView(name, rect, NOT_MOUSE_OPAQUE, FOLLOWS_ALL),
+ mAgentID(agent_id),
+ mDownCallback(NULL)
+{
+}
+
+LLDropTarget::LLDropTarget(const std::string& name, const LLRect& rect, void (*callback)(LLViewerInventoryItem*)) :
+ LLView(name, rect, NOT_MOUSE_OPAQUE, FOLLOWS_ALL),
+ mDownCallback(callback)
+{
+}
+
+LLDropTarget::~LLDropTarget()
+{
+}
+
+void LLDropTarget::doDrop(EDragAndDropType cargo_type, void* cargo_data)
+{
+ llinfos << "LLDropTarget::doDrop()" << llendl;
+}
+
+BOOL LLDropTarget::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, EDragAndDropType cargo_type, void* cargo_data, EAcceptance* accept, std::string& tooltip_msg)
+{
+ if(!getParent()) return false;
+ if(!mDownCallback) LLToolDragAndDrop::handleGiveDragAndDrop(mAgentID, LLUUID::null, drop, cargo_type, cargo_data, accept);
+ else
+ {
+ LLViewerInventoryItem* inv_item = (LLViewerInventoryItem*)cargo_data;
+ if (gInventory.getItem(inv_item->getUUID()))
+ {
+ *accept = ACCEPT_YES_COPY_SINGLE;
+ if (drop) mDownCallback(inv_item);
+ }
+ else *accept = ACCEPT_NO;
+ }
+ return true;
+}
diff --git a/indra/newview/lldroptarget.h b/indra/newview/lldroptarget.h
new file mode 100644
index 000000000..2dd421239
--- /dev/null
+++ b/indra/newview/lldroptarget.h
@@ -0,0 +1,64 @@
+/**
+ * @file lldroptarget.h
+ * @Class LLDropTarget
+ *
+ * This handy class is a simple way to drop something on another
+ * view. It handles drop events, always setting itself to the size of
+ * its parent.
+ *
+ * Altered to support a callback so it can return the item
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ * Pulled into its own file for more widespread use
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ * $LicenseInfo:firstyear=2004&license=viewergpl$
+ *
+ * Copyright (c) 2004-2009, Linden Research, Inc.
+ *
+ * Second Life Viewer Source Code
+ * The source code in this file ("Source Code") is provided by Linden Lab
+ * to you under the terms of the GNU General Public License, version 2.0
+ * ("GPL"), unless you have obtained a separate licensing agreement
+ * ("Other License"), formally executed by you and Linden Lab. Terms of
+ * the GPL can be found in doc/GPL-license.txt in this distribution, or
+ * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ *
+ * There are special exceptions to the terms and conditions of the GPL as
+ * it is applied to this Source Code. View the full text of the exception
+ * in the file doc/FLOSS-exception.txt in this software distribution, or
+ * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ *
+ * By copying, modifying or distributing this software, you acknowledge
+ * that you have read and understood your obligations described above,
+ * and agree to abide by those obligations.
+ *
+ * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
+ * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
+ * COMPLETENESS OR PERFORMANCE.
+ * $/LicenseInfo$
+ */
+
+#ifndef LLDROPTARGET_H
+#define LLDROPTARGET_H
+
+#include "stdtypes.h"
+#include "llview.h"
+class LLViewerInventoryItem;
+class LLDropTarget : public LLView
+{
+public:
+ LLDropTarget(const std::string& name, const LLRect& rect, void (*callback)(LLViewerInventoryItem*));
+ LLDropTarget(const std::string& name, const LLRect& rect, const LLUUID& agent_id);
+ ~LLDropTarget();
+
+ void doDrop(EDragAndDropType cargo_type, void* cargo_data);
+
+ //
+ // LLView functionality
+ virtual BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, EDragAndDropType cargo_type, void* cargo_data, EAcceptance* accept, std::string& tooltip_msg);
+ void setAgentID(const LLUUID &agent_id){ mAgentID = agent_id;}
+protected:
+ LLUUID mAgentID;
+ void (*mDownCallback)(LLViewerInventoryItem*);
+};
+
+#endif // LLDROPTARGET_H
diff --git a/indra/newview/llpanelavatar.cpp b/indra/newview/llpanelavatar.cpp
index 4e922cc34..6d21cab60 100644
--- a/indra/newview/llpanelavatar.cpp
+++ b/indra/newview/llpanelavatar.cpp
@@ -85,6 +85,7 @@
#include "lluictrlfactory.h"
#include "llviewermenu.h"
#include "llavatarnamecache.h"
+#include "lldroptarget.h"
#include
@@ -105,68 +106,6 @@ extern void callback_invite_to_group(LLUUID group_id, void *user_data);
extern void handle_lure(const LLUUID& invitee);
extern void handle_pay_by_id(const LLUUID& payee);
-//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-// Class LLDropTarget
-//
-// This handy class is a simple way to drop something on another
-// view. It handles drop events, always setting itself to the size of
-// its parent.
-//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-class LLDropTarget : public LLView
-{
-public:
- LLDropTarget(const std::string& name, const LLRect& rect, const LLUUID& agent_id);
- ~LLDropTarget();
-
- void doDrop(EDragAndDropType cargo_type, void* cargo_data);
-
- //
- // LLView functionality
- virtual BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop,
- EDragAndDropType cargo_type,
- void* cargo_data,
- EAcceptance* accept,
- std::string& tooltip_msg);
- void setAgentID(const LLUUID &agent_id) { mAgentID = agent_id; }
-protected:
- LLUUID mAgentID;
-};
-
-
-LLDropTarget::LLDropTarget(const std::string& name, const LLRect& rect,
- const LLUUID& agent_id) :
- LLView(name, rect, NOT_MOUSE_OPAQUE, FOLLOWS_ALL),
- mAgentID(agent_id)
-{
-}
-
-LLDropTarget::~LLDropTarget()
-{
-}
-
-void LLDropTarget::doDrop(EDragAndDropType cargo_type, void* cargo_data)
-{
- llinfos << "LLDropTarget::doDrop()" << llendl;
-}
-
-BOOL LLDropTarget::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop,
- EDragAndDropType cargo_type,
- void* cargo_data,
- EAcceptance* accept,
- std::string& tooltip_msg)
-{
- if(getParent())
- {
- LLToolDragAndDrop::handleGiveDragAndDrop(mAgentID, LLUUID::null, drop,
- cargo_type, cargo_data, accept);
-
- return TRUE;
- }
-
- return FALSE;
-}
-
//-----------------------------------------------------------------------------
// LLPanelAvatarTab()
diff --git a/indra/newview/lltoolplacer.cpp b/indra/newview/lltoolplacer.cpp
index 6980c8b3b..f9b5e4541 100644
--- a/indra/newview/lltoolplacer.cpp
+++ b/indra/newview/lltoolplacer.cpp
@@ -72,6 +72,7 @@
#include "llparcel.h" // always rez
#include "llviewerparcelmgr.h" // always rez
//
+#include "importtracker.h"
// [RLVa:KB]
#include "rlvhandler.h"
@@ -222,8 +223,19 @@ BOOL LLToolPlacer::addObject( LLPCode pcode, S32 x, S32 y, U8 use_physics )
// Set params for new object based on its PCode.
LLQuaternion rotation;
- LLVector3 scale = DEFAULT_OBJECT_SCALE;
+ LLVector3 scale = LLVector3(
+ gSavedSettings.getF32("BuildPrefs_Xsize"),
+ gSavedSettings.getF32("BuildPrefs_Ysize"),
+ gSavedSettings.getF32("BuildPrefs_Zsize"));
+
U8 material = LL_MCODE_WOOD;
+ if(gSavedSettings.getString("BuildPrefs_Material")== "Stone") material = LL_MCODE_STONE;
+ else if(gSavedSettings.getString("BuildPrefs_Material")== "Metal") material = LL_MCODE_METAL;
+ //if(gSavedSettings.getString("BuildPrefs_Material")== "Wood") material = LL_MCODE_WOOD; redundant
+ else if(gSavedSettings.getString("BuildPrefs_Material")== "Flesh") material = LL_MCODE_FLESH;
+ else if(gSavedSettings.getString("BuildPrefs_Material")== "Rubber") material = LL_MCODE_RUBBER;
+ else if(gSavedSettings.getString("BuildPrefs_Material")== "Plastic") material = LL_MCODE_PLASTIC;
+
BOOL create_selected = FALSE;
LLVolumeParams volume_params;
@@ -465,7 +477,8 @@ BOOL LLToolPlacer::addObject( LLPCode pcode, S32 x, S32 y, U8 use_physics )
// Pack in name value pairs
gMessageSystem->sendReliable(regionp->getHost());
-
+ //Actually call expectRez so that importtracker can do its thing
+ gImportTracker.expectRez();
// Spawns a message, so must be after above send
if (create_selected)
{
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index d30b40ff8..f4cad90e6 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -2261,7 +2261,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)
position,
false);
}
- LLGiveInventory::doGiveInventoryItem(from_id, item);
+ LLGiveInventory::doGiveInventoryItem(from_id, item, computed_session_id);
}
}
}
diff --git a/indra/newview/llviewerobjectlist.cpp b/indra/newview/llviewerobjectlist.cpp
index edbc688d9..758a8c3e9 100644
--- a/indra/newview/llviewerobjectlist.cpp
+++ b/indra/newview/llviewerobjectlist.cpp
@@ -87,6 +87,9 @@
extern F32 gMinObjectDistance;
extern BOOL gAnimateTextures;
+#include "importtracker.h"
+extern ImportTracker gImportTracker;
+
void dialog_refresh_all();
#define CULL_VIS
@@ -271,6 +274,15 @@ void LLViewerObjectList::processUpdateCore(LLViewerObject* objectp,
// so that the drawable parent is set properly
findOrphans(objectp, msg->getSenderIP(), msg->getSenderPort());
+ if(just_created && objectp &&
+ (gImportTracker.getState() == ImportTracker::WAND /*||
+ gImportTracker.getState() == ImportTracker::BUILDING*/) &&
+ objectp->mCreateSelected && objectp->permYouOwner() &&
+ objectp->permModify() && objectp->permCopy() && objectp->permTransfer())
+ {
+ gImportTracker.get_update(objectp->mLocalID, just_created, objectp->mCreateSelected);
+ }
+
// If we're just wandering around, don't create new objects selected.
if (just_created
&& update_type != OUT_TERSE_IMPROVED
diff --git a/indra/newview/skins/default/xui/en-us/panel_preferences_ascent_chat.xml b/indra/newview/skins/default/xui/en-us/panel_preferences_ascent_chat.xml
index a93176519..f46679ec9 100644
--- a/indra/newview/skins/default/xui/en-us/panel_preferences_ascent_chat.xml
+++ b/indra/newview/skins/default/xui/en-us/panel_preferences_ascent_chat.xml
@@ -55,8 +55,10 @@
-
- Response Text:
+
+
+ Drop item here (Currently: NONE)
+ Response Text:
#f for user's first name, #l for last name,
diff --git a/indra/newview/skins/default/xui/en-us/panel_preferences_ascent_system.xml b/indra/newview/skins/default/xui/en-us/panel_preferences_ascent_system.xml
index d6c8cf2ec..62ae9b89c 100644
--- a/indra/newview/skins/default/xui/en-us/panel_preferences_ascent_system.xml
+++ b/indra/newview/skins/default/xui/en-us/panel_preferences_ascent_system.xml
@@ -98,43 +98,44 @@
-
-
-
-
-
-
-
-
-
-
-
- Stone
- Metal
- Glass
- Wood
- Flesh
- Plastic
- Rubber
+
+ Allow next owner:
+
+
+
+
+
+
+
+
+ Stone
+ Metal
+ Glass
+ Wood
+ Flesh
+ Plastic
+ Rubber
-
-
-
-
- Shine
-None
- Low
-Medium
- High
-
-
-
- Drop inventory item here
-
- Currently set to:
- ITEM
-
-
+
+
+
+
+ Shine
+
+ None
+ Low
+ Medium
+ High
+
+
+
+ Drop inventory item here
+
+ Currently set to:
+ ITEM
+
+
+
diff --git a/scripts/messages/message_template.msg b/scripts/messages/message_template.msg
index 3e748330d..2ffe8a79a 100644
--- a/scripts/messages/message_template.msg
+++ b/scripts/messages/message_template.msg
@@ -2061,7 +2061,7 @@ version 2.0
{ IsPhantom BOOL }
{ CastsShadows BOOL }
}
- {
+ {
ExtraPhysics Variable
{ PhysicsShapeType U8 }
{ Density F32 }
@@ -2975,7 +2975,7 @@ version 2.0
{ BillableFactor F32 }
{ ObjectBonusFactor F32 }
{ WaterHeight F32 }
- { TerrainRaiseLimit F32 }
+ { TerrainRaiseLimit F32 }
{ TerrainLowerLimit F32 }
{ PricePerMeter S32 }
{ RedirectGridX S32 }
@@ -4251,6 +4251,10 @@ version 2.0
Buttons Variable
{ ButtonLabel Variable 1 }
}
+ {
+ OwnerData Variable
+ { OwnerID LLUUID }
+ }
}